练习
:下面给出一个PL/0语言的程序,请学员对应PL/0语言的语法描述图与EBNF ,检查该程序的语法是否正确。
CONST A=10;
VAR B,C;
PROCEDURE P;
VAR
D
;
PROCEDURE
Q
;
VAR
X
;
BEGIN
READ(X)
;
D
:=
D*
C
+X; WRITE(
D
)
;
WHILE X#0 DO CALL
P;
END
;
BEGIN
READ(D,
C
);
CALL Q;
END;
BEGIN
CALL
P
;
END.
PL/0编译程序的使用限制
◇ 标识符的有效长度是10
◇ 数字最多为14位
◇ 过程最多可嵌套三层,可递归调用
◇ 标识符的作用域同PASCAL,内层可引用包围它的外层定义的标识符(如:变量名,过程名,常量名)