From 5185ccf4b3caa619f466fdb2890e955b42264a88 Mon Sep 17 00:00:00 2001 From: DeaDDooMER Date: Mon, 21 Aug 2017 12:23:00 +0300 Subject: [PATCH] =?utf8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D0=B5?= =?utf8?q?=D0=BD=20=D0=BF=D1=80=D0=BE=D0=BF=D1=83=D1=81=D0=BA=20=D1=84?= =?utf8?q?=D0=B0=D0=BA=D1=82=D0=B8=D1=87=D0=B5=D1=81=D0=BA=D0=B8=D1=85=20?= =?utf8?q?=D0=B0=D1=80=D0=B3=D1=83=D0=BC=D0=B5=D0=BD=D1=82=D0=BE=D0=B2=20?= =?utf8?q?=D0=B5=D1=81=D0=BB=D0=B8=20=D0=BF=D0=B5=D1=80=D0=B2=D1=8B=D0=B9?= =?utf8?q?=20=D0=BA=D0=BE=D0=BD=D1=81=D1=82=D1=80=D1=83=D0=BA=D1=82=D0=BE?= =?utf8?q?=D1=80=20SET?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- Test.obn | 14 ++++++++++---- obn-compile.sh | 9 ++++++--- src/oberon.c | 1 + 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/Test.obn b/Test.obn index be037a2..8889d77 100644 --- a/Test.obn +++ b/Test.obn @@ -1,11 +1,17 @@ MODULE Test; TYPE + PRec = POINTER TO Rec; + Rec = RECORD END; - PC = ARRAY 3 OF PB; +VAR + d : PRec; - B = RECORD z : PC; next : PB END; - - PB = POINTER TO B; +PROCEDURE X (z : INTEGER; a : SET; b : ARRAY OF CHAR) : PRec; +BEGIN + RETURN NIL; +END X; +BEGIN + d := X(1, {}, "xyz"); END Test. diff --git a/obn-compile.sh b/obn-compile.sh index 0ab4b70..b232184 100755 --- a/obn-compile.sh +++ b/obn-compile.sh @@ -2,13 +2,16 @@ set -e +DIR=$(dirname "$0") +PATH="$DIR:$PATH" + rm -rf classes tmp mkdir -p classes tmp -./a.out -d tmp -I rtl/java -I rtl $* +a.out -d tmp -I $DIR/rtl/java -I $DIR/rtl $* jasmin -d classes tmp/*.j -javac -d classes rtl/java/*.java +javac -d classes $DIR/rtl/java/*.java -proguard -injars classes -libraryjars /usr/lib/jvm/java-8-openjdk/jre/lib/rt.jar @proguard.conf +proguard -injars classes -libraryjars /usr/lib/jvm/java-8-openjdk/jre/lib/rt.jar @$DIR/proguard.conf diff --git a/src/oberon.c b/src/oberon.c index 4afd4c2..ebcaa99 100644 --- a/src/oberon.c +++ b/src/oberon.c @@ -1285,6 +1285,7 @@ oberon_make_call_proc(oberon_context_t * ctx, oberon_item_t * item, int num_args || ((x) == CHAR) \ || ((x) == STRING) \ || ((x) == NIL) \ + || ((x) == LBRACE) \ || ((x) == LPAREN) \ || ((x) == NOT)) -- 2.29.2