计算机编译原理C++词法分析课程设计
词法器的课程设计还挺适合练手的,尤其是用 C++来搞,既能学编译原理,也能熟点语法。文件里几个关键部分分工清楚,Lexical analyzer.cpp
是主战场,核心代码都在这儿,逻辑也不算复杂。像testdata.txt
这种测试数据,方便你一边写一边调试,挺贴心的。
Visual Studio 那几个.dsp
、.dsw
项目文件就别太在意,主要是帮你快速搭环境,不想折腾的话用它最省事。stack.h
这个看名字是栈结构,有是用来括号匹配那一块的,多教材也这么做,蛮常见的。
核心思路嘛,就是一边读字符流,一边匹配规则,比如识别if
、else
这种关键字,打上标签输出。用正则配合有限状态机(FSA)挺合适的,逻辑也比较直观,适合入门。
建议你在实现的时候,重点多测试一些边界情况,比如if
后面跟着括号但里面没内容、注释里混了关键字这些,能不能识别正确关键。整体来说,是个比较全面、又不难上手的词法练习。
如果你对编译器开发感兴趣,或者想练练 C++的文本能力,这套课程设计还是蛮值得一试的。顺便看看这些文章也有:
20.67KB
文件大小:
评论区