编译原理第二章一个微小编译器.ppt

;*;*;*;*;Q and A ?;*;*;*;*;*;;;;;;输出;Micro的词法分析;Micro的词法分析;Micro的词法分析;;;Procedure scanner(); begin while ~Eof do { Noblank(ch); case ch of ‘A’..’Z’|’a’..’z’ {Identifier(name);…} ‘0’..’9’ {Constant(class,C); GenToken(Class,C)}; ‘(’ GenToken($Lparen); Read(ch); ‘)’ GenToken($Rparen); Read(ch); ‘+’ GenToken($plus); Read(ch); ‘*’ GenToken($mult); Read(ch); ‘;’ GenToken($semi); Read(ch); ‘:’ {Read(ch); if ch=‘=’ then {GenToken($assig); Read(ch)} else GenToken($colon)} ‘.’ GenToken($stop); Read(ch); ‘?’ GenToken($line); Read(ch); ‘other’ LexicalError(ch) end } end ;Procedure scanner(); begin while ~Eof do { Noblank(ch); case ch of ‘A’..’Z’|’a’..’z’ {Identifier(name);;;● Micro语言的词法分析程序的相关子程序(3);Procedure scanner(); begin while ~Eof do { Noblank(ch); case ch of ‘A’..’Z’|’a’..’z’ {Identifier(name); case name of “begin” GenToken($begin); “end” GenToken($end); “var” GenToken($var); “int” GenToken($int); “real” GenToken($real); “read” GenToken($read); “write” GenToken($write);

文档评论(0)

1亿VIP精品文档

相关文档