编译原理ch02.ppt

编译原理ch02

1 1 PL/O编译程序总体流程图 图 2.4 PL/0编译程序总体流程图 2.3 PL/O编译程序的词法分析 PL/O的词法分析过程GETSYM,如图2.5所示 : 图 2.5 词法分析过程GETSYM PL/O词法分析程序功能:为语法语义分析提供单词,把输  入的字符串形式的源程序分割成一个个单词符号传递给语法  语义分析 PL/O编译程序设置的三个全程变量: SYM:存放单词的类别,如beginsym, ident, number ID: 存放用户所定义的标识符的值 NUM:存放用户定义的数 单词的种类: 基本字(保留字):BEGIN、 END、 IF、 THEN等 运算符: 如+、-、*、/、:=、#、=、=等 标识符: 用户定义的变量名、常数名、过程名 常数: 如10、25、100等整数 界符: 如‘,’、‘.’ 、‘;’ 、‘(’ 、‘)’等 词法分析程序GETSYM所要完成的任务: 滤空格、识别保留字 识别标识符、拼数 拼复合词、输出源程序 取字符过程GETCH: 图 2.6 取字符过程GETCH 2.4 PL/O编译程序的语法语义分析 语法分析的任务:识别单词符号序列是否符合给定的语法  规则 PL/O编译程序的语法分析采用了自顶向下的递归子程序法: 对应每个非终结符语法单元,编一个独立的处理过程(或子  程序) 语法分析从读入第一个单词开始由非终结符

文档评论(0)

1亿VIP精品文档

相关文档