我正在为任何语言寻找手写的免费词法分析器/扫描仪,甚至是用类似于C / C ++的语言编写的玩具语言。我是创建语言和编译器设计的初学者,我想玩一下源代码。
例如,在flex生成的lex之前,本网站上有一个手写的词法分析器:http://en.wikipedia.org/wiki/Flex_lexical_analyser
感谢。
答案 0 :(得分:4)
我喜欢LLVM tutorial - 首先是为一种叫做Kaleidoscope的玩具语言提供一个手写的词法分析器,首先是一个“文字编程”练习,每个位都有良好的文本解释;它继续构建一个以相同样式构建抽象语法树的解析器;然后整个事情(400行手写的独立C ++ for lexer,parser和AST builder)再次显示为一个完整的.cpp源文件,所以你不必自己把它们全部放在一起。以下章节展示了代码生成,JIT,优化......确实是一个真正有用的小教程!但是,你可以停止使用词法分析器,如果这是你现在想要了解的全部内容; - )。
答案 1 :(得分:0)
你可能想要flex,这可能是地球上使用最广泛的词法分析器。
答案 2 :(得分:0)
Lex and Yacc是用于构建语言和编译器的“经典”工具。