compiler-construction - 语义分析语言?

标签 compiler-construction automation static-analysis semantics

背景: - 有表达编程语言有效词典和句法的形式语言 - 可以使用某些工具(例如 LEX 和 YACC)将此类表示(例如正则表达式和上下文无关语法)自动编译为某些编程语言的词典/语法分析器

问题: - 是否有用于定义编程语言语义的正式语言? - 是否有编译器可以根据这些形式语言自动生成语义分析器的代码? - 有关源代码语义分析的任何资源可供阅读?

注意事项: - 你可能会觉得我的问题不切实际,没关系……我是编译器的新手? - 通过语义分析,我的意思是从源代码中收集必要的信息,用于代码优化和生成的下一步……这应该包括类型/边界检查……等等

我希望我说清楚了 非常感谢

最佳答案

编程语言语义有很多形式化语言 - 查看 wikipedia entry谷歌的更多条款。我做了少量 Z在我早期的职业生涯中(形式化方法 wiki 的链接是另一个可能开始探索的地方)。我建议询问 lambda the ultimate论坛,因为那里的人使用其中的一些,并且可以建议在您想到的任何用例中使用什么; this paper似乎与您在生成编译器方面的要求有些相关 - 您需要语言的语义和目标机器的描述来创建编译器。

关于compiler-construction - 语义分析语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1417120/

相关文章:

compiler-construction - 编译器 : Register Allocation Against Complex Branching/Jumps

css - 自动生成 web-/iconfont

java - 如何使用带有java的sikuli点击在屏幕上多次出现的某些图像?

c - GCC 预处理器 PLUS 静态分析?

c++ - 如果未检查函数返回值,如何在 C++(17) 中强制出现编译错误?理想情况下通过类型系统

c++ - 在任何函数外部声明的可变大小类型

compiler-construction - 适用于ARM处理器的Scheme编译器

javascript - ChickenScheme Spock JavaScript 编译器安装问题

testing - Ranorex 8.3.0,当尝试创建新记录时,它不显示选择网络、桌面或移动应用程序的选项

c - 头文件中的函数原型(prototype)与定义不匹配,如何捕获?