X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Ftest.c;h=cd28a2109e803224afb6a10ca56baaf18184be64;hb=55d9ee92b95dd306ac80fb643ed21d3b733395d7;hp=a144f3616074e1f8891dbc30af0007420bad0ef9;hpb=51a1ab2543ec5c221d4a3a9ab89968ae7dd39981;p=dsw-obn.git diff --git a/src/test.c b/src/test.c index a144f36..cd28a21 100644 --- a/src/test.c +++ b/src/test.c @@ -10,35 +10,22 @@ static char source_test[] = "IMPORT Out;" "" "TYPE" - " R = INTEGER;" + " R = RECORD iii : INTEGER; END;" "" - "PROCEDURE Factorial(n : R) : R;" - "BEGIN" - " IF n <= 1 THEN" - " RETURN 1;" - " ELSE" - " RETURN n * Factorial(n - 1);" - " END;" - " RETURN 0; (* Детектор ретурнов - дерьмо *)" - "END Factorial;" + "VAR" + " i : INTEGER;" + " a : ARRAY 3 OF INTEGER;" + " r : R;" "" + "PROCEDURE X(VAR x : INTEGER);" "BEGIN" - " Out.Open();" - " Out.Int(Factorial(0), 0); Out.Ln;" - " Out.Int(Factorial(1), 0); Out.Ln;" - " Out.Int(Factorial(2), 0); Out.Ln;" - " Out.Int(Factorial(3), 0); Out.Ln;" - " Out.Int(Factorial(4), 0); Out.Ln;" - " Out.Int(Factorial(5), 0); Out.Ln;" - " Out.Int(Factorial(6), 0); Out.Ln;" - " Out.Int(Factorial(7), 0); Out.Ln;" - " Out.Int(Factorial(8), 0); Out.Ln;" - " Out.Int(Factorial(9), 0); Out.Ln;" - " Out.Int(Factorial(10), 0); Out.Ln;" - " Out.Int(Factorial(11), 0); Out.Ln;" - " Out.Int(Factorial(12), 0); Out.Ln;" - " Out.Int(Factorial(13), 0); Out.Ln;" - " Out.Int(Factorial(14), 0); Out.Ln;" + " x := x * 666;" + "END X;" + "" + "BEGIN;" + " r.iii := 2;" + " X(r.iii);" + " Out.Int(r.iii, 0); Out.Ln;" "END Test." ;