gpt4 book ai didi

java - 语义分析时如何处理多个源文件?

转载 作者:行者123 更新时间:2023-11-30 04:05:57 25 4
gpt4 key购买 nike

我正在尝试使用手工编译器来实现外部 DSL。我已经完成了词法分析和解析,但是目前我在解析来自单独文件的符号(即继承)方面迷失了方向。

我尝试搜索此内容,但没有找到与编译器级别的处理相关的内容。然而,我偶然发现了目标文件、链接器和加载器,但经过进一步研究,它们似乎在编译后而不是编译期间发挥作用。

感谢任何可以提供帮助的人。

最佳答案

这在很大程度上取决于您的语言的性质。

  • 如果您是 C 语言使用者,则拥有定义共享符号的头文件,并且在每个使用该头的地方 #include 头(将头重新编译为该文件的一部分)。
  • 如果您喜欢 Java,则可以使用标准命名约定和包/目录层次结构来定位符号。
  • 如果你是类似 Javascript 的人,你就不会在编译时解析任何符号;如果使用符号时 undefined symbol ,则只会抛出错误。 (对于小型脚本语言,这通常是最简单的答案)

如果 DSL 中的代码总量很小,第三种选择是加载并解析所有代码,然后立即对整个代码进行符号解析。

关于java - 语义分析时如何处理多个源文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20726260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com