背景: - 有表达编程语言有效词典和句法的形式语言 - 可以使用某些工具(例如 LEX 和 YACC)将此类表示(例如正则表达式和上下文无关语法)自动编译为某些编程语言的词典/语法分析器
问题: - 是否有用于定义编程语言语义的正式语言? - 是否有编译器可以根据这些形式语言自动生成语义分析器的代码? - 有关源代码语义分析的任何资源可供阅读?
注意事项: - 你可能会觉得我的问题不切实际,没关系……我是编译器的新手? - 通过语义分析,我的意思是从源代码中收集必要的信息,用于代码优化和生成的下一步……这应该包括类型/边界检查……等等
我希望我说清楚了 非常感谢
最佳答案
编程语言语义有很多形式化语言 - 查看 wikipedia entry谷歌的更多条款。我做了少量 Z在我早期的职业生涯中(形式化方法 wiki 的链接是另一个可能开始探索的地方)。我建议询问 lambda the ultimate论坛,因为那里的人使用其中的一些,并且可以建议在您想到的任何用例中使用什么; this paper似乎与您在生成编译器方面的要求有些相关 - 您需要语言的语义和目标机器的描述来创建编译器。
关于compiler-construction - 语义分析语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1417120/