1.4单词整理

分析了PASCAL-S的语法后,以表格的形式给出所有PASCAL-S程序中可能出现的单词的正则表达式、记号和属性。PASCAL-S有效单词表如下:

描述 正则表达式 属性 记号
标识符 [a-z][a-z0-9]* 该标识符本身 IDENTIFIER
无符号整数 [0-9]+ 该整数本身(字符串表示) UINUM
无符号浮点数 [0-9]+\.[0-9]+ 该浮点数本身(字符串表示) UFNUM
字符常量 ‘.’ 该字符常量本身(不包含两侧的单引号) CHAR
关系运算符 >= >= RELOP
> >
<= <=
<> <>
< <
关系运算符:相等
常量初始化:赋值
= = =
算术运算符:加法 + + ADDOP
逻辑运算符:或 or or
算术运算符:减法(双目)
算术运算符:取相反数(单目)
- - -
算术运算符:乘法 * * MULOP
算术运算符:除法 / /
算术运算符:整除 div div
算术运算符:取余 mod mod
逻辑运算符:且 and and
逻辑运算符:非 not not NOT
赋值符号 := := ASSIGNOP
范围连接符 .. .. RANGEDOT
界符 ( ( (
) ) )
[ [ [
] ] ]
: : :
, , ,
; ; ;
. . .
关键字 program program PROGRAM
关键字 const const CONST
关键字 var var VAR
关键字 array array ARRAY
关键字 of of OF
关键字 procedure procedure PROCEDURE
关键字 function function FUNCTION
关键字 begin begin BEGIN
关键字 end end END
关键字 if if IF
关键字 then then THEN
关键字 for for FOR
关键字 to to TO
关键字 do do DO
关键字 else else ELSE
关键字 repeat repeat REPEAT
关键字 until until UNTIL
关键字 while while WHILE
关键字 integer integer TYPE
关键字 real real
关键字 char char
关键字 boolean boolean

注意,上表并没有包含全部的需要用到的正则表达式,其余的情况不属于PASCAL-S的有效单词,将在后续的翻译规则部分的具体实现中进行讲述。