From: DeaDDooMER Date: Mon, 21 Aug 2017 09:23:00 +0000 (+0300) Subject: Исправлен пропуск фактических аргументов если первый конструктор SET X-Git-Url: http://deadsoftware.ru/gitweb?p=dsw-obn.git;a=commitdiff_plain;h=5185ccf4b3caa619f466fdb2890e955b42264a88 Исправлен пропуск фактических аргументов если первый конструктор SET --- 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))