X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Ftest.c;h=ad95a34cf1f36fc78a7ed440cff0f1cbfccdd7ea;hb=8b545fd0349be12160b9f50c1f4b6f072eac436f;hp=3305807bbb3fa1c87b0cbd508aaec7e6787ebbfb;hpb=c055d16f1d6ca38c5c2171dbafd1a25305fb909c;p=dsw-obn.git diff --git a/src/test.c b/src/test.c index 3305807..ad95a34 100644 --- a/src/test.c +++ b/src/test.c @@ -8,50 +8,43 @@ static char source_test[] = "(* Main module *)" "MODULE Test;" "IMPORT Out;" - "TYPE" - " Callback = PROCEDURE;" - " Callfront = PROCEDURE(x : LONGINT) : LONGINT;" - " RecDesc = RECORD" - " cb : Callback;" - " cf : Callfront;" - " END;" "" - "VAR" - " r : RecDesc;" - " i : LONGINT;" + "VAR i : INTEGER;" "" - "PROCEDURE Stuff;" + "PROCEDURE X(VAR x : INTEGER; y : INTEGER);" + " VAR" + " q, w, r : INTEGER;" + " PROCEDURE Y;" + " VAR levY : INTEGER;" + " BEGIN" + " x := 3345;" + " q := 666;" + " END Y;" "BEGIN" - " Out.Int(0123456789, 0); Out.Ln;" - "END Stuff;" + " x := 54646;" + " q := 1;" + " Y;" + " Out.String('Pos Y: q = '); Out.Int(q, 0); Out.Ln;" + "END X;" "" - "PROCEDURE Ffuts (x : LONGINT) : LONGINT;" - "BEGIN" - " RETURN 9876543210 + x;" - "END Ffuts;" - "" - "BEGIN" - " Out.Open;" - " Out.Int(1, 0); Out.Ln;" - " r.cb := Stuff;" - " Out.Int(2, 0); Out.Ln;" - " r.cb();" - " Out.Int(3, 0); Out.Ln;" - " r.cf := Ffuts;" - " Out.Int(4, 0); Out.Ln;" - " i := r.cf(0123456789);" + "BEGIN;" + " i := 1;" + " X(i, i);" " Out.Int(i, 0); Out.Ln;" "END Test." ; -// PROCEDURE Char* (ch : CHAR); -// PROCEDURE String* (str : ARRAY OF CHAR); - static char source_out[] = "MODULE Out;" " PROCEDURE Open*;" " END Open;" "" + " PROCEDURE Char* (ch : CHAR);" + " END Char;" + "" + " PROCEDURE String* (str : ARRAY OF CHAR);" + " END String;" + "" " PROCEDURE Int*(i, n : LONGINT);" " END Int;" ""