PL0语言是与pascal类似的语言,但是比pascal语言的词法、语法更加严格苛刻。
在PL0语言中,只有五种类型的单词:关键字、用户自定义标识符、数字、特殊符号以及非法标识符。
根据题目给出的PL0的文法,关键字只有如下几个:
Const——用来声明常量;
Var——用来声明变量;
Procedure——用来声明过程;
Begin——声明过程的开始;
End——声明过程的结束;
Ood——单目运算符,声明为关键字;
If——条件语句;
Then——条件语句;
Call——声明调用函数;
While——循环语句;
Read——读文件语句;
Write——写文件语句;
对于用户自定义标识符应该满足:以字母开头,其后是字母和数字的组合,即:字母(字母|数字)*
数字则是数字字符(0——9)组成的数字串;
特殊符号有如下几个:
+,-,*,/,=<>,<,>=,<=,:=
把关键字、算符和界符称为语言固有的单词,标识符、常量称为用户自定义的单词。
为此设置三个全程量:SYM,ID,NUM。
SYM:存放每个单词的类别,为内部编码的表示形式;
ID:存放用户所定义的标识符的值,即标识符字符串的机内表示;
NUM:存放用户定义的数。