哪个对编译器设计有更好的应用?
Which has a better application for compiler design?
正如我们大多数人所知,创建编译器总是一项艰巨的任务。我确实想知道哪个库有更好的应用程序,Java 或 C。我在这里看到的问题是 Java 与 C 相比要长得多,但有更多的控制自由。 C 在编译时更短并且可能更快,但它不允许 AS 太多控制。大家觉得哪个应用比较好呢?
构建编译器主要需要的算法和数据结构不是两种语言提供的标准库的原生算法和数据结构:
- 词位
- 通过将许多正则表达式组合成多出口状态机来进行词法提取
- 词位流
- 抽象语法树
- 用于检查语法和构建 AST 的解析器
- 控制流程图
- 控制流程构建
- ...还有很多...
几乎要构建一个编译器,您最终会将所有这些数据类型定义为结构或对象,然后手写代码来实现这些想法。
因此,C 或 Java 都不 "easier" 用于此任务。
小心点,C 版本可能比等效的 Java 版本更快。
如果你真的想快速编写一个编译器,你需要找到一个工具或框架为你提供这些结构和算法such as our DMS Software Reengineering Toolkit,这样你就不必全部发明它们。
正如我们大多数人所知,创建编译器总是一项艰巨的任务。我确实想知道哪个库有更好的应用程序,Java 或 C。我在这里看到的问题是 Java 与 C 相比要长得多,但有更多的控制自由。 C 在编译时更短并且可能更快,但它不允许 AS 太多控制。大家觉得哪个应用比较好呢?
构建编译器主要需要的算法和数据结构不是两种语言提供的标准库的原生算法和数据结构:
- 词位
- 通过将许多正则表达式组合成多出口状态机来进行词法提取
- 词位流
- 抽象语法树
- 用于检查语法和构建 AST 的解析器
- 控制流程图
- 控制流程构建
- ...还有很多...
几乎要构建一个编译器,您最终会将所有这些数据类型定义为结构或对象,然后手写代码来实现这些想法。
因此,C 或 Java 都不 "easier" 用于此任务。
小心点,C 版本可能比等效的 Java 版本更快。
如果你真的想快速编写一个编译器,你需要找到一个工具或框架为你提供这些结构和算法such as our DMS Software Reengineering Toolkit,这样你就不必全部发明它们。