我正在(与其他人)为没有计算机科学背景的IT专业人员教授一门相对入门的计算机科学课程。由于我开发了自动机和语法的课程材料,我还负责教授编译器和编译器构造。
几年前,当我在大学里学习编译时,我们所有的例子都来自Lex和Yacc。这些还在广泛使用吗?有没有更常用于Java的东西?这些学生精通C和Java,但从未使用过解析器生成器。
如有任何关于教学内容的建议,我们将不胜感激
发布于 2008-11-01 03:02:55
Antlr被广泛使用,有很好的文档记录,而且是免费的。它得到了Ant的支持,可以在许多其他语言中以Java为目标。
发布于 2008-11-04 10:44:28
我不使用词法分析器和解析器生成器。它们非常简单,可以手工生成,并且是编译器中最容易编写的部分。此外,当你手工构建它们时,你可以让它们变得非常快。
发布于 2008-11-01 03:07:41
Lex和Yacc仍在使用中。F#是目前最新的语言之一,它有自己的版本(fslex、fsyacc --有关示例,请参阅here )。所以我认为教授他们仍然是有意义的。
https://stackoverflow.com/questions/255442
复制相似问题