|
@@ -1,4 +1,4 @@
|
|
-MODULE ORP; (*N. Wirth 1.7.97 / 18.4.2016 Oberon compiler for RISC in Oberon-07*)
|
|
|
|
|
|
+MODULE ORP; (*N. Wirth 1.7.97 / 1.5.2016 Oberon compiler for RISC in Oberon-07*)
|
|
IMPORT Texts, Oberon, ORS, ORB, ORG;
|
|
IMPORT Texts, Oberon, ORS, ORB, ORG;
|
|
(*Author: Niklaus Wirth, 2014.
|
|
(*Author: Niklaus Wirth, 2014.
|
|
Parser of Oberon-RISC compiler. Uses Scanner ORS to obtain symbols (tokens),
|
|
Parser of Oberon-RISC compiler. Uses Scanner ORS to obtain symbols (tokens),
|
|
@@ -205,6 +205,7 @@ MODULE ORP; (*N. Wirth 1.7.97 / 18.4.2016 Oberon compiler for RISC in Oberon-07
|
|
END
|
|
END
|
|
ELSIF (x.type.form = ORB.Array) & (par.type.form = ORB.Array) &
|
|
ELSIF (x.type.form = ORB.Array) & (par.type.form = ORB.Array) &
|
|
(x.type.base = par.type.base) & (par.type.len < 0) THEN
|
|
(x.type.base = par.type.base) & (par.type.len < 0) THEN
|
|
|
|
+ IF ~par.rdo THEN CheckReadOnly(x) END ;
|
|
ORG.OpenArrayParam(x)
|
|
ORG.OpenArrayParam(x)
|
|
ELSIF (x.type.form = ORB.String) & varpar & par.rdo & (par.type.form = ORB.Array) &
|
|
ELSIF (x.type.form = ORB.String) & varpar & par.rdo & (par.type.form = ORB.Array) &
|
|
(par.type.base.form = ORB.Char) & (par.type.len < 0) THEN ORG.StringParam(x)
|
|
(par.type.base.form = ORB.Char) & (par.type.len < 0) THEN ORG.StringParam(x)
|