这学期在学习编译原理,有个C#写的编译器的源代码,是简单C++(数据类型少,类继承关系只有一层),主要用来理解编译器原理。开始看的是书,把我看的晕头转向,感觉讲的离实际比较远,太偏一些数学理论,暂时先扔下。
软件是个可多次使用的东东,尽量使用已经写好的类库,这样开发速度就快了好多。用C#写编译器本身就很好学习。用XML而不要自己parse文本。
编译器分为四步: 词法分析(scanner),语法分析(parse),语义分析(analyze)和代码生成(codegen).分成四步,好处多多:思路清晰,容易单独改进,结构化好。一口吃个胖子可不是个好办法。