java - 编译器翻译代码的形式化符号

标签 java compiler-construction dsl formal-languages

我正在设计一个转换为 Java 源代码的 DSL。它们的符号是否通常用于指定编译器的语义/翻译?

例子:

数字用户线:

a = b = c = 4

翻译成:

Integer temp0 = 4;
Integer a = temp0;
Integer b = temp0;
Integer c = temp0;

提前致谢

杰伦

最佳答案

模式匹配语言可用于形式化小树转换。有关此类 DSL 的示例,请查看 Nanopass framework .一种更通用的方法是将树转换视为一种术语重写的形式。

这样的转换足够正式,例如,它们可以被证明,如 CompCert .

关于java - 编译器翻译代码的形式化符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22127067/

相关文章:

haskell - 计算类型索引的自由 monad 的细节

java - 访问android项目中的非android xml文件

java - eclipse 警告 : Type safety (Java Generics)

image-processing - 用于 Clojure 图像合成的 DSL

compiler-construction - 为什么编译器更喜欢词法作用域?

c - 跨平台定位crti

haskell - 在存在递归绑定(bind)器的情况下,将 PHOAS 变量的正负事件分开

java - 人脸识别中的主成分分析-python/java

java - servlet 和 JSP 的使用

compiler-construction - 计算一组指令的依赖图