【发布时间】:2013-12-22 04:27:16
【问题描述】:
我正在尝试使用手工编译器实现外部 DSL。我已经完成了词法分析和解析,但是目前我在从单独的文件(即继承)中解析符号方面迷路了。
我已尝试搜索此内容,但没有发现与编译器级别的处理有关。然而,我偶然发现了目标文件、链接器和加载器,但在进一步的研究中,它们似乎是在编译之后而不是在编译期间发挥作用的。
感谢任何可以提供帮助的人。
【问题讨论】:
标签: java scala compiler-construction
我正在尝试使用手工编译器实现外部 DSL。我已经完成了词法分析和解析,但是目前我在从单独的文件(即继承)中解析符号方面迷路了。
我已尝试搜索此内容,但没有发现与编译器级别的处理有关。然而,我偶然发现了目标文件、链接器和加载器,但在进一步的研究中,它们似乎是在编译之后而不是在编译期间发挥作用的。
感谢任何可以提供帮助的人。
【问题讨论】:
标签: java scala compiler-construction
这在很大程度上取决于您的语言的性质。
如果 DSL 中的代码总量很小,第三种选择就是加载并解析所有代码,然后一次性对整个代码进行符号解析传递。
【讨论】:
MyClass 并且它在 package com.me.mypackage 中,那么 Java 会查找文件 [root]/com/me/mypackage/MyClass.class。