编译原理词法分析--A__状态转换图-表驱动法
- 格式:ppt
- 大小:264.50 KB
- 文档页数:2
《编译原理》——词法分析器学院:专业:姓名:学号:一、序言编译,简单的说,就是把源程序转换为可执行程序。
编译程序的工作,从输入源程序开始到输出目标程序为止的整个过程,是非常复杂的。
而此法分析是编译程序工作过程的第一环节。
这篇报告主要讲了词法分析器的原理,最后会给出一个词法分析器的简单实现。
二、实验目的设计一个词法分析程序,理解词法分析器实现的原理,掌握程序设计语言中的各类单词的词法分析方法,加深对词法分析原理的理解。
三、词法分析原理3.1 词法分析的任务是:输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个的单词(亦称为单词符号或简称符号),如基本字(begin、end、for、if、while等),标识符、常数、算符、和界符(标点符号、左右括号等等)。
例如,对于pascal的循环语句For I:=1 to 100 do词法分析的结果是识别出如下的单词符号:基本字for标识符I赋值号:=整常数 1基本字to整常数100基本字do3.2 输出:词法分析器所输出单词符号常常表示成如下的二元式:(单词种别,单词符号的属性值)单词种别通常用整数编码。
标识符一般统归为一种。
常数则宜按类型(整、实、布尔等)分种。
关键字可将其全体视为一种。
运算符可采用一符一种的方法。
界符一般用一符一种的方法。
对于每个单词符号,除了给出了种别编码之外,还应给出有关单词符号的属性信息。
单词符号的属性是指单词符号的特性或特征。
例子:C++代码段:while(i>=j) i--经词法分析器处理后,它将被转为如下的单词符号序列:<while, _><(, _><id, 指向i的符号表项的指针><>=, _><id, 指向j的符号表项的指针><), _><id, 指向i的符号表项的指针><--, _><;, _>3.3 词法分析分析器作为一个独立子程序词法分析是编译过程中的一个阶段,在语法分析前进行。