java - 编程编译器

标签 java compiler-construction

<分区>

我正在寻找一个供个人/ friend 使用的小型编译器。只是一些基本的输入输出控制台功能。还有所有其他的东西,比如字符串、整数、 float 、字符、 boolean 值等等。但是我想用java来做这个。我知道你要说什么,我应该使用一些实用且快速的东西,比如 C。但我也想在其中加入一点 OOP。现在,您一定在想,C++。我有一个问题。它完成的程序是.exe 文件。现在我知道您不需要安装任何东西来运行 .exe,而要运行 .jar(我想要的文件),您需要安装 JVM。但是我有一些使用 Apple 计算机的 friend ,而我没有 Apple,所以我无法为这些人提供另一个用 Obj-c 编写的版本。您可以在 Apple 上获得 JVM,如果需要,甚至可以在 linux 上获得,这将是一个跨平台。我知道它会更慢,但它只是一种小语言,而且差异是如此之小,与第一个计算器之类的东西相比,只需要几分钟。任何和所有的帮助都会被理解,除非帮助是“获得生活”或“学习 C”之类的东西。我最擅长Java,喜欢跨平台,所以如果你提出任何不是java的东西,我会很生气。谢谢!

编辑:没有多少人能看到我问的问题,所以又来了。我想知道如何在 java 中制作 A 编译器。就是这样。

最佳答案

查看这些教程/链接:

如果你想创建一个编译器来编译你自己的语言,你必须做更多的工作然后创建一个编译器。您需要语言语法、堆、堆栈、助记符、操作码、调试器等,最后是编译器

但是,如果您想为 Java 语言创建自己的自定义编译器,请参阅:

应该这样做。

您可以查看字节码工程库 (BCEL) 以及 Findbugs(它必须读取/理解类文件)以获取一些灵感。

编辑:

这是另一个类似的问题,有一些很好的答案:Learning to write a compiler

关于java - 编程编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11990602/

相关文章:

java - 对值 1 到 n 的一系列 n^n 求和且不会溢出?只需要答案的最后一位数字

java - java中 "It is impossible to recover from errors"是什么意思?

c++ - C++ 的最佳 GUI 编译器

c - 为c设置netbeans

c# - 带有非常量表达式的 Switch 语句 - 扩展 C#/IDE 能力

c++ - g++ 无匹配函数调用错误

java - 使用 Java 中的 Google Translate V2 API 客户端库发送翻译请求

java - 如何在具有周围建议的构造函数上应用切入点?

java - 使用 Java Spark mongodb 数据

c - 如何从头开始编写交叉编译器?