我去年参加了编译课程。现在我想学习,如何编写我们自己的词法分析器和解析器。我在网上搜索了这两个工具,这些工具都在 GNU许可证下。
但也有替代工具FLEX
和BISON
。我认为他们属于BSD许可证,我不确定。但我无法确定应该学习哪种工具。
答案 0 :(得分:3)
对于大多数新手用户来说,这些工具几乎完全相同。相同的输入源将构建执行相同任务的词法分析器/解析器。存在差异,但没有一个会损害您学习和使用工具的能力。这些差异只会让那些经验丰富的编码员或那些喜欢专注于工具的深奥内部操作的人感兴趣。
只需在软件环境中使用哪种方法最适合您。我教我的学生使用flex和bison,因为他们可以体验相同的工具而不管平台(Windows,Linux,OSX等)。