【课前思考】 ◇ 词法分析程序的功能是什么? ◇ PL/0词法分析程序识别哪几种单词? ◇ 画出PL/0词法分析程序的流程图。 ◇ C语言,PASCAL语言的标识符和数的表示分别有什么规定? ◇ 编写一个程序(C的,或PASCAL的)识别C++语言的标识符。 【学习目标】 ◇ 明确词法分析在编译过程所处的阶段和作用。 ◇ 掌握词法分析程序的手工实现方法。 ◇ 理解通常的单词分类和构词规则。 ◇ 会使用单词的描述和识别机制。 ◇ 掌握词法分析程序的自动构造原理。 【学习指南】 词法分析程序是编译程序的一个构成成分,它的主要任务是扫描源程序,按构词规则识别单词,并报告发现的词法错误。词法分析也是语法分析的一部分,把词法分析从语法分析中独立出来是为了使编译程序结构清晰,也是为了便于使用自动构造工具,提高编译效率。 本章首先介绍词法分析程序的功能和设计原则,然后引入正规式和其对单词的描述,接着讲述有穷自动机理论,最后给出词法分析程序的自动构造原理。 【难重点】 ◇ 如何设计和实现词法分析程序 ◇ 正规式的定义-如何用作单词的描述工具 ◇ 有穷自动机的定义和分类-如何用作单词的识别系统 ◇ 正规式到有穷自动机的转换算法-词法分析程序的自动构造原理 【知识结构】 ![]() |