练习:下面给出一个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,内层可引用包围它的外层定义的标识符(如:变量名,过程名,常量名)