词法分析过程图2.5的GETSYM框图对应程序见PL/0编译程序文本中procedure getsym,其中对标识符和关键字(保留字)的识别方式为: 当识别到字母开头的字母数字串时,先查关键字表。若查不到则为标识符,查到则为关键字。PL/0编译程序文本中主程序开始对关键字表置初值如下: 关键字表为: word[1]:='begin ';word[2]:='call '; ... word[13]:='write '; 每个数组元素的字符长度为10,不满10个字符时,以空格补满。 查到时找到关键字相应的内部表示为: Wsym[1]:=beginsym; wsym[2]:=callsym; … wsym[13]:=writesym; PL/0编译程序文本中开始对类型的定义中给出单词定义为: type symbol=(nul,ident,number,plus,…,varsym,procsym); 定义单词是纯量/枚举类型,又定义了3个全程量为: sym:symbol; id:alfa; num:integer; |