Rup*_*ott 69 language-agnostic compiler-construction lexer
我想学习如何写一个词法分析器.我的大学课程有一个任务,我们必须编写一个解析器(和一个词法分析器一起使用),但这是给我们的,没有任何指示或反馈(超出标记),所以我并没有真正从中学到很多东西.
在搜索了这个主题之后,我只能找到相当高级的写作,这些写作集中在我觉得比我所处的位置提前几步的区域.我想讨论为一种非常简单的语言编写词法分析器的基础知识,我可以将其作为研究更复杂语言标记的基础.
在这个阶段,我并不是对最佳实践或优化技术感兴趣,而是更喜欢专注于基本要素.有什么好的资源让我入门?
vit*_*aut 62
编写词法分析器基本上有两种主要方法:
另外,我想从LLVM文档中推荐Kaleidoscope教程.它贯穿于一种简单语言的实现,特别演示了如何编写一个小词法.本教程有一个C++和Objective Caml版本.
关于这一主题的经典教科书是编译器:原理,技术和工具,也被称为龙书.然而,这可能属于"相当高级的写作"类别.