当前位置: 首页 > 面试题库 >

支持goto的Java编译器或JVM语言?

戚飞虎
2023-03-14
问题内容

是否存在允许我goto用作有效构造的Java编译器标志?如果没有,是否有任何支持的第三方Java编译器goto?如果不是,是否有其他支持的语言goto同时可以轻松调用用Java编写的方法?

原因是我正在编写一种用Java实现的语言。Gotos是我语言的重要组成部分;我希望能够将其编译为本机或JVM字节码,尽管它必须能够轻松使用Java库(即C支持goto,但要使用它,我必须用C重写库)。

我想生成C或Java等源文件,而不是字节码或机器代码。我正在使用第三方编译器来做到这一点。


问题答案:

JVM在字节码级别支持goto。如果您使用自己的语言,则应使用BCEL或ASM之类的库,而不要生成.java文件。



 类似资料:
  • 我想你们大多数人都知道在Java语言中是一个保留的关键字,但实际上并没有被使用。你们可能也知道是一个Java虚拟机(JVM)操作码。我认为Java、Scala和静态编程语言的所有复杂的控制流结构都是在JVM级别上使用和、、等的某种组合来实现的。 查看JVM规范https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-6.html#jvms-6.

  • 问题内容: 我想将我的.java(几个)编译成至少与Java 兼容的,较新的(最好是较新的)版本。(我有) 问题答案: 是的,您可以在编译时设置编译器的版本。并将您的Java代码编译为Java的旧版本。 从Oracle文章:http : //docs.oracle.com/javase/1.5.0/docs/tooldocs/windows/javac.html 交叉编译示例 在这里,我们使用ja

  • 问题内容: 我正在尝试使用Python 2.5.1支持来编译Vim 7.2,但是遇到了一些麻烦。 我运行configure,看起来好像按预期工作 我可以看到对更改所做的工作符合我的预期(最终的编译版本具有新功能),并且可以正确设置Python 正在检查python …(已缓存)//python/2.5/bin/python正在检查Python版本…(已缓存)2.5正在检查Python是否为1.4或

  • 问题内容: 我已经反编译了一个jar(可能出于调试目的)并希望重新编译它。 我已经使用了JAD和JD,并且由于goto指令而无法编译 例如 有没有简单的方法(或任何方法)来重新编译它?(除了手动重构和删除的外) 问题答案: 不,没有。在您的情况下,JD和JAD都无法正确地反编译类文件。“ goto”语句是有关实际程序流程的提示。 您可以直接与Java Decompiler团队联系,发送一个类文件,

  • 问题内容: 我正在尝试更好地理解它们之间的区别。我在网上找到了很多解释,但它们倾向于抽象的差异,而不是实际的含义。 我的大部分编程经验都来自CPython(动态的,解释的)和Java(静态的,编译的)。但是,我知道还有其他种类的解释和编译语言。除了可以从以编译语言编写的程序中分发可执行文件这一事实之外,每种类型是否有优点/缺点?通常,我听到人们争辩说解释语言可以交互使用,但是我相信编译语言也可以具

  • Atom Eclipse Emacs NetBeans Sublime Text TypeScript Builder Vim Visual Studio Visual Studio Code WebStorm Atom-TypeScript,由TypeStrong开发的针对Atom的TypeScript语言服务。 Eclipse TypeScript 插件,由Palantir开发的Eclipse