@@ -1308,6 +1308,7 @@ VAR T: Type;
BEGIN
IF sym = array THEN T := ParseArrayType()
ELSIF sym = ident THEN T := ParseNamedType()
+ ELSIF sym = procedure THEN T := ParseProcedureType()
ELSE T := NIL; MarkExp('type')
END
RETURN T END ParseParamType0;
@@ -52,4 +52,9 @@ BEGIN END P;
PROCEDURE F*(): INTEGER;
RETURN 5 END F;
+PROCEDURE Q*(a: INTEGER; b: PROCEDURE(x, y: INTEGER): REAL; c: CHAR);
+(** Процедура принимает число, процедуру и литеру *)
+BEGIN
+END Q;
+
END A.