本书以一个案例的演变模拟不断变化的用户需求,按照增量迭代的开发模式,将碎片化的功能开发、用户交互、数据处理等知识,以及软件设计、软件测试和敏捷开发的最佳实践,与软件开发的原理、技术和工具融合到设计、编码、调试及测试的构造过程。
本书共分为2个部分:第1部分按照课本《编译原理与技术》的章节,首先简要地总结每章的知识要点,然后分析典型题目的解题思路,并给出解题规范,最后对教材中每道练习给出参考答案与题解分析。第2部分是实验指导,包括对编译器中部分功能的手工编程实现,以及编译工具LEX和YACC的使用。