第三章 词法分析;内容;3.1 对于词法分析器的要求;本章重点;5;3.1.1 词法分析器的功能和输出形式;3.1.1 词法分析器的功能和输出形式;例 FORTRAN程序
IF (5.EQ.M) GOTO 100
输出单词符号:
逻辑IF (34,-)
左括号 (2,-)
整常数 (20, ‘5’的二进制)
等号 (6,-)
标识符 (26, ‘M’)
右括号 (16,-)
GOTO (30,-)
标号 (19, ‘100’的二进制);例 FORTRAN程序
DO 15 I=1,100
输出单词符号:
DO (3,-)
标号 (19, ‘15’的二进制)
标识符 (26, ‘I’)
赋值号 (40,-)
整常数 (7, ‘1’的二进制)
逗号, (12,-)
整常数 (7, ‘100’的二进制);10;3.1.2词法分析是作为一个独立的阶段,是否应当将其处理为一遍呢?;3.1.2 词法分析器作为一个独立子程序;3.2 词法分析器的设计;3.2.1 输入、预处理;3.2.2 单词符号的识别:超前搜索;3.2.2 单词符号的识别:超前搜索;状态转换图:一种有效的词法分析工具;3.2.3 状态转换图;例:识别一个简单语言所有电磁符号的转换图;几点重要限制——为了不使用超前搜索
所有关键字都是保留字;用户不能用它们作自己的标识符
关键字作为特殊的标识符来处理;不用特殊的状态图来识别,只要查保留字表。
如果关键字、标识符和常数(或标号)之间没有确定的运算符或界符作间隔,则必须使用一个空白符作间隔。
DO99K=1,10 要写成 DO 99 K=1,10;出错情况;思想:每个状态结对应一小段程序。
做法:
1)对不含回路的分叉结,可用一个CASE语句或一组IF-THEN-ELSE语句实现
2)对含回路的状态结,可对应一段由WHILE结构和IF语句构成的程序
3)终态结表示识别出某种单词符号,因此,对应语句为 RETURN (C,VAL) 其中,C为单词种别,VAL为单词自身值;全局变量与过程
1) CHAR 字符变量、存放最新读入的源程序字符
2) TOKEN 字符数组,存放构成单词符号的字符串
3) GETCHAR 子程序过程,把下一个字符读入到CHAR中
4) GETNBC 子程序过程,跳过空白符,直至CHAR中读入一非空白符
5) CONCAT 子程序,把CHAR中的字符连接到TOKEN;全局变量与过程
6) LETTER 布尔函数,判断CHAR中字符是否为字母
7) DIGIT 布尔函数,判断CHAR中字符是否为数字
8) RESERVE 整型函数,对于TOKEN中的字符串查找保留字表,若它是保留字则给出它的编码,否则???送0
9) RETRACT 子程序,把搜索指针回调一个字符位置
10) DTB 函数,把TOKEN中的字符串翻译成二进制码;START: TOKEN:=; /*置TOKEN为空串*/
GETCHAR; GETNBC;
CASE CHAR OF
A..Z:
BEGIN
WHILE LETTER OR DIGIT DO
BEGIN CONCAT;GETCHAR END;
RETRACT;
C:=RESERVE;
IF C=0 THEN RETURN ($ID,TOKEN)
ELSE RETURN (C,-)
END;;0..9:
BEGIN
WHILE DIGIT DO
BEGIN CONCAT;GETCHAR END;
RETRACT;
RETURN ($INT,DBT)
END;
=: RETURN ($ASSIGN,-);
+: RETURN ($PLUS,-);;’*:
BEGIN
GETCHAR;
IF CHAR=* THEN RETURN ($POWER,-);
RETRACT; RETURN ($STAR,-);
END;
,: RETURN ($COMMA,-);
(: RETURN ($LPAR,-);
): RETURN ($RPAR,-);
END OF CASE;
ERROR;
GOTO START;;;;3.1.1 词法分析器的功能和输出形式;3.1.2 词法分析器作为一个独立子程序;3.2 词法分析器的设计;状态转换图:一种有效的词法分析工具;正规表达式与有限自动机;3.3 正规表达式与有限自动机;∑*的子集U和V的连接(积)定义为;3.3.1 正规式与正规集;3.3.1 正规式与正规集;3.3.1 正规式与正规集;3.3.1 正规式与正规集;例3:?={d,?,e,+,-
您可能关注的文档
最近下载
- 内镜粘膜下剥离术ESD.doc VIP
- 省级优秀幼儿园教案小班绘本活动《这是谁的蛋》.docx VIP
- 2024海康威视门禁一体机用户手册.docx
- 2025秉法立世 智启未来律师事务所开业庆典活动方案.pptx
- 《老年活动策划与组织》教学设计——项目五 老年社区活动策划与组织.docx VIP
- Gene X ppt(Gene10 基因十)--Chapter10课件.ppt VIP
- 《老年活动策划与组织》教学设计——项目四 老年小组活动策划与组织.docx VIP
- 2025届福建省莆田市高三下学期第二次质量检测地理试题(解析版).pdf VIP
- 《老年活动策划与组织》教学设计——项目三 老年个别活动策划与组织..docx VIP
- 圆通速递网点智能调度.pptx
原创力文档

文档评论(0)