|
@@ -31,6 +31,7 @@ function make(makeIdentdef,
|
|
|
makeForInit,
|
|
|
makeArrayDimensions,
|
|
|
makeFormalArray,
|
|
|
+ makeReturn,
|
|
|
contexts,
|
|
|
reservedWords
|
|
|
){
|
|
@@ -211,7 +212,7 @@ result.declarationSequence
|
|
|
result.procedureBody
|
|
|
= and(result.declarationSequence,
|
|
|
optional(and("BEGIN", statementSequence)),
|
|
|
- optional(context(and("RETURN", expression), contexts.Return)),
|
|
|
+ optional(context(makeReturn(and("RETURN", expression)), contexts.Return)),
|
|
|
required("END", "END expected (PROCEDURE)"));
|
|
|
result.module
|
|
|
= context(and("MODULE", ident, ";",
|