詞法分析程序:一. 為PL/0語言建立一個詞法分程序GETSYM(函數)
把關鍵字、算符、界符稱為語言固有的單詞,標識符、常量稱為用戶自定義的單詞。為此設置三個全程量:SYM,ID,NUM 。
SYM:存放每個單詞的類別,為內部編碼的表示形式。
ID:存放用戶所定義的標識符的值,即標識符字符串的機內表示。
NUM:存放用戶定義的數。
GETSYM要完成的任務:
1. 濾掉單詞間的空格。
2. 識別關鍵字,用查關鍵字表的方法識別。當單詞是關鍵字時,將對應的類別放在SYM中。如IF的類別為IFSYM,THEN的類別為THENSYM。
3. 識別標識符,標識符的類別為IDENT,IDRNT放在SYM中,標識符本身的值放在ID中。關鍵字或標識符的最大長度是10。
4. 拼數,將數的類別NUMBER放在SYM中,數本身的值放在NUM中。
5. 拼由兩個字符組成的運算符,如:>=、<=等等,識別后將類別存放在SYM中。
6. 打印源程序,邊讀入字符邊打印。
由于一個單詞是由一個或多個字符組成的,所以在詞法分析程序GETSYM中定義一個讀字符過程GETCH。
標簽:
GETSYM
分
程序
語言
上傳時間:
2016-11-21
上傳用戶:小鵬