我正在寻找任何语言的手写免费词法分析器/扫描器,甚至是用类似于 C/C++ 的语言编写的玩具语言。我是创建语言和编译器设计的初学者,我想玩弄源代码。
例如,在 flex 生成 lex 之前,此网站上有一个手写词法分析器:http ://en.wikipedia.org/wiki/Flex_lexical_analysisr
谢谢。
我正在寻找任何语言的手写免费词法分析器/扫描器,甚至是用类似于 C/C++ 的语言编写的玩具语言。我是创建语言和编译器设计的初学者,我想玩弄源代码。
例如,在 flex 生成 lex 之前,此网站上有一个手写词法分析器:http ://en.wikipedia.org/wiki/Flex_lexical_analysisr
谢谢。
我喜欢LLVM 教程——它首先展示了一个名为 Kaleidoscope 的玩具语言的手写词法分析器,首先作为“文学编程”练习,每个位都有很好的文本解释;它继续构建一个以相同样式构建抽象语法树的解析器;然后整个内容(用于词法分析器、解析器和 AST 构建器的 400 行手写独立 C++)再次显示为完整的 .cpp 源文件,因此您不必自己将它们放在一起。以下章节展示了代码生成、JIT、优化……确实是一个真正有用的小教程!但是,如果您现在只想了解这些,您可以停止使用词法分析器;-)。
您可能需要flex,它可能是地球上使用最广泛的词法分析器。
Lex 和 Yacc是用于构建语言和编译器的“经典”工具。