From 35aff7680cde8d57c7d1c8d066d981f5ddc12f31 Mon Sep 17 00:00:00 2001 From: mike lowis Date: Fri, 9 Apr 2021 16:13:47 -0400 Subject: [PATCH] changed ASSERT to Assert and NEW to New --- lib/obnc/FilesTest.obn | 200 ++++---- lib/obnc/InTest.obn | 50 +- lib/obnc/Input.obn | 2 +- lib/obnc/Input0Test.obn | 14 +- lib/obnc/InputTest.obn | 16 +- lib/obnc/MathTest.obn | 100 ++-- lib/obnc/Strings.obn | 24 +- lib/obnc/StringsTest.obn | 76 +-- lib/obnc/XYplane.obn | 2 +- lib/obnc/XYplaneTest.obn | 16 +- src/.Oberon.y.swp | Bin 0 -> 131072 bytes src/Oberon.y | 5 +- src/Table.c | 4 +- src/y.tab.c | 5 +- subword | 2 + .../T7ActualVarParamImported1.obn | 2 +- tests/obnc/passing/T2TypeDeclarations.obn | 24 +- tests/obnc/passing/T3VariableDeclarations.obn | 6 +- tests/obnc/passing/T4Expressions.obn | 468 +++++++++--------- tests/obnc/passing/T5Statements.obn | 140 +++--- tests/obnc/passing/T5SystemStatements.obn | 42 +- .../obnc/passing/T6ProcedureDeclarations.obn | 26 +- tests/obnc/passing/T7Modules.obn | 46 +- 23 files changed, 635 insertions(+), 635 deletions(-) create mode 100644 src/.Oberon.y.swp create mode 100755 subword diff --git a/lib/obnc/FilesTest.obn b/lib/obnc/FilesTest.obn index d0712d5..9b37be0 100644 --- a/lib/obnc/FilesTest.obn +++ b/lib/obnc/FilesTest.obn @@ -23,8 +23,8 @@ module FilesTest; var f: Files.File; begin f := Files.Old("FilesTest.obn"); - ASSERT(f # nil); - ASSERT(f is Files.File) + Assert(f # nil); + Assert(f is Files.File) end TestOld; @@ -32,8 +32,8 @@ module FilesTest; var f: Files.File; begin f := Files.New("NewTest"); - ASSERT(f # nil); - ASSERT(f is Files.File) + Assert(f # nil); + Assert(f is Files.File) end TestNew; @@ -47,28 +47,28 @@ module FilesTest; end IsRider; begin f := Files.New("RegisterTest"); - ASSERT(f # nil); - ASSERT(IsRider(r)); + Assert(f # nil); + Assert(IsRider(r)); Files.Register(f); f := Files.Old("RegisterTest"); - ASSERT(f # nil); + Assert(f # nil); Files.Delete("RegisterTest", res); - ASSERT(res = 0); + Assert(res = 0); f := Files.New("RegisterTest"); - ASSERT(f # nil); + Assert(f # nil); Files.SetPos(r, f, 0); Files.Write(r, 37); Files.Close(f); Files.Register(f); - ASSERT(Files.Length(f) = 1); + Assert(Files.Length(f) = 1); f := Files.Old("RegisterTest"); - ASSERT(f # nil); - ASSERT(Files.Length(f) = 1); + Assert(f # nil); + Assert(Files.Length(f) = 1); Files.Delete("RegisterTest", res); - ASSERT(res = 0) + Assert(res = 0) end TestRegister; @@ -77,12 +77,12 @@ module FilesTest; r: Files.Rider; begin f := Files.New("CloseTest"); - ASSERT(f # nil); + Assert(f # nil); Files.SetPos(r, f, 0); Files.Write(r, 65); - ASSERT(Files.Length(f) <= 1); + Assert(Files.Length(f) <= 1); Files.Close(f); - ASSERT(Files.Length(f) = 1) + Assert(Files.Length(f) = 1) end TestClose; @@ -91,11 +91,11 @@ module FilesTest; r: Files.Rider; begin f := Files.New("PurgeTest"); - ASSERT(f # nil); + Assert(f # nil); Files.SetPos(r, f, 0); Files.Write(r, 65); Files.Purge(f); - ASSERT(Files.Length(f) = 0) + Assert(Files.Length(f) = 0) end TestPurge; @@ -104,14 +104,14 @@ module FilesTest; res: Int; begin f := Files.New("DeleteTest"); - ASSERT(f # nil); + Assert(f # nil); Files.Register(f); f := Files.Old("DeleteTest"); - ASSERT(f # nil); + Assert(f # nil); Files.Delete("DeleteTest", res); - ASSERT(res = 0); + Assert(res = 0); f := Files.Old("DeleteTest"); - ASSERT(f = nil) + Assert(f = nil) end TestDelete; @@ -120,21 +120,21 @@ module FilesTest; res: Int; begin f := Files.New("RenameTest"); - ASSERT(f # nil); + Assert(f # nil); Files.Register(f); f := Files.Old("RenameTest"); - ASSERT(f # nil); + Assert(f # nil); Files.Rename("RenameTest", "RenameTest1", res); - ASSERT(res = 0); + Assert(res = 0); f := Files.Old("RenameTest"); - ASSERT(f = nil); + Assert(f = nil); f := Files.Old("RenameTest1"); - ASSERT(f # nil); + Assert(f # nil); Files.Delete("RenameTest1", res); - ASSERT(res = 0) + Assert(res = 0) end TestRename; @@ -143,11 +143,11 @@ module FilesTest; res: Int; begin f := Files.New("LengthTest"); - ASSERT(f # nil); + Assert(f # nil); Files.Register(f); - ASSERT(Files.Length(f) = 0); + Assert(Files.Length(f) = 0); Files.Delete("LengthTest", res); - ASSERT(res = 0) + Assert(res = 0) end TestLength; @@ -157,25 +157,25 @@ module FilesTest; hour, minute, second, year, month, day: Int; begin f := Files.Old("FilesTest.obn"); - ASSERT(f # nil); + Assert(f # nil); Files.GetDate(f, t, d); hour := t div 4096; - ASSERT(hour >= 0); - ASSERT(hour < 24); + Assert(hour >= 0); + Assert(hour < 24); minute := t div 64 mod 64; - ASSERT(minute >= 0); - ASSERT(minute < 60); + Assert(minute >= 0); + Assert(minute < 60); second := t mod 64; - ASSERT(second >= 0); - ASSERT(second < 60); + Assert(second >= 0); + Assert(second < 60); year := d div 512; - ASSERT(year >= 0); + Assert(year >= 0); month := d div 32 mod 16; - ASSERT(month >= 1); - ASSERT(month <= 12); + Assert(month >= 1); + Assert(month <= 12); day := d mod 32; - ASSERT(day >= 1); - ASSERT(day <= 31) + Assert(day >= 1); + Assert(day <= 31) end TestDate; @@ -184,9 +184,9 @@ module FilesTest; r: Files.Rider; begin f := Files.New("SetTest"); - ASSERT(f # nil); + Assert(f # nil); Files.SetPos(r, f, 0); - ASSERT(~r.eof) + Assert(~r.eof) end TestSetPos; @@ -195,9 +195,9 @@ module FilesTest; r: Files.Rider; begin f := Files.New("PosTest"); - ASSERT(f # nil); + Assert(f # nil); Files.SetPos(r, f, 0); - ASSERT(Files.Pos(r) = 0) + Assert(Files.Pos(r) = 0) end TestPos; @@ -206,9 +206,9 @@ module FilesTest; r: Files.Rider; begin f := Files.New("BaseTest"); - ASSERT(f # nil); + Assert(f # nil); Files.SetPos(r, f, 0); - ASSERT(Files.Base(r) = f) + Assert(Files.Base(r) = f) end TestBase; @@ -218,16 +218,16 @@ module FilesTest; b: Byte; begin f := Files.New("ReadWriteTest"); - ASSERT(f # nil); + Assert(f # nil); Files.SetPos(r, f, 0); Files.Write(r, 65); Files.Close(f); - ASSERT(Files.Length(f) = 1); + Assert(Files.Length(f) = 1); Files.SetPos(r, f, 0); Files.Read(r, b); - ASSERT(~r.eof); - ASSERT(b = 65); - ASSERT(Files.Pos(r) = 1) + Assert(~r.eof); + Assert(b = 65); + Assert(Files.Pos(r) = 1) end TestReadWrite; @@ -237,7 +237,7 @@ module FilesTest; i: Int; begin f := Files.New("ReadWriteIntTest"); - ASSERT(f # nil); + Assert(f # nil); Files.SetPos(r, f, 0); Files.WriteInt(r, 100); @@ -246,13 +246,13 @@ module FilesTest; Files.SetPos(r, f, 0); Files.ReadInt(r, i); - ASSERT(~r.eof); - ASSERT(i = 100); + Assert(~r.eof); + Assert(i = 100); Files.ReadInt(r, i); - ASSERT(~r.eof); - ASSERT(i = -1000); + Assert(~r.eof); + Assert(i = -1000); Files.ReadInt(r, i); - ASSERT(r.eof) + Assert(r.eof) end TestReadWriteInt; @@ -262,7 +262,7 @@ module FilesTest; x: Real; begin f := Files.New("ReadWriteRealTest"); - ASSERT(f # nil); + Assert(f # nil); Files.SetPos(r, f, 0); Files.WriteReal(r, 3.14); @@ -271,13 +271,13 @@ module FilesTest; Files.SetPos(r, f, 0); Files.ReadReal(r, x); - ASSERT(~r.eof); - ASSERT(ABS(x - 3.14) < 1.0E-6); + Assert(~r.eof); + Assert(ABS(x - 3.14) < 1.0E-6); Files.ReadReal(r, x); - ASSERT(~r.eof); - ASSERT(ABS(x - (-3.14)) < 1.0E-6); + Assert(~r.eof); + Assert(ABS(x - (-3.14)) < 1.0E-6); Files.ReadReal(r, x); - ASSERT(r.eof) + Assert(r.eof) end TestReadWriteReal; @@ -287,7 +287,7 @@ module FilesTest; i: Int; begin f := Files.New("ReadWriteNumTest"); - ASSERT(f # nil); + Assert(f # nil); Files.SetPos(r, f, 0); Files.WriteNum(r, 100); @@ -296,13 +296,13 @@ module FilesTest; Files.SetPos(r, f, 0); Files.ReadNum(r, i); - ASSERT(~r.eof); - ASSERT(i = 100); + Assert(~r.eof); + Assert(i = 100); Files.ReadNum(r, i); - ASSERT(~r.eof); - ASSERT(i = -1000); + Assert(~r.eof); + Assert(i = -1000); Files.ReadNum(r, i); - ASSERT(r.eof) + Assert(r.eof) end TestReadWriteNum; @@ -312,7 +312,7 @@ module FilesTest; s: array 32 of Char; begin f := Files.New("ReadWriteStringTest"); - ASSERT(f # nil); + Assert(f # nil); Files.SetPos(r, f, 0); Files.WriteString(r, "hello"); @@ -322,16 +322,16 @@ module FilesTest; Files.SetPos(r, f, 0); Files.ReadString(r, s); - ASSERT(~r.eof); - ASSERT(s = "hello"); + Assert(~r.eof); + Assert(s = "hello"); Files.ReadString(r, s); - ASSERT(~r.eof); - ASSERT(s = "there"); + Assert(~r.eof); + Assert(s = "there"); Files.ReadString(r, s); - ASSERT(~r.eof); - ASSERT(s = ""); + Assert(~r.eof); + Assert(s = ""); Files.ReadString(r, s); - ASSERT(r.eof) + Assert(r.eof) end TestReadWriteString; @@ -341,7 +341,7 @@ module FilesTest; s: Set; begin f := Files.New("ReadWriteSetTest"); - ASSERT(f # nil); + Assert(f # nil); Files.SetPos(r, f, 0); Files.WriteSet(r, {}); @@ -351,16 +351,16 @@ module FilesTest; Files.SetPos(r, f, 0); Files.ReadSet(r, s); - ASSERT(~r.eof); - ASSERT(s = {}); + Assert(~r.eof); + Assert(s = {}); Files.ReadSet(r, s); - ASSERT(~r.eof); - ASSERT(s = {0}); + Assert(~r.eof); + Assert(s = {0}); Files.ReadSet(r, s); - ASSERT(~r.eof); - ASSERT(s = {0, 1}); + Assert(~r.eof); + Assert(s = {0, 1}); Files.ReadSet(r, s); - ASSERT(r.eof) + Assert(r.eof) end TestReadWriteSet; @@ -370,7 +370,7 @@ module FilesTest; b: Bool; begin f := Files.New("ReadWriteBoolTest"); - ASSERT(f # nil); + Assert(f # nil); Files.SetPos(r, f, 0); Files.WriteBool(r, true); @@ -379,13 +379,13 @@ module FilesTest; Files.SetPos(r, f, 0); Files.ReadBool(r, b); - ASSERT(~r.eof); - ASSERT(b); + Assert(~r.eof); + Assert(b); Files.ReadBool(r, b); - ASSERT(~r.eof); - ASSERT(~b); + Assert(~r.eof); + Assert(~b); Files.ReadBool(r, b); - ASSERT(r.eof) + Assert(r.eof) end TestReadWriteBool; @@ -398,7 +398,7 @@ module FilesTest; for i := 0 to LEN(buf) - 1 do buf[i] := i + 1 end; f := Files.New("ReadWriteBytesTest"); - ASSERT(f # nil); + Assert(f # nil); Files.SetPos(r, f, 0); Files.WriteBytes(r, buf, LEN(buf)); @@ -410,19 +410,19 @@ module FilesTest; Files.SetPos(r, f, 0); Files.ReadBytes(r, buf, LEN(buf)); - ASSERT(~r.eof); + Assert(~r.eof); for i := 0 to LEN(buf) - 1 do - ASSERT(buf[i] = i + 1) + Assert(buf[i] = i + 1) end; Files.ReadBytes(r, buf, LEN(buf)); - ASSERT(~r.eof); + Assert(~r.eof); for i := 0 to LEN(buf) - 1 do - ASSERT(buf[i] = i + 1) + Assert(buf[i] = i + 1) end; Files.ReadBytes(r, buf, LEN(buf)); - ASSERT(r.eof) + Assert(r.eof) end TestReadWriteBytes; begin diff --git a/lib/obnc/InTest.obn b/lib/obnc/InTest.obn index 23581b7..7bca02f 100644 --- a/lib/obnc/InTest.obn +++ b/lib/obnc/InTest.obn @@ -30,51 +30,51 @@ module InTest; begin In.Character(ch); - ASSERT(In.Done); - ASSERT(ch = "a"); + Assert(In.Done); + Assert(ch = "a"); In.Integer(n); - ASSERT(In.Done); - ASSERT(n = 37); + Assert(In.Done); + Assert(n = 37); In.Integer(n); - ASSERT(In.Done); - ASSERT(n = 37H); + Assert(In.Done); + Assert(n = 37H); In.RealNum(x); - ASSERT(In.Done); - ASSERT(x >= 3.14 - eps); - ASSERT(x <= 3.14 + eps); + Assert(In.Done); + Assert(x >= 3.14 - eps); + Assert(x <= 3.14 + eps); In.String(s); - ASSERT(In.Done); - ASSERT(s = ""); + Assert(In.Done); + Assert(s = ""); In.String(s); - ASSERT(In.Done); - ASSERT(s = "foo bar"); + Assert(In.Done); + Assert(s = "foo bar"); In.String(s); - ASSERT(In.Done); - ASSERT(s = 0X); + Assert(In.Done); + Assert(s = 0X); In.String(s); - ASSERT(In.Done); - ASSERT(s = 1FX); + Assert(In.Done); + Assert(s = 1FX); In.String(s); - ASSERT(In.Done); - ASSERT(s = 0FFX); + Assert(In.Done); + Assert(s = 0FFX); In.Name(s); - ASSERT(In.Done); - ASSERT(s = "foo/bar"); + Assert(In.Done); + Assert(s = "foo/bar"); In.Line(s); - ASSERT(In.Done); - ASSERT(s = ""); + Assert(In.Done); + Assert(s = ""); In.Line(s); - ASSERT(In.Done); - ASSERT(s = "foo bar") + Assert(In.Done); + Assert(s = "foo bar") end InTest. diff --git a/lib/obnc/Input.obn b/lib/obnc/Input.obn index 77f5339..8f4f6da 100644 --- a/lib/obnc/Input.obn +++ b/lib/obnc/Input.obn @@ -38,5 +38,5 @@ Implements the basic library module from "The Oakwood Guidelines for Oberon-2 Co end Time; begin - ASSERT(Input0.TimeUnit > 0) (*silence "Input0 unused" compiler note*) + Assert(Input0.TimeUnit > 0) (*silence "Input0 unused" compiler note*) end Input. diff --git a/lib/obnc/Input0Test.obn b/lib/obnc/Input0Test.obn index 1e8764f..b6bd0a4 100644 --- a/lib/obnc/Input0Test.obn +++ b/lib/obnc/Input0Test.obn @@ -28,11 +28,11 @@ module Input0Test; n := Input.Available() until n >= 3; Input.Read(ch); - ASSERT(ch = "a"); + Assert(ch = "a"); Input.Read(ch); - ASSERT(ch = "b"); + Assert(ch = "b"); Input.Read(ch); - ASSERT(ch = "c"); + Assert(ch = "c"); Out.String("OK"); Out.Ln; end TestAvailable; @@ -44,14 +44,14 @@ module Input0Test; Out.String("Press space ... "); Out.Ln; Input.Read(ch); - ASSERT(ch = " "); + Assert(ch = " "); Out.String("OK"); Out.Ln; Out.String("Press $ ... "); Out.Ln; Input.Read(ch); - ASSERT(ch = "$"); + Assert(ch = "$"); Out.String("OK"); Out.Ln end TestRead; @@ -59,8 +59,8 @@ module Input0Test; procedure TestTime; begin - ASSERT(Input.TimeUnit > 0); - ASSERT(Input.Time() > 0) + Assert(Input.TimeUnit > 0); + Assert(Input.Time() > 0) end TestTime; diff --git a/lib/obnc/InputTest.obn b/lib/obnc/InputTest.obn index 67d5359..1d27470 100644 --- a/lib/obnc/InputTest.obn +++ b/lib/obnc/InputTest.obn @@ -27,7 +27,7 @@ module InputTest; repeat n := Input.Available() until n # 0; - ASSERT(n > 0); + Assert(n > 0); Out.String("OK"); Out.Ln; Input.Read(ch) @@ -40,14 +40,14 @@ module InputTest; Out.String("Press space ... "); Out.Ln; Input.Read(ch); - ASSERT(ch = " "); + Assert(ch = " "); Out.String("OK"); Out.Ln; Out.String("Press $ ... "); Out.Ln; Input.Read(ch); - ASSERT(ch = "$"); + Assert(ch = "$"); Out.String("OK"); Out.Ln end TestRead; @@ -67,9 +67,9 @@ module InputTest; repeat Input.Mouse(buttons, x, y); until buttons # {}; - ASSERT(button in buttons); - ASSERT(x >= 0); - ASSERT(y >= 0); + Assert(button in buttons); + Assert(x >= 0); + Assert(y >= 0); Out.String("OK"); Out.Ln; repeat (*wait until button has been released*) @@ -88,8 +88,8 @@ module InputTest; procedure TestTime; begin - ASSERT(Input.TimeUnit > 0); - ASSERT(Input.Time() > 0) + Assert(Input.TimeUnit > 0); + Assert(Input.Time() > 0) end TestTime; diff --git a/lib/obnc/MathTest.obn b/lib/obnc/MathTest.obn index caf5a54..d192ffd 100644 --- a/lib/obnc/MathTest.obn +++ b/lib/obnc/MathTest.obn @@ -23,72 +23,72 @@ module MathTest; eps = 0.01; begin - ASSERT(ABS(Math.sqrt(1.0) - 1.0) < eps); - ASSERT(ABS(Math.sqrt(4.0) - 2.0) < eps); + Assert(ABS(Math.sqrt(1.0) - 1.0) < eps); + Assert(ABS(Math.sqrt(4.0) - 2.0) < eps); - ASSERT(ABS(Math.power(0.0, 1.0) - 0.0) < eps); - ASSERT(ABS(Math.power(1.0, 0.0) - 1.0) < eps); - ASSERT(ABS(Math.power(2.0, 3.0) - 8.0) < eps); - ASSERT(ABS(Math.power(2.0, -3.0) - 1.0 / 8.0) < eps); + Assert(ABS(Math.power(0.0, 1.0) - 0.0) < eps); + Assert(ABS(Math.power(1.0, 0.0) - 1.0) < eps); + Assert(ABS(Math.power(2.0, 3.0) - 8.0) < eps); + Assert(ABS(Math.power(2.0, -3.0) - 1.0 / 8.0) < eps); - ASSERT(ABS(Math.exp(0.0) - 1.0) < eps); - ASSERT(ABS(Math.exp(1.0) - Math.e) < eps); - ASSERT(ABS(Math.exp(2.0) - Math.e * Math.e) < eps); - ASSERT(ABS(Math.exp(-2.0) - 1.0 / Math.e / Math.e) < eps); + Assert(ABS(Math.exp(0.0) - 1.0) < eps); + Assert(ABS(Math.exp(1.0) - Math.e) < eps); + Assert(ABS(Math.exp(2.0) - Math.e * Math.e) < eps); + Assert(ABS(Math.exp(-2.0) - 1.0 / Math.e / Math.e) < eps); - ASSERT(ABS(Math.ln(1.0) - 0.0) < eps); - ASSERT(ABS(Math.ln(Math.e) - 1.0) < eps); - ASSERT(ABS(Math.ln(Math.e * Math.e) - 2.0) < eps); + Assert(ABS(Math.ln(1.0) - 0.0) < eps); + Assert(ABS(Math.ln(Math.e) - 1.0) < eps); + Assert(ABS(Math.ln(Math.e * Math.e) - 2.0) < eps); - ASSERT(ABS(Math.log(1.0, 2.0) - 0.0) < eps); - ASSERT(ABS(Math.log(Math.e, Math.e) - 1.0) < eps); - ASSERT(ABS(Math.log(100.0, 10.0) - 2.0) < eps); + Assert(ABS(Math.log(1.0, 2.0) - 0.0) < eps); + Assert(ABS(Math.log(Math.e, Math.e) - 1.0) < eps); + Assert(ABS(Math.log(100.0, 10.0) - 2.0) < eps); - ASSERT(ABS(Math.round(0.4) - 0.0) < eps); - ASSERT(ABS(Math.round(-0.4) - 0.0) < eps); - ASSERT(ABS(Math.round(0.6) - 1.0) < eps); - ASSERT(ABS(Math.round(-0.6) - (-1.0)) < eps); + Assert(ABS(Math.round(0.4) - 0.0) < eps); + Assert(ABS(Math.round(-0.4) - 0.0) < eps); + Assert(ABS(Math.round(0.6) - 1.0) < eps); + Assert(ABS(Math.round(-0.6) - (-1.0)) < eps); - ASSERT(ABS(Math.sin(0.0) - 0.0) < eps); - ASSERT(ABS(Math.sin(Math.pi / 6.0) - 0.5) < eps); - ASSERT(ABS(Math.sin(Math.pi / 2.0) - 1.0) < eps); + Assert(ABS(Math.sin(0.0) - 0.0) < eps); + Assert(ABS(Math.sin(Math.pi / 6.0) - 0.5) < eps); + Assert(ABS(Math.sin(Math.pi / 2.0) - 1.0) < eps); - ASSERT(ABS(Math.cos(0.0) - 1.0) < eps); - ASSERT(ABS(Math.cos(Math.pi / 3.0) - 0.5) < eps); - ASSERT(ABS(Math.cos(Math.pi / 2.0) - 0.0) < eps); + Assert(ABS(Math.cos(0.0) - 1.0) < eps); + Assert(ABS(Math.cos(Math.pi / 3.0) - 0.5) < eps); + Assert(ABS(Math.cos(Math.pi / 2.0) - 0.0) < eps); - ASSERT(ABS(Math.tan(0.0) - 0.0) < eps); - ASSERT(ABS(Math.tan(Math.pi / 4.0) - 1.0) < eps); + Assert(ABS(Math.tan(0.0) - 0.0) < eps); + Assert(ABS(Math.tan(Math.pi / 4.0) - 1.0) < eps); - ASSERT(ABS(Math.arcsin(0.0) - 0.0) < eps); - ASSERT(ABS(Math.arcsin(0.5) - Math.pi / 6.0) < eps); - ASSERT(ABS(Math.arcsin(1.0) - Math.pi / 2.0) < eps); + Assert(ABS(Math.arcsin(0.0) - 0.0) < eps); + Assert(ABS(Math.arcsin(0.5) - Math.pi / 6.0) < eps); + Assert(ABS(Math.arcsin(1.0) - Math.pi / 2.0) < eps); - ASSERT(ABS(Math.arccos(1.0) - 0.0) < eps); - ASSERT(ABS(Math.arccos(0.5) - Math.pi / 3.0) < eps); - ASSERT(ABS(Math.arccos(0.0) - Math.pi / 2.0) < eps); + Assert(ABS(Math.arccos(1.0) - 0.0) < eps); + Assert(ABS(Math.arccos(0.5) - Math.pi / 3.0) < eps); + Assert(ABS(Math.arccos(0.0) - Math.pi / 2.0) < eps); - ASSERT(ABS(Math.arctan(0.0) - 0.0) < eps); - ASSERT(ABS(Math.arctan(1.0) - Math.pi / 4.0) < eps); + Assert(ABS(Math.arctan(0.0) - 0.0) < eps); + Assert(ABS(Math.arctan(1.0) - Math.pi / 4.0) < eps); - ASSERT(ABS(Math.arctan2(0.0, 2.0) - 0.0) < eps); - ASSERT(ABS(Math.arctan2(2.0, 2.0) - Math.pi / 4.0) < eps); + Assert(ABS(Math.arctan2(0.0, 2.0) - 0.0) < eps); + Assert(ABS(Math.arctan2(2.0, 2.0) - Math.pi / 4.0) < eps); - ASSERT(ABS(Math.sinh(0.0) - 0.0) < eps); - ASSERT(ABS(Math.sinh(1.0) - (Math.e - 1.0 / Math.e) / 2.0) < eps); + Assert(ABS(Math.sinh(0.0) - 0.0) < eps); + Assert(ABS(Math.sinh(1.0) - (Math.e - 1.0 / Math.e) / 2.0) < eps); - ASSERT(ABS(Math.cosh(0.0) - 1.0) < eps); - ASSERT(ABS(Math.cosh(1.0) - (Math.e + 1.0 / Math.e) / 2.0) < eps); + Assert(ABS(Math.cosh(0.0) - 1.0) < eps); + Assert(ABS(Math.cosh(1.0) - (Math.e + 1.0 / Math.e) / 2.0) < eps); - ASSERT(ABS(Math.tanh(0.0) - 0.0) < eps); - ASSERT(ABS(Math.tanh(1.0) - (Math.e - 1.0 / Math.e) / (Math.e + 1.0 / Math.e)) < eps); + Assert(ABS(Math.tanh(0.0) - 0.0) < eps); + Assert(ABS(Math.tanh(1.0) - (Math.e - 1.0 / Math.e) / (Math.e + 1.0 / Math.e)) < eps); - ASSERT(ABS(Math.arcsinh(0.0) - 0.0) < eps); - ASSERT(ABS(Math.arcsinh((Math.e - 1.0 / Math.e) / 2.0) - 1.0) < eps); + Assert(ABS(Math.arcsinh(0.0) - 0.0) < eps); + Assert(ABS(Math.arcsinh((Math.e - 1.0 / Math.e) / 2.0) - 1.0) < eps); - ASSERT(ABS(Math.arccosh(1.0) - 0.0) < eps); - ASSERT(ABS(Math.arccosh((Math.e + 1.0 / Math.e) / 2.0) - 1.0) < eps); + Assert(ABS(Math.arccosh(1.0) - 0.0) < eps); + Assert(ABS(Math.arccosh((Math.e + 1.0 / Math.e) / 2.0) - 1.0) < eps); - ASSERT(ABS(Math.arctanh(0.0) - 0.0) < eps); - ASSERT(ABS(Math.arctanh((Math.e - 1.0 / Math.e) / (Math.e + 1.0 / Math.e)) - 1.0) < eps) + Assert(ABS(Math.arctanh(0.0) - 0.0) < eps); + Assert(ABS(Math.arctanh((Math.e - 1.0 / Math.e) / (Math.e + 1.0 / Math.e)) - 1.0) < eps) end MathTest. diff --git a/lib/obnc/Strings.obn b/lib/obnc/Strings.obn index 30a10ab..ba95fd6 100644 --- a/lib/obnc/Strings.obn +++ b/lib/obnc/Strings.obn @@ -33,8 +33,8 @@ Implements the basic library module from "The Oakwood Guidelines for Oberon-2 Co i, lim: Int; begin destLength := Length(dest); - ASSERT(pos >= 0); - ASSERT(pos <= destLength); + Assert(pos >= 0); + Assert(pos <= destLength); sourceLength := Length(source); newLength := Min(destLength + sourceLength, LEN(dest) - 1); @@ -73,9 +73,9 @@ Implements the basic library module from "The Oakwood Guidelines for Oberon-2 Co var length, n1, i: Int; begin length := Length(s); - ASSERT(pos >= 0); - ASSERT(pos <= length); - ASSERT(n >= 0); + Assert(pos >= 0); + Assert(pos <= length); + Assert(n >= 0); n1 := Min(n, length - pos); (*actual number of characters to delete*) for i := pos to length - n1 do @@ -89,8 +89,8 @@ Implements the basic library module from "The Oakwood Guidelines for Oberon-2 Co var destLength, n, i: Int; begin destLength := Length(dest); - ASSERT(pos >= 0); - ASSERT(pos <= destLength); + Assert(pos >= 0); + Assert(pos <= destLength); n := Min(Length(source), LEN(dest) - 1 - pos); (*actual number of characters to replace*) @@ -110,8 +110,8 @@ Implements the basic library module from "The Oakwood Guidelines for Oberon-2 Co var sourceLength, n1, i: Int; begin sourceLength := Length(source); - ASSERT(pos >= 0); - ASSERT(pos <= sourceLength); + Assert(pos >= 0); + Assert(pos <= sourceLength); n1 := Min(n, Min(sourceLength - pos, LEN(dest) - 1)); (*actual number of characters to extract*) for i := 0 to n1 - 1 do @@ -125,8 +125,8 @@ Implements the basic library module from "The Oakwood Guidelines for Oberon-2 Co (**Pos(pat, s, pos) returns the position of the first occurrence of pat in s. Searching starts at position pos (0 <= pos <= Length(s)). If pat is not found, -1 is returned.*) var idxs, idxp, result: Int; begin - ASSERT(pos >= 0); - ASSERT(pos < LEN(s)); + Assert(pos >= 0); + Assert(pos < LEN(s)); idxs := pos - 1; repeat @@ -143,7 +143,7 @@ Implements the basic library module from "The Oakwood Guidelines for Oberon-2 Co result := -1 end; - ASSERT((result = -1) or (result >= 0) & (result + idxp < LEN(s))) + Assert((result = -1) or (result >= 0) & (result + idxp < LEN(s))) return result end Pos; diff --git a/lib/obnc/StringsTest.obn b/lib/obnc/StringsTest.obn index 1958cc4..f3933fa 100644 --- a/lib/obnc/StringsTest.obn +++ b/lib/obnc/StringsTest.obn @@ -25,93 +25,93 @@ module StringsTest; begin (*test Length*) - ASSERT(Strings.Length("") = 0); + Assert(Strings.Length("") = 0); shortStr := ""; - ASSERT(Strings.Length(shortStr) = 0); + Assert(Strings.Length(shortStr) = 0); shortStr := 22X; - ASSERT(Strings.Length(shortStr) = 1); + Assert(Strings.Length(shortStr) = 1); shortStr := "123"; - ASSERT(Strings.Length(shortStr) = 3); + Assert(Strings.Length(shortStr) = 3); (*test Insert*) s := "cde"; Strings.Insert("ab", 0, s); - ASSERT(s = "abcde"); + Assert(s = "abcde"); s := "adef"; Strings.Insert("bc", 1, s); - ASSERT(s = "abcdef"); + Assert(s = "abcdef"); shortStr := "ade"; Strings.Insert("bc", 1, shortStr); - ASSERT(shortStr = "abc"); + Assert(shortStr = "abc"); shortStr := "aef"; Strings.Insert("bcd", 1, shortStr); - ASSERT(shortStr = "abc"); + Assert(shortStr = "abc"); s := "foo bar"; Strings.Insert(" baz", Strings.Length(s), s); - ASSERT(s = "foo bar baz"); + Assert(s = "foo bar baz"); Strings.Insert(" qux qux qux qux qux", Strings.Length(s), s); - ASSERT(s = "foo bar baz q"); + Assert(s = "foo bar baz q"); (*test Append*) s := ""; Strings.Append("foo", s); - ASSERT(s = "foo"); + Assert(s = "foo"); Strings.Append(" bar", s); - ASSERT(s = "foo bar"); + Assert(s = "foo bar"); Strings.Append(" baz qux", s); - ASSERT(s = "foo bar baz q"); + Assert(s = "foo bar baz q"); (*test Delete*) s := "foo bar baz"; Strings.Delete(s, 11, 4); - ASSERT(s = "foo bar baz"); + Assert(s = "foo bar baz"); Strings.Delete(s, 7, 4); - ASSERT(s = "foo bar"); + Assert(s = "foo bar"); Strings.Delete(s, 0, 4); - ASSERT(s = "bar"); + Assert(s = "bar"); Strings.Delete(s, 1, 10); - ASSERT(s = "b"); + Assert(s = "b"); Strings.Delete(s, 0, 0); - ASSERT(s = "b"); + Assert(s = "b"); Strings.Delete(s, 0, 1); - ASSERT(s = ""); + Assert(s = ""); (*test Replace*) s := "foo bar baz"; Strings.Replace("qux", 4, s); - ASSERT(s = "foo qux baz"); + Assert(s = "foo qux baz"); s := "foo bar"; Strings.Replace("qux qux qux", 5, s); - ASSERT(s = "foo bqux qux "); + Assert(s = "foo bqux qux "); s := "foo"; Strings.Replace(" bar", 3, s); - ASSERT(s = "foo bar"); + Assert(s = "foo bar"); (*test Extract*) Strings.Extract("foo bar", 4, 3, shortStr); - ASSERT(shortStr = "bar"); + Assert(shortStr = "bar"); Strings.Extract("foo bar", 4, 10, shortStr); - ASSERT(shortStr = "bar"); + Assert(shortStr = "bar"); Strings.Extract("foo bar", 0, 6, shortStr); - ASSERT(shortStr = "foo"); + Assert(shortStr = "foo"); Strings.Extract("foo bar", 7, 4, shortStr); - ASSERT(shortStr = ""); + Assert(shortStr = ""); (*test Pos*) - ASSERT(Strings.Pos("", "", 0) = 0); - ASSERT(Strings.Pos("", "foo", 0) = 0); - ASSERT(Strings.Pos("", "foo", 1) = 1); - ASSERT(Strings.Pos("", "foo", 3) = 3); - ASSERT(Strings.Pos("foo", "foo", 0) = 0); - ASSERT(Strings.Pos("foo", "fool", 0) = 0); - ASSERT(Strings.Pos("ool", "fool", 0) = 1); - ASSERT(Strings.Pos("oo", "fool", 0) = 1); - ASSERT(Strings.Pos("fools", "fool", 0) = -1); - ASSERT(Strings.Pos("ools", "fool", 0) = -1); - ASSERT(Strings.Pos("ol", "fool", 1) = 2); + Assert(Strings.Pos("", "", 0) = 0); + Assert(Strings.Pos("", "foo", 0) = 0); + Assert(Strings.Pos("", "foo", 1) = 1); + Assert(Strings.Pos("", "foo", 3) = 3); + Assert(Strings.Pos("foo", "foo", 0) = 0); + Assert(Strings.Pos("foo", "fool", 0) = 0); + Assert(Strings.Pos("ool", "fool", 0) = 1); + Assert(Strings.Pos("oo", "fool", 0) = 1); + Assert(Strings.Pos("fools", "fool", 0) = -1); + Assert(Strings.Pos("ools", "fool", 0) = -1); + Assert(Strings.Pos("ol", "fool", 1) = 2); (*test Cap*) s := "foo Bar BAZ"; Strings.Cap(s); - ASSERT(s = "FOO BAR BAZ") + Assert(s = "FOO BAR BAZ") end StringsTest. diff --git a/lib/obnc/XYplane.obn b/lib/obnc/XYplane.obn index 4c88ee8..04fe889 100644 --- a/lib/obnc/XYplane.obn +++ b/lib/obnc/XYplane.obn @@ -81,5 +81,5 @@ end drawpixels. *) begin - ASSERT(Input.TimeUnit > 0) (*silence "Input unused" compiler note*) + Assert(Input.TimeUnit > 0) (*silence "Input unused" compiler note*) end XYplane. diff --git a/lib/obnc/XYplaneTest.obn b/lib/obnc/XYplaneTest.obn index 1d2ef37..c241114 100644 --- a/lib/obnc/XYplaneTest.obn +++ b/lib/obnc/XYplaneTest.obn @@ -26,10 +26,10 @@ module XYplaneTest; & (y >= 0) & (y < XYplane.H); XYplane.Clear; XYplane.Dot(x, y, XYplane.draw); - ASSERT(withinBounds & XYplane.IsDot(x, y) + Assert(withinBounds & XYplane.IsDot(x, y) or ~withinBounds & ~XYplane.IsDot(x, y)); XYplane.Dot(x, y, XYplane.erase); - ASSERT(~XYplane.IsDot(x, y)) + Assert(~XYplane.IsDot(x, y)) end TestPosition; @@ -73,18 +73,18 @@ module XYplaneTest; (*test SetSize*) XYplane.SetSize(640, 480); XYplane.Open; - ASSERT(XYplane.W = 640); - ASSERT(XYplane.H = 480); + Assert(XYplane.W = 640); + Assert(XYplane.H = 480); (*test UseColor and Color*) XYplane.UseColor(00FF3FH); XYplane.Dot(100, 100, XYplane.draw); - ASSERT(XYplane.Color(100, 100) = 00FF3FH); - ASSERT(XYplane.IsDot(100, 100)); + Assert(XYplane.Color(100, 100) = 00FF3FH); + Assert(XYplane.IsDot(100, 100)); XYplane.UseColor(0); XYplane.Dot(100, 100, XYplane.draw); - ASSERT(XYplane.Color(100, 100) = 0); - ASSERT(~XYplane.IsDot(100, 100)) + Assert(XYplane.Color(100, 100) = 0); + Assert(~XYplane.IsDot(100, 100)) end Run; begin diff --git a/src/.Oberon.y.swp b/src/.Oberon.y.swp new file mode 100644 index 0000000000000000000000000000000000000000..0627e870e1c18ed2153d21a6056ddbb8866ef7d4 GIT binary patch literal 131072 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�@Oxzir(lO+ts%Q!e*}bTC#suPfLJdVF zt$+F>6%S=XCw($)Dz0vtJ>#ymPmK8bQ+PPLk$%D(j{fsur!1F_Fnpt2Rg`(jZZtIqf#?;+>61>Tk4>RoL|08=Dt^uN{YH-r*cV_lAS72U5G?n zu^I(2hjFPVV<8un8Mk(_ADQV4NoOVlm^0`8QadX)NYwMSYdd-e6z**9V2N$!%8L9M(e1< z7w4k5H})$`h*JN2{i4Xb?a5ii~1KqIeWnSf#a zVc+IKTapq>nJ9#&@{DInb3s)gEqvDtxk67bx?<5hD|chA30iU4KXHz-=c{q!juJq& zs$Rsk&?Z=9Erw>o@uTV7+c4wQ8!*|#jci&)!r{Oz;}#^-wmA{c=L46)n~n zh($xYFHsz9;L@oJUSE;@k9peiCfQqz|6j=u{nL2=J3#aPSHpeaPVDyg!9~ywTKE4= z?C_i6KjC_K8ECxy-k`nw-wE2cUvu{_0ga^>=kLq@{y1nn{r#Z*`kn#7=GMM_gP^_p zpA0(VPh;%bv;Sa_J^o;LAUpuHUx4iLAHw(GdiW3ccaWX_ez*>sNU-gvEejXZsqCF44r~T?$IWISs+2LovG)gozs_ z88rkGb{+|_37d_a%}A%jF`Mh#Y%-U~RV_PPyrJYSoAIM@BCkQBdMEZO*^Ln}ib^-! zw)l(*P6(;h8J{s{#koU+tXgavvdN(528G?-=j3z^=+`-c)ZHE$cWu5zYZ7ZSgY_Wi6XUS#a9(6F>KmAN%`oFS7W@l9<6O$@czr@(@ z(@;H+^Qark%2L^w6;XPNC8TuABDF#tbjM`2+$|0mvNg+!W=zQk73)p}dUX`KUu>)SiKHuZHVd8Yi>t4`6eUr||RXHDC23WmLI z|0~s~syP!`3P(@Z!v?;|fxGHz*_k0ArjXrA4Qg=sXguAbMOH+SXLS0f1 zZm?tRfqAsNMl;eUs;P3v{ZK+qbLyt8Tg{1-JI$=3K_ie92{W}~A8dne8OjUAsUk1q zT)tEl!|W`B(ebFJT{r=mRrv6NX$fI`D0v?qsdL_Ety$=w86B!(B}k@9dJRW7*#w5^#gr-&I~_Ul+*>60LDr70AKFA-%3T zmyf=^E?Ghh7cHVZculcPzwe@#Db#*y_Rf++d*%HrJ|5Y!yQEi#C17EL6=xI{e2h_` zCL+>NH=1K8maO|)UTK#Y^#-@Q>qJ8Qi6B{WADQDTscSd=5Q|Fa;7v5AH{EygA}o9<{aKjEGgrR3e4&oYUm*I?`8{S7y!tHN*?7jghe&EMR|sv zCVP_d37^k$I?KD z9%wIstx$mx7>1Rg`TdWC{ow)deS8Bqz!mT;(0>0b;lXejzJZs(78ryx;S4w(R)WU( z9|{kKPvbAR89oU&!J9$j{1Y$+XTviIsE6rESw6P;1G~+A%TP7ci8^F1+#7!0ik|^4fpJ&? z`@!F^`Tq;P1Gm7-LF4{)*an)H|44WUXzzggz#p*rwTHm>;k$4vdW%wN22%1N){Q-}IV_*@; z#=jrj2ks5~z?ZS%HKu z`J=r&q}a2R*L8?^=uo?oBh9+bZ;MiH?^njB>a%4*9AQBOyINChYJR-M@6sXj-Z$vT z<=}SR2#2(#ugCjzq+xNsn5JU6fTZfA>YjVV@A>2IOUTFSU3qe>XI-GYNUh`eC57vI zs%SvNK0w|h0VM?In)J+4r*jcjdPGvsWTq3G<)+hI{dByuQ04)jNJcU@sdjd1w#kDw zeNcL`E-2UixL9Q!uN$>;sdm3B5lgh3u5zyL1#$tjHl2Re5QyslBwtE%E#73 z_{}5~(^@d^RxBOia97rC>2a-5n?U9Ea@rmoL{lj4LJ`u7SA(~rV149QES;Isn$gA# z3n9BoSgCJ932O_%xwjQ}_vQ2uvh)ELYdt|r(|Su^b!6KpDr2ozKstI97F`J1IUR~l^ zwqJnj#0Fnc`$%O-o!Y5unJRp@TDF2q7ejijdxDH~buIczs33n0_Eu#T1+9PG~OfL3J4Ucv#c5Mq#!^dQ)}L85*h2Icv$`sr+}-tGpTJ zOr;sBU-HdDkyKt}G4SodZe(piZ85ECp|!=eTtO2~)Lz`<_#>piP2g|L}SwpA?*(sS|ujU$OdB{$sXbjCw{)m#gs{!_Pw0AWG*H;-D z+mqP&9nTxW>+}bb>_PloR@z~=VVt8O_-IoGlXi`1_lapNr%lY%%uaPJ-e2F&Igr%q zLfPf_U5!7fgYj6tuchEf`H||d`rx#3(f6i`)l9ZOh-PuSoN>BHe9Od(iK}Q#!#&)E z&%JwQd`pEv4z&!r+y%Hd7&>tQWZPhN>UK23$VV zmb($;+or5UvK?FGkafdhd6^W4;3ZR3O{`09GRwgGDZATls^SUVd55s@v>NjlIHl9&z*h!UHm zlQbmV(65`Y2r3F3V4|QiC){@3`MY2ZTo0GSCqd^68~{2aa1;0) z_Pgx-8{s;*0=@=cg>&Ka@Htow+CT76*d3n4j=u};1kDf79RJ(l6!-+}2Aa>m1!xWa zo$wtv2Q=<48~;YoIR6(w`~P*oi`eQH!T{_Jn}gQFe+x7p{{ol;yTVk^8u$(1eq`ew zxEpSTQ{iY>29le_(CnWRb|>%^-MwmG_y?LU2z51OZtP&Do}4;%?sa~8xin%tPg|4i z&?k7(-I4+Ql%5Gw$6ZKGEBE~mnh19@MXZ26;))SN?pJ>c^LkR}xUFZYHa|@+(9l^f zeo%eqG`za{-A!J;Thokm>Co4w%;Za?w$lyrLLECd(OCUD{mVB^b|!7@8#tTOp>;9O zxx7wY&J>?bMd2cm7gQxaUO(I$)1Ex@2u0`!xK^W(j5rZhAJ}g1Zf2+)cTh7 z_pmO>-Z4oweFziXtn^r6tTxKG#%fJyD+d!%!Dt96iE=ett(n{j8%Z|>T@+rUiXH2wL<|gZ?=FEz7w1RIsSU1}J6eBU+EV_!F z0;$h#>09M@SItO=D+%uSUTex4hSO8ld+W2lgqmf#zZX=V-jJOMvpT!G_Mh9aaNdH3 zH<(m4L|$)i6KN0?ZEaRzY5T9CkX7#K)9N&TTl@C4i42s5S4vKu{~>OVCS8#=bNHqb z4~3Jh;NA0U2CZP_A&K&I%k|xEwBqct6cqB=*wE(C|6#~R!h)7kWkwIyZKBLR`&kI; z6j4DWd$dE8&8^s1EYIGCa;%cpVnG%imgP~q8F3BCadJXg>QD(yukt%UxfUEHnJ|vb1=Ktf;~(@f-BH_jYuL5;1uHMyNOoNsf{QjuH0!2Kk}mPbC555KV9Hp{ z6HYbJ7~VpHd)K~m%<89fQyAECV~i$996%ZG_j%EVI7;wr&F~^|ZqJwSSuvuxK%gQj zr?=Px#VIS(gN%B+yc9sLWvw{Ub(jKq&K))kgYB*l`fFYT&cG<#ztv6wLP!Wl!+`1P51#8_rx zXyQxrkR1tDWNWQF`+`cWvV&Y+RTtst-(F{m5P$A4=w&HA6^5BhP!plbXFM=jkIxSV zn)}0v4>FqL{%tY9AB;K1;*%R?r9sT2ITy{vlt0XfRs8Kc9>EeKH6x|kCz>Os+s}l~ReeK?mp9ixQLZF> zDO;@XEX0g+ZVZ*W?@5=cBm6mTv+3xFDOX4-sZpPI`o|>L={tgo9lb73`X%X^%7&|1 z)796H8;Au}{%aZi>pdPtvkfaL=FVJ1XIN`^+qPNarV1a~JG82oRX003-&tcI%yJjO zl(zQxxDHyM*w)U>{#*psq`EpiK4UJ)XhnwPn#i~z=B01hf5sTSbSaaM5R1|ZJ zGJQ{#f^n&ga^yv&NlJ?WU7ya`buqQR(LUT&lFE9Q)Pw)TVw_5_Q${{5nw}B^C}YE@ zth*NDDWrEo*sib8jdL$5@7~Gfr^!?)vVDw)m3w-*xi`CSu$BgW+D!`)f-3ENf^**L z@A_Gmsf8fCmEa(bLA<$X9A5GJbED<+rl#pV;REmd6 z3lB>K4OEyc;~Sp*Frty?y1GG%;FmK&%3O{-m%N%L$BU(GZkXswQswHH2{N{c${mvy z5|mS+MC4ydAH)XLdylgd)($FY$E7qv5ewECbLPu(05jaQ*Ere#JCjFm#HN(}KfwR= zPvicl!Ccr9{*KN5Q_#77)8GMY^^0LSybs0RJN!9`1nCU;wmF{ZY^d%i(RX2|R~Q|18`Lm&3_$5VV8N z&U+Ml{#y7h$kv|+bKpbJ1qXo6$a@cHo&3h|Cv1GppT8NdgKxlU&|3LpKy&E3;0em- zSMYPV9bE_wL)I7XR!2E-f8vP%;k<*?C{-qIah-e-nqJ6pReR?&NpD9 z?e6+Wr;nE{R)^FS)L4yJiwo|0R;=ndfnztA%c_wvZK*EvT?=fy**JA*VCu}ap+S~@ zu5d@{xz4(K0lxo~CjV)6YGAr07iIbpJdNqMf37eOF5UB!0@F`7Yc2g+xZq%UUQ1ha zm7{B4!%zpmQ-druA+2tUC+S<=s48>UHYjGq4c)H}s22uW7_a*)Y=B7|{yN;VVt(3I zHYq$OMm`cBgKgRU$i3_5+RN$Tk|$`RV{gR9YX7!Tkw?~^Fk|thAI60KILzz%lOudr z;Z3AWy}HVjs3A zEi~kUk&klQq}m;0&XTHy(ep5QCXbvg#%^|&S6OkXhm-oIc3fTsrUEGDUCwha&&9ii z$(#0;EB(3-s=Y5UbaES4cKe~mf}S*rGTLqZ!G$zNUr|@^Pl2ZDsB_ztBODFA%Ke175a1xW&6I_ymyu4}7 z74o=gN`tp}j1pRsxlP}md{WeON>iit<++tA718l8w>xzcPE2#=8baR{DbAxw9*-Oq zrJ|9W1x}45WgEQ>E?n8C89^SgK&pi$3aS^5`2DX`KBT-CO4{}*nBCIj>0jy+C?Hdx ztaWacziS*Cp9($ZmY#AY=CZldy{49OIkvnm4K=qgEu4j$-ZD%g8A;#=4q%O!;N#asub&?(OBl{HU);49+FsF5|cm4wtcH67b%Dmfe72uIFQ-;woiDuzzI!dx6a|ExQu z>Oo%;*?gMl?0-z=aeoZs|FvK^YRnD zpt1jjpt1fA*cRRh*We>K2ljyvfX?3A0$#>PpmqHh!a4A1(0O~C!COId{Iy^I9iYAV zhoKJ+1?>m;TYLsLfzHzVDCiu$13_o$Y5xAZU_#MvJRk2R`~z3QrSK&<9ah3-Aiu%6a29BVCD%pna(D1Zs?Nj7sR`F)tug*rOc1EYkzTQvgBTqJUbX_^C9!K87O=?@b{(0 zV~DoJB~|X7p%)`rWkpfh6$<9B(JzwTCqks@L$eX)O|2^HSw%=K(e zlgQCzi+{IUJm+#FB`02Lo*Wa(CMUWD)+#Y^h@+SubG3PriUDn^jDKRS5*G8mL*mg| zp%tVhKHs{m#3#%ft;iuh&1A&}jnZknM-7gdN{35F5N`MIj(htt$t-1|`;#w>d2Pg% zvA(J!uWGGm*JXXwN?R}fDLLU%bJ@>EV)G*PC-fHqlUs47yjVr8z%r?Jx&>6KOkjJ2{@n|7w#?>A8|+UaUl*7&*>*D&)q z0c~+5_i^&NI|p*bWDNIu|Gd{|+pd3&=GGaNie^C!YyrkEHX|HfQ!%#Y`#An*e#Un& zWVyIb^+*D^el%K2PF7Z>`QTHN1KILkHySOa%;>5nNi(5r+Qv|$r34ifRg*Lo1KMPb zp+-x|8cCoEqHF?(bd4m)@d+B6^vW#UGt_$?)9%kJ)@V7EueL_pM;a}TpAGi<(LE`U z!l+3yR5UzehE0N6(KL$AG(74?OWh(Yw?TD`G@4Iw2(6?3!iiu z{{EUja2|Xfv=`qH91c2bPiyr5f=&P5a61fx)&M+L)_V+YgX7^?(7E;tL3{2$iY>4G_7{Qn)SmJ+O5O#n~;6=()YxchY zS~IXO>cUa0=%`kG#fZO%AJsHDw65kVy_4u)UC`6N ztap*ySAziE!z+WZo6y+>VJ_w<3QDvXqEU}3N#WIMKPz*B&SfYU2`?< z!uX8Vy*1Bl*!5-2^D18^u`kiw!Z4w%z8E|2T1t=UJeHNblR^zdv8k0Ranalvwf?f^ zK|v7OQi9Co=6O^MXtT*G6)RCAyMu~lgi=k(G9^-)PX+C00ynD0V%-eYB|c$axh}hy zE$Q0*>zAFbhbp=LYUFFILWbm+npP@jUWuAeR`AENK9=?-nj~rcRL2$zZ47H;c;l;H z8F!q%{+&a6ufGP8R~40SbLAiPWnF_bb`4}okEv=+q~C;EM-?(9s94dOq^TItCTk2E z$doKoBBf~>yDFJp`Ks5+IgJgZ?0-znac!~(vHw36jKZg}@o$6G@FAE9yMxvOybhkh zzP|%j!|8A$48zf|2y`~!6xb9V!QQ_T&VZTl0=E4h;W4-e{sYc}!(b2i8}|M8;Tq6- z|1+Q;G}f>E_;se=eQ-P60zZWB!f7xUx?o?}8?>fiGE4-W>9-@?i!b1A_yJr8mx9jk zI}VnB_VC*Pv}fOU;4;uUgOg!8yo4X%d3XYD1Fbix!3y{|91b6bPS_4MgJR(QF7P0QbtfDK`@x>D8%&1x!n4@^I&)9H zfqr;_a(xKygS$Zc_x%vgfulfc2D)H3m`>m+goIYk^sAmycFaJHvxtsk zXW+i$`fALE8CmFDxHB9l@#J3iyAVBS?`phhD!UI0A%VCmHYVEG09G=y6$a>3R-t}6@VUkgr!^XkT z%p8Muh!?bSCerp22?R3hn8u5EZ5E$P?O5 z>>V7)Q&EdGp=?ycbyNIz#U2aFU|RUFcqxCGnb?|dYQ#NCzISkD2SHRVIdrHZeic$O zP+GD-cbrzPhh9M$?y%0wFlp(efLvZQWcsA)OgDZtJv*O$-GVU2Y|XCPcqNzF*jk8D zgZcEwU+70lI(~w=nv*f!d<6l_N0{LGJIuu#M}uDFmaSa2AKRKlO&Tlj@xtE0m31Rg zW8*P4!tK>T5~!$+ z28CI$1@hfcv}KA*fr_!=JT~fA-(5PyGAjL>vU-HNJGJGyJF9Q$(oxjiLdKY?-6UsR zsHyepCFYH-g$n7?v-3_n#|}??M~k_c^mnUn)mW{|)JM$47)E873e_f@045(z@DbEU zAveuqS&Nj3S_~NSH2zfmYMQ!~r=?G*K2{3p==IptF>e_^QPnaQayP5YG?ToWC~&?Md(lcnIzWohA5vxEgehpw=6l z4ktn%EP{ogvjjf~Q$S}5z5_M_ohSH|d=Q}Z2sglW@O8Kl&V|pwr{EZn-(n@KfLSmT zwt&q+`xib1Pr}WhH4K-5&LPmbg4zo~XAfM7FX96DGRRMH9%$XdJlGTV0PT;UGX{0O z;IH6^a4CEg7QhGKE%17H0e^(f7740`!XtIyp^ zWM4>wswaB5Nax-Ymdh*y-xa;n4alg*o?_A#V$zn>5gyP=~^G zDykd^?z~<)RYR=zAv%^&1rMKZJ=_pFwJbOa+{r6B%uvtZGQU$_(9+f3h`xT7$sWT- z1DxvV7P-~5V%DF|+BS8%J62a|&8K)(t!}J-2b&5{C8hohKK46E%YW5HORf*M*}nbk z&~D?N(bu}&8`GwX_6wc*F}f*-POqfLy|{OYHWI4HJ`J~56h-xS)!a&xwxNN6wiN^Y z%TmTQ?rSxbTPG?I239^3}*KDHL~VP!hR47)H?8FE$i1tW}P~#JBYM4p!cF3>x@!pq|8+g zV>Zn=VJH?}{9-HqYHRg*F?}w0UE;fHWlt*2`N^ExnWS{29_glF>W%+2DN0XC1#9KoVOOBruQX)4A;VzrOqv=tyvZ==>zr80LMiN& zT^l~KHqn>n9$>vY>MXk#F~F)fKzGQ&Y&R4xDd(5-h%iv3gE za)0nx-doEoR5zPk6;4PnLHI->A;0yGIBAV|z20`U%e}&Hp=OFv&-~M1-;mb++A3<| zrjJy2rXYvH4f$;$X+>K(;vj03mTKlUUESM|bT9f{-BlHCo36PgSp8(RRF>OJ-zNua zm_TEKy*-+P z?O=j63@qhf^A_ZA4Zf%xjFFQZu5lP82V?*s2W%V-$N{J2V2uvv9Bh&a=DdjInKIP` zYcSGtY?Do}CNo;C*2@p`Z0gV35Oh%7Y}nA-QC*8Z$tKNMinq|DxSr{e?2jEcL^l1D zswZ~ZX(w76`;a;r#l4eEMNch#+e!Y=V7)5oGPi?EseW?GC$wNq6_m}Jn5rpllYH_k z@^DtNS_-y@Q)wpcrM&`~II{nh+2@A!|K0qpf4|0-e*m-(faU;b?!V6c+YEk>js87& z3j6w(a0i?X2g3hiBX0-q2A#dv0TW?6cnn+i$8bLMg6!E-U=Z-ouuE^O3mLF4K*m;tuZA;W8SD?*pMNjVT>J~MQFX5Uhv8vtRgI(H3^&3Jum%o?!=N1=CO>Zl%|QXSFZI{x!?{WFYgc$m{Lp)g6gn6^9!7mMtF&Pq_|e%!)W~E-ga}8))wl&+Ouujv>)(ZF1-Vtsgn|8(ZCs!yH`heK^b%1^;_ z<8(Y<VR%CKjlwo1c=R9E~yAN0c1EVwSNdC=vB`JDo~@AaAJ!uX{xrRS^Z zH6*C`sL6%6`Es~aDt(254aO;Lxju#_u`W87z13=QRp{<(U*$ga`wJehW~QrmE^RZV(MjSwC2?=G zay^A}t2#|J^)!Z%tJ)|NBfS+}gax~LLpf)H&acNW@m8 z3&-`c-oelnunu=C8b)LJXw$}2Cdwv`cN>=%6Ukzf@$B_8ZfYO#eEB;|wBhK)wBGaQ z^=VTrE!FpuOSMjouM@ zJx%pYT>;Yj%5s-FclwUdhB~p4(B|Y8gZb+*SfLA-AF-M?um9KDaE7 zmq6V6??V38-hVS-8fY!R2Ji;BAAi8jpmhKPpz-|8VI2G&zraiIH~1@P9RE_73lHNb zxD{@O8{r061KJbdXgB~K!gugfxCu1gz6P!b?E$z9y5JG~3Ae$Oum@}lZSaqO56{7cZ~?4@jo^>?9DWB+!&9K~^M8deLLX>PfCu4z zxDRxuz`daHa``3x8P0~oVL#XbwgUMjp2Yv~Fx&`V1^FjF3EDs4V9>q+?}4|$i})gL zhc)m$(0PIjU?%Je6X0=t6u*XFzzy&dxCXujSHo2>6FT5!%KZ_LFXJ*e3kF~TNG9F~ zb^peXKWUrUbLQayMcuk4)BSQA>Yq&Km)o6(&YY9(>W95Kt8-?$$KUqW%mZ?y{B3Wc zPJ0K3(t`}sbT05`284HZbmwRJyYTFc?)>14?sQ9z`o6^)guzCq85>?a)OJ$%>4$Fm z>A~*h91?yX(7oDDZu5WD4*wXH@1$|b&tdGP`FS9Hesm*rbT70gddnt}Yo+c$?_?m! z2U6a=+Q+!;*?-HG-TQ)nR zwIMPIM|~tC9$Xt^aVgQv#QGR?t?Y=`l!=8H!X&)%dXjG}*%!svl9cWmJ9`MIl5M6*t)E2gxNzC@i|<>Xn!G*sHri zuCwX((MEWbv^Et=%SLx_6Uv{$*tPc$SqEzD8-@i4K4bJ5?e4{X-{z!I3O*Ih<#R2& zQrCheaS?_oPXo1AkR_C}`qJwl50W-;#n)OkglArroT#BU8P9iO(Wrlok@yxEJSAQU1-g+%UDMf@}Rtv^I+zWwziMj!`Cc% z-Xtm53^{G(b^4ItVH|ZqjYT0L!89yd!Z?OiyQ{%rJ#rqb818*lGGGX4_s88eo(nR9 z1EWTFvWb!}T8=&k+$f4y_|7QIL&Y(N(xjfeN4=Bla@kQ`U5DA`Tw2xb{?o{$$Z`Wx5OJ`yF9$KHe!#4^*ry;a9A5Jws4k4ATh9izgM$OwK1Cs%o!k aTa_?hon2n(iciNYXtK!}rdG5xuKRzE*{X~H literal 0 HcmV?d00001 diff --git a/src/Oberon.y b/src/Oberon.y index e9d7ea9..a8290f4 100644 --- a/src/Oberon.y +++ b/src/Oberon.y @@ -3590,7 +3590,7 @@ static Trees_Node PredeclaredProcedureAST(const char procName[], Trees_Node expL static const struct { const char *name; int symbol; } symbols[] = { {"ABS", TREES_ABS_PROC}, {"ASR", TREES_ASR_PROC}, - {"ASSERT", TREES_ASSERT_PROC}, + {"Assert", TREES_ASSERT_PROC}, {"CHR", TREES_CHR_PROC}, {"DEC", TREES_DEC_PROC}, {"EXCL", TREES_EXCL_PROC}, @@ -3600,8 +3600,7 @@ static Trees_Node PredeclaredProcedureAST(const char procName[], Trees_Node expL {"INCL", TREES_INCL_PROC}, {"LEN", TREES_LEN_PROC}, {"LSL", TREES_LSL_PROC}, - {"NEW", TREES_NEW_PROC}, - {"ODD", TREES_ODD_PROC}, + {"New", TREES_NEW_PROC}, {"ORD", TREES_ORD_PROC}, {"PACK", TREES_PACK_PROC}, {"ROR", TREES_ROR_PROC}, diff --git a/src/Table.c b/src/Table.c index a3b0f2d..f375689 100644 --- a/src/Table.c +++ b/src/Table.c @@ -81,7 +81,7 @@ void Table_Init(void) static const struct { const char *name; int kind, type; } predecIdents[] = { {"ABS", TREES_PROCEDURE_KIND, TREES_ABS_PROC}, {"ASR", TREES_PROCEDURE_KIND, TREES_ASR_PROC}, - {"ASSERT", TREES_PROCEDURE_KIND, TREES_ASSERT_PROC}, + {"Assert", TREES_PROCEDURE_KIND, TREES_ASSERT_PROC}, {"Bool", TREES_TYPE_KIND, TREES_BOOLEAN_TYPE}, {"Byte", TREES_TYPE_KIND, TREES_BYTE_TYPE}, {"CHR", TREES_PROCEDURE_KIND, TREES_CHR_PROC}, @@ -95,7 +95,7 @@ void Table_Init(void) {"Int", TREES_TYPE_KIND, TREES_INTEGER_TYPE}, {"LEN", TREES_PROCEDURE_KIND, TREES_LEN_PROC}, {"LSL", TREES_PROCEDURE_KIND, TREES_LSL_PROC}, - {"NEW", TREES_PROCEDURE_KIND, TREES_NEW_PROC}, + {"New", TREES_PROCEDURE_KIND, TREES_NEW_PROC}, {"ORD", TREES_PROCEDURE_KIND, TREES_ORD_PROC}, {"PACK", TREES_PROCEDURE_KIND, TREES_PACK_PROC}, {"ROR", TREES_PROCEDURE_KIND, TREES_ROR_PROC}, diff --git a/src/y.tab.c b/src/y.tab.c index c754de4..aaab518 100644 --- a/src/y.tab.c +++ b/src/y.tab.c @@ -5568,7 +5568,7 @@ static Trees_Node PredeclaredProcedureAST(const char procName[], Trees_Node expL static const struct { const char *name; int symbol; } symbols[] = { {"ABS", TREES_ABS_PROC}, {"ASR", TREES_ASR_PROC}, - {"ASSERT", TREES_ASSERT_PROC}, + {"Assert", TREES_ASSERT_PROC}, {"CHR", TREES_CHR_PROC}, {"DEC", TREES_DEC_PROC}, {"EXCL", TREES_EXCL_PROC}, @@ -5578,8 +5578,7 @@ static Trees_Node PredeclaredProcedureAST(const char procName[], Trees_Node expL {"INCL", TREES_INCL_PROC}, {"LEN", TREES_LEN_PROC}, {"LSL", TREES_LSL_PROC}, - {"NEW", TREES_NEW_PROC}, - {"ODD", TREES_ODD_PROC}, + {"New", TREES_NEW_PROC}, {"ORD", TREES_ORD_PROC}, {"PACK", TREES_PACK_PROC}, {"ROR", TREES_ROR_PROC}, diff --git a/subword b/subword new file mode 100755 index 0000000..6cda803 --- /dev/null +++ b/subword @@ -0,0 +1,2 @@ +#!/bin/sh +find . -type f -name "*$3*" -exec sed -i -e "s/\\b$1\\b/$2/g" {} \; diff --git a/tests/obnc/failing-at-compile-time/T7ActualVarParamImported1.obn b/tests/obnc/failing-at-compile-time/T7ActualVarParamImported1.obn index 06797e0..dd44ca7 100644 --- a/tests/obnc/failing-at-compile-time/T7ActualVarParamImported1.obn +++ b/tests/obnc/failing-at-compile-time/T7ActualVarParamImported1.obn @@ -20,5 +20,5 @@ module T7ActualVarParamImported1; import A; begin - NEW(A.p) + New(A.p) end T7ActualVarParamImported1. diff --git a/tests/obnc/passing/T2TypeDeclarations.obn b/tests/obnc/passing/T2TypeDeclarations.obn index 4de46c6..7ba35de 100644 --- a/tests/obnc/passing/T2TypeDeclarations.obn +++ b/tests/obnc/passing/T2TypeDeclarations.obn @@ -91,13 +91,13 @@ module T2TypeDeclarations; proc: procedure end; begin - NEW(x); - ASSERT(x.ptr = nil); - NEW(y); - ASSERT(y.proc = nil); - NEW(z); - ASSERT(z.ptr = nil); - ASSERT(z.proc = nil) + New(x); + Assert(x.ptr = nil); + New(y); + Assert(y.proc = nil); + New(z); + Assert(z.ptr = nil); + Assert(z.proc = nil) end TestMemoryAllocation; @@ -116,7 +116,7 @@ module T2TypeDeclarations; var x: P; y: T; begin - NEW(x); + New(x); x.i := 1; y.f := 1 end TestScope; @@ -125,16 +125,16 @@ begin TestMemoryAllocation; s1 := s; table[0] := nil; - NEW(t); - NEW(i); + New(t); + New(i); t.content := i; t.content(IntegerNode).value := 1; t.proc := TreeProc; - NEW(e); + New(e); n.elem := left; n.next := nil; n.p := NodeProc; - NEW(p); + New(p); a[0].f := nil; TestScope end T2TypeDeclarations. diff --git a/tests/obnc/passing/T3VariableDeclarations.obn b/tests/obnc/passing/T3VariableDeclarations.obn index 9b06f43..fcfb2d6 100644 --- a/tests/obnc/passing/T3VariableDeclarations.obn +++ b/tests/obnc/passing/T3VariableDeclarations.obn @@ -39,7 +39,7 @@ module T3VariableDeclarations; procedure AssertVector(var v: Vector); begin - ASSERT(v is Vector) + Assert(v is Vector) end AssertVector; begin @@ -49,8 +49,8 @@ module T3VariableDeclarations; AssertVector(rs[0].pos); AssertVector(rs[0].size); - NEW(rp); - ASSERT(rp is Rectangle); + New(rp); + Assert(rp is Rectangle); AssertVector(rp.pos); AssertVector(rp.size); end TestInitialization; diff --git a/tests/obnc/passing/T4Expressions.obn b/tests/obnc/passing/T4Expressions.obn index d700b0b..35b9162 100644 --- a/tests/obnc/passing/T4Expressions.obn +++ b/tests/obnc/passing/T4Expressions.obn @@ -48,21 +48,21 @@ module T4Expressions; begin s := "hello"; - ASSERT(s[1] = "e"); + Assert(s[1] = "e"); A[1, 2] := 1; - ASSERT(A[1, 2] = A[1][2]); + Assert(A[1, 2] = A[1][2]); i := 0; j := 0; A[0, 0] := ABS(A[IncReturnZero(i), IncReturnZero(j)]); - ASSERT(i = 1); - ASSERT(j = 1); + Assert(i = 1); + Assert(j = 1); - NEW(a[0]); + New(a[0]); a[0].a[0] := 1; - ASSERT(a[0].a[0] = 1); + Assert(a[0].a[0] = 1); a[0]^.f := F; - ASSERT(a[0].f() = 1); + Assert(a[0].f() = 1); end TestDesignators; @@ -76,13 +76,13 @@ module T4Expressions; Out.Integer(ORD({1, 2, a, 5, b, 8}), 0); Out.Ln; Out.Integer(ORD({1, 2, a..b, 8}), 0); Out.Ln; Out.Integer(ORD({1, 2, a, 5, b, 8} = {1, 2, a..b, 8}), 0); Out.Ln; - ASSERT({1, 2, a, 5, b, 8} = {1, 2, a..b, 8}); + Assert({1, 2, a, 5, b, 8} = {1, 2, a..b, 8}); i := 0; j := 0; A := {IncReturnZero(i)..IncReturnZero(j)}; - ASSERT(A = {0}); - ASSERT(i = 1); - ASSERT(j = 1) + Assert(A = {0}); + Assert(i = 1); + Assert(j = 1) end TestSetConstructors; @@ -103,147 +103,147 @@ Out.Integer(ORD({1, 2, a, 5, b, 8} = {1, 2, a..b, 8}), 0); Out.Ln; t1: T1; begin (*booleans*) - ASSERT(true = true); - ASSERT(true # false); + Assert(true = true); + Assert(true # false); b := true; b1 := false; - ASSERT(b = true); - ASSERT(b1 # true); + Assert(b = true); + Assert(b1 # true); (*characters / single-character strings*) ch := 0X; ch1 := "a"; - ASSERT(ch = 0X); - ASSERT(ch # "a"); - ASSERT(ch < ch1); - ASSERT(ch <= 0X); - ASSERT(ch <= "a"); - ASSERT(ch1 > ch); - (*ASSERT(ch >= 0X);*) - ASSERT("a" >= ch); + Assert(ch = 0X); + Assert(ch # "a"); + Assert(ch < ch1); + Assert(ch <= 0X); + Assert(ch <= "a"); + Assert(ch1 > ch); + (*Assert(ch >= 0X);*) + Assert("a" >= ch); ch := 7FX; ch1 := 80X; - ASSERT(ch < ch1); + Assert(ch < ch1); (*integers*) - ASSERT(0 = 0); - ASSERT(0 # 1); - ASSERT(0 < 1); - ASSERT(0 <= 0); - ASSERT(0 <= 1); - ASSERT(1 > 0); - ASSERT(0 >= 0); - ASSERT(1 >= 0); - ASSERT(0 in {0}); - ASSERT(~(1 in {0})); + Assert(0 = 0); + Assert(0 # 1); + Assert(0 < 1); + Assert(0 <= 0); + Assert(0 <= 1); + Assert(1 > 0); + Assert(0 >= 0); + Assert(1 >= 0); + Assert(0 in {0}); + Assert(~(1 in {0})); n := 0; - ASSERT(n = 0); - ASSERT(n # 1); - ASSERT(n < 1); - ASSERT(n <= 0); - ASSERT(n <= 1); - ASSERT(n < 1); - ASSERT(n >= 0); - ASSERT(n >= -1); - ASSERT(n in {0}); - ASSERT(~(1 in {n})); + Assert(n = 0); + Assert(n # 1); + Assert(n < 1); + Assert(n <= 0); + Assert(n <= 1); + Assert(n < 1); + Assert(n >= 0); + Assert(n >= -1); + Assert(n in {0}); + Assert(~(1 in {n})); i := 0; j := 0; b := IncReturnZero(i) in IncReturnEmpty(j); - ASSERT(i = 1); - ASSERT(j = 1); + Assert(i = 1); + Assert(j = 1); (*real numbers*) - ASSERT(0.0 = 0.0); - ASSERT(0.0 # 1.0); - ASSERT(0.0 < 1.0); - ASSERT(0.0 <= 0.0); - ASSERT(0.0 <= 1.0); - ASSERT(1.0 > 0.0); - ASSERT(0.0 >= 0.0); - ASSERT(1.0 >= 0.0); + Assert(0.0 = 0.0); + Assert(0.0 # 1.0); + Assert(0.0 < 1.0); + Assert(0.0 <= 0.0); + Assert(0.0 <= 1.0); + Assert(1.0 > 0.0); + Assert(0.0 >= 0.0); + Assert(1.0 >= 0.0); x := 0.0; - ASSERT(x = 0.0); - ASSERT(x # 1.0); - ASSERT(x < 1.0); - ASSERT(x <= 0.0); - ASSERT(x <= 1.0); - ASSERT(1.0 > x); - ASSERT(x >= 0.0); - ASSERT(x >= -1.0); + Assert(x = 0.0); + Assert(x # 1.0); + Assert(x < 1.0); + Assert(x <= 0.0); + Assert(x <= 1.0); + Assert(1.0 > x); + Assert(x >= 0.0); + Assert(x >= -1.0); (*bytes*) y := 0; - ASSERT(y = 0); - ASSERT(y < 1); - ASSERT(y <= 0); - ASSERT(y <= 1); - ASSERT(1 > y); - (*ASSERT(y >= 0);*) - ASSERT(y in {0}); - ASSERT(~(1 in {y})); + Assert(y = 0); + Assert(y < 1); + Assert(y <= 0); + Assert(y <= 1); + Assert(1 > y); + (*Assert(y >= 0);*) + Assert(y in {0}); + Assert(~(1 in {y})); (*sets*) - ASSERT({0, 1} = {1, 0}); - ASSERT({0} # {0, 1}); - ASSERT({1 .. 0} = {}); + Assert({0, 1} = {1, 0}); + Assert({0} # {0, 1}); + Assert({1 .. 0} = {}); n := 1; - ASSERT({n .. 0} = {}); + Assert({n .. 0} = {}); A := {0}; B := {0, 1}; - ASSERT(A = {0}); - ASSERT(B # {0}); - ASSERT(A # B); + Assert(A = {0}); + Assert(B # {0}); + Assert(A # B); (*strings / characters / character arrays*) - ASSERT("foo" = "foo"); - ASSERT("foo" # "bar"); - ASSERT("bar" < "foo"); - ASSERT("foo" <= "foo"); - ASSERT("bar" <= "foo"); - ASSERT("foo" > "bar"); - ASSERT("foo" >= "foo"); - ASSERT("foo" >= "bar"); + Assert("foo" = "foo"); + Assert("foo" # "bar"); + Assert("bar" < "foo"); + Assert("foo" <= "foo"); + Assert("bar" <= "foo"); + Assert("foo" > "bar"); + Assert("foo" >= "foo"); + Assert("foo" >= "bar"); ch := "b"; - ASSERT("b" = ch); - ASSERT("f" # ch); - ASSERT(ch < "c"); - ASSERT("b" <= ch); - ASSERT("a" <= ch); - ASSERT("c" > ch); - ASSERT("b" >= ch); - ASSERT("c" >= ch); + Assert("b" = ch); + Assert("f" # ch); + Assert(ch < "c"); + Assert("b" <= ch); + Assert("a" <= ch); + Assert("c" > ch); + Assert("b" >= ch); + Assert("c" >= ch); str := "foo"; - ASSERT("foo" = str); - ASSERT("fool" # str); - ASSERT("fo" # str); - ASSERT("bar" # str); - ASSERT("bar" < str); - ASSERT("fo" < str); - ASSERT("foo" <= str); - ASSERT("bar" <= str); - ASSERT("qux" > str); - ASSERT("foo" >= str); - ASSERT("qux" >= str); + Assert("foo" = str); + Assert("fool" # str); + Assert("fo" # str); + Assert("bar" # str); + Assert("bar" < str); + Assert("fo" < str); + Assert("foo" <= str); + Assert("bar" <= str); + Assert("qux" > str); + Assert("foo" >= str); + Assert("qux" >= str); strs[0] := ""; strs[1] := "bar"; - ASSERT(~(str = strs[1])); - ASSERT(str # strs[1]); - ASSERT(~(str < strs[1])); - ASSERT(~(str <= strs[1])); - ASSERT(str > strs[1]); - ASSERT(str >= strs[1]); + Assert(~(str = strs[1])); + Assert(str # strs[1]); + Assert(~(str < strs[1])); + Assert(~(str <= strs[1])); + Assert(str > strs[1]); + Assert(str >= strs[1]); str[0] := 7FX; str[1] := 0X; strs[1][0] := 80X; strs[1][1] := 0X; - ASSERT(str < strs[1]); + Assert(str < strs[1]); (*pointers*) - NEW(t1); + New(t1); t := t1; - ASSERT(t = t1); - ASSERT(t1 = t); + Assert(t = t1); + Assert(t1 = t); t := nil; - ASSERT((t is T) or ~(t is T)) (*The value of nil is T is undefined.*) + Assert((t is T) or ~(t is T)) (*The value of nil is T is undefined.*) end TestRelationalOperations; @@ -256,62 +256,62 @@ Out.Integer(ORD({1, 2, a, 5, b, 8} = {1, 2, a..b, 8}), 0); Out.Ln; A: Set; begin (*booleans*) - ASSERT(true or true); - ASSERT(true or false); - ASSERT(false or true); + Assert(true or true); + Assert(true or false); + Assert(false or true); b := true; - ASSERT(b or true); - ASSERT(b or false); - ASSERT(false or b); + Assert(b or true); + Assert(b or false); + Assert(false or b); (*integers*) - ASSERT(1 + 1 = 2); - ASSERT(1 - 1 = 0); + Assert(1 + 1 = 2); + Assert(1 - 1 = 0); n := 1; - ASSERT(+n = +1); - ASSERT(-n = -1); - ASSERT(n + 1 = 2); - ASSERT(n - 1 = 0); - ASSERT(-n + 1 = 0); - ASSERT(-n - 1 = -2); + Assert(+n = +1); + Assert(-n = -1); + Assert(n + 1 = 2); + Assert(n - 1 = 0); + Assert(-n + 1 = 0); + Assert(-n - 1 = -2); (*reals*) - ASSERT(1.0 + 1.0 >= 2.0 - eps); - ASSERT(1.0 + 1.0 <= 2.0 + eps); - ASSERT(1.0 - 1.0 >= -eps); - ASSERT(1.0 - 1.0 <= eps); + Assert(1.0 + 1.0 >= 2.0 - eps); + Assert(1.0 + 1.0 <= 2.0 + eps); + Assert(1.0 - 1.0 >= -eps); + Assert(1.0 - 1.0 <= eps); x := 1.0; - ASSERT(+x = +1.0); - ASSERT(-x = -1.0); - ASSERT(x + 1.0 >= 2.0 - eps); - ASSERT(x + 1.0 <= 2.0 + eps); - ASSERT(x - 1.0 >= -eps); - ASSERT(x - 1.0 <= eps); - ASSERT(-x + 1.0 >= - eps); - ASSERT(-x + 1.0 <= eps); - ASSERT(-x - 1.0 >= -2.0 - eps); - ASSERT(-x - 1.0 <= -2.0 + eps); + Assert(+x = +1.0); + Assert(-x = -1.0); + Assert(x + 1.0 >= 2.0 - eps); + Assert(x + 1.0 <= 2.0 + eps); + Assert(x - 1.0 >= -eps); + Assert(x - 1.0 <= eps); + Assert(-x + 1.0 >= - eps); + Assert(-x + 1.0 <= eps); + Assert(-x - 1.0 >= -2.0 - eps); + Assert(-x - 1.0 <= -2.0 + eps); if SYSTEM.SIZE(Real) > 8 then x := 2.0E+308; (*greater than maximum value of binary64*) - ASSERT(x > 1.0E+308); - ASSERT(x < 3.0E+308) + Assert(x > 1.0E+308); + Assert(x < 3.0E+308) end; (*bytes*) y := 1; - ASSERT(+y = +1); - ASSERT(-y = -1); - ASSERT(y + 1= 2); - ASSERT(1 - y = 0); + Assert(+y = +1); + Assert(-y = -1); + Assert(y + 1= 2); + Assert(1 - y = 0); (*sets*) - ASSERT({0, 1} + (-{0, 1}) = -{}); - ASSERT({0, 1} + {0, 2} = {0 .. 2}); - ASSERT({0, 1} - {0, 2} = {1}); + Assert({0, 1} + (-{0, 1}) = -{}); + Assert({0, 1} + {0, 2} = {0 .. 2}); + Assert({0, 1} - {0, 2} = {1}); A := {0, 1}; - ASSERT(A + (-{0, 1}) = -{}); - ASSERT(A + {0, 2} = {0 .. 2}); - ASSERT(A - {0, 2} = {1}) + Assert(A + (-{0, 1}) = -{}); + Assert(A + {0, 2} = {0 .. 2}); + Assert(A - {0, 2} = {1}) end TestAdditiveOperations; @@ -324,54 +324,54 @@ Out.Integer(ORD({1, 2, a, 5, b, 8} = {1, 2, a..b, 8}), 0); Out.Ln; A: Set; begin (*booleans*) - ASSERT(true & true); + Assert(true & true); b := true; - ASSERT(b & true); + Assert(b & true); (*integers*) - ASSERT(9 * 2 = 18); - ASSERT(9 div 4 = 2); - ASSERT((-9) div 4 = -3); - ASSERT(9 mod 4 = 1); - ASSERT((-9) mod 4 = 3); + Assert(9 * 2 = 18); + Assert(9 div 4 = 2); + Assert((-9) div 4 = -3); + Assert(9 mod 4 = 1); + Assert((-9) mod 4 = 3); n := -9; y := 4; - ASSERT(n * y = -36); - ASSERT(n div y = -3); - ASSERT(n mod y = 3); + Assert(n * y = -36); + Assert(n div y = -3); + Assert(n mod y = 3); i := 1; j := 1; n := (IncReturnZero(i) + 3) div (IncReturnZero(j) + 2); - ASSERT(n = 1); - ASSERT(i = 2); - ASSERT(j = 2); + Assert(n = 1); + Assert(i = 2); + Assert(j = 2); n := IncReturnZero(i) mod (IncReturnZero(j) + 1); - ASSERT(i = 3); - ASSERT(j = 3); + Assert(i = 3); + Assert(j = 3); (*reals*) - ASSERT(9.0 * 2.0 >= 18.0 - eps); - ASSERT(9.0 * 2.0 <= 18.0 + eps); - ASSERT(9.0 / 2.0 >= 4.5 - eps); - ASSERT(9.0 / 2.0 <= 4.5 + eps); + Assert(9.0 * 2.0 >= 18.0 - eps); + Assert(9.0 * 2.0 <= 18.0 + eps); + Assert(9.0 / 2.0 >= 4.5 - eps); + Assert(9.0 / 2.0 <= 4.5 + eps); x := 9.0; - ASSERT(x * 2.0 >= 18.0 - eps); - ASSERT(x * 2.0 <= 18.0 + eps); - ASSERT(x / 2.0 >= 4.5 - eps); - ASSERT(x / 2.0 <= 4.5 + eps); + Assert(x * 2.0 >= 18.0 - eps); + Assert(x * 2.0 <= 18.0 + eps); + Assert(x / 2.0 >= 4.5 - eps); + Assert(x / 2.0 <= 4.5 + eps); (*bytes*) y := 9; - ASSERT(y * 2 = 18); - (*ASSERT(y div 4 = 2); - ASSERT(y mod 4 = 1);*) + Assert(y * 2 = 18); + (*Assert(y div 4 = 2); + Assert(y mod 4 = 1);*) (*sets*) - ASSERT({0, 1} * {1, 2} = {1}); - ASSERT({0, 1} / {1, 2} = {0, 2}); + Assert({0, 1} * {1, 2} = {1}); + Assert({0, 1} / {1, 2} = {0, 2}); A := {0, 1}; - ASSERT(A * {1, 2} = {1}); - ASSERT(A / {1, 2} = {0, 2}) + Assert(A * {1, 2} = {1}); + Assert(A / {1, 2} = {0, 2}) end TestMultiplicativeOperations; @@ -395,82 +395,82 @@ Out.Integer(ORD({1, 2, a, 5, b, 8} = {1, 2, a..b, 8}), 0); Out.Ln; x: Byte; s: Set; begin - ASSERT(ABS(-1) = 1); - ASSERT(ABS(0) = 0); - ASSERT(ABS(1) = 1); - ASSERT(ABS(-1.0) = 1.0); - ASSERT(ABS(0.0) = 0.0); - ASSERT(ABS(1.0) = 1.0); + Assert(ABS(-1) = 1); + Assert(ABS(0) = 0); + Assert(ABS(1) = 1); + Assert(ABS(-1.0) = 1.0); + Assert(ABS(0.0) = 0.0); + Assert(ABS(1.0) = 1.0); i := 0; j := ABS(IncReturnZero(i) - 1); - ASSERT(j = 1); - ASSERT(i = 1); + Assert(j = 1); + Assert(i = 1); a := ""; - ASSERT(LEN(a) = 10); + Assert(LEN(a) = 10); - ASSERT(LSL(0, 0) = 0); - ASSERT(LSL(0, 1) = 0); - ASSERT(LSL(1, 0) = 1); - ASSERT(LSL(1, 1) = 2); + Assert(LSL(0, 0) = 0); + Assert(LSL(0, 1) = 0); + Assert(LSL(1, 0) = 1); + Assert(LSL(1, 1) = 2); - ASSERT(ASR(0, 0) = 0); - ASSERT(ASR(0, 1) = 0); - ASSERT(ASR(1, 0) = 1); - ASSERT(ASR(1, 1) = 0); + Assert(ASR(0, 0) = 0); + Assert(ASR(0, 1) = 0); + Assert(ASR(1, 0) = 1); + Assert(ASR(1, 1) = 0); - ASSERT(ROR(0, 1) = 0); - ASSERT(ROR(2, 1) = 1); + Assert(ROR(0, 1) = 0); + Assert(ROR(2, 1) = 1); i := 0; j := 0; k := ROR(IncReturnZero(i) + 2, IncReturnZero(j) + 1); - ASSERT(k = 1); - ASSERT(i = 1); - ASSERT(j = 1); + Assert(k = 1); + Assert(i = 1); + Assert(j = 1); - ASSERT(FLOOR(-1.5) = -2); - ASSERT(FLOOR(0.0) = 0); - ASSERT(FLOOR(1.5) = 1); + Assert(FLOOR(-1.5) = -2); + Assert(FLOOR(0.0) = 0); + Assert(FLOOR(1.5) = 1); i := 0; j := FLOOR(FLT(IncReturnZero(i)) + 1.5); - ASSERT(j = 1); - ASSERT(i = 1); + Assert(j = 1); + Assert(i = 1); - ASSERT(FLT(-1) = -1.0); - ASSERT(FLT(0) = 0.0); - ASSERT(FLT(1) = 1.0); + Assert(FLT(-1) = -1.0); + Assert(FLT(0) = 0.0); + Assert(FLT(1) = 1.0); - ASSERT(ORD(0X) = 0); + Assert(ORD(0X) = 0); ch := 0X; - ASSERT(ORD(ch) = 0); - ASSERT(ORD("A") = 41H); + Assert(ORD(ch) = 0); + Assert(ORD("A") = 41H); ch := "A"; - ASSERT(ORD(ch) = 41H); - ASSERT(ORD(0FFX) = 0FFH); + Assert(ORD(ch) = 41H); + Assert(ORD(0FFX) = 0FFH); ch := 0FFX; - ASSERT(ORD(ch) = 0FFH); + Assert(ORD(ch) = 0FFH); - ASSERT(ORD(false) = 0); + Assert(ORD(false) = 0); b := false; - ASSERT(ORD(b) = 0); - ASSERT(ORD(true) = 1); + Assert(ORD(b) = 0); + Assert(ORD(true) = 1); b := true; - ASSERT(ORD(b) = 1); + Assert(ORD(b) = 1); - ASSERT(ORD({}) = 0); + Assert(ORD({}) = 0); s := {}; - ASSERT(ORD(s) = 0); - ASSERT(ORD({8}) = 256); + Assert(ORD(s) = 0); + Assert(ORD({8}) = 256); s := {8}; - ASSERT(ORD(s) = 256); + Assert(ORD(s) = 256); - ASSERT(CHR(0) = 0X); - ASSERT(CHR(1) = 1X); - ASSERT(CHR(7FH) = 7FX); + Assert(CHR(0) = 0X); + Assert(CHR(1) = 1X); + Assert(CHR(7FH) = 7FX); ch := 7FX; - ASSERT(CHR(7FH) = ch); + Assert(CHR(7FH) = ch); x := 1; - ASSERT(CHR(x) = 1X); + Assert(CHR(x) = 1X); i := absConst; i := lslConst; diff --git a/tests/obnc/passing/T5Statements.obn b/tests/obnc/passing/T5Statements.obn index db6d924..3b89f44 100644 --- a/tests/obnc/passing/T5Statements.obn +++ b/tests/obnc/passing/T5Statements.obn @@ -52,30 +52,30 @@ module T5Statements; b := true; b1 := false; b := b1; - ASSERT(b = b1); + Assert(b = b1); ch := "a"; ch1 := 22X; ch := ch1; - ASSERT(ch = ch1); + Assert(ch = ch1); n := 0; n1 := -1; n := n1; - ASSERT(n = n1); + Assert(n = n1); x := 0.0; x1 := -1.0; x := x1; - ASSERT(x = x1); + Assert(x = x1); y := 0; y1 := 255; y := y1; - ASSERT(y = y1); + Assert(y = y1); n := 0; y := n; - ASSERT(y = n); + Assert(y = n); A := {}; A1 := {0, 1}; A := A1; - ASSERT(A = A1); + Assert(A = A1); end TestBasicAssignments; @@ -93,38 +93,38 @@ module T5Statements; var t: array 128 of Char; begin t := s; - ASSERT(t = s) + Assert(t = s) end AssignOpenArray; procedure AssignMultiDimOpenArray(s: array of array of String); var t: array 2 of String; begin t := s[0]; - ASSERT(t[0] = s[0, 0]); - ASSERT(t[1] = s[0, 1]) + Assert(t[0] = s[0, 0]); + Assert(t[1] = s[0, 1]) end AssignMultiDimOpenArray; begin str := "testing, testing..."; str1 := "more testing..."; str := str1; - ASSERT(str = str1); + Assert(str = str1); AssignString(str); - ASSERT(str = "hello"); + Assert(str = "hello"); AssignOpenArray("hello"); strs[0] := "foo"; - ASSERT(strs[0] = "foo"); + Assert(strs[0] = "foo"); strs[1] := "bar"; - ASSERT(strs[1] = "bar"); + Assert(strs[1] = "bar"); strs[1] := strs[0]; - ASSERT(strs[1] = "foo"); + Assert(strs[1] = "foo"); strs[0] := "foo"; strs[1] := "bar"; strs1 := strs; - ASSERT(strs1[0] = "foo"); - ASSERT(strs1[1] = "bar"); + Assert(strs1[0] = "foo"); + Assert(strs1[1] = "bar"); AssignMultiDimOpenArray(strs2) end TestArrayAssignments; @@ -140,7 +140,7 @@ module T5Statements; procedure P(var s: ShapeDesc); begin - ASSERT(s is CircleDesc); + Assert(s is CircleDesc); s(CircleDesc) := s(CircleDesc); s(CircleDesc).r := 1.0 end P; @@ -153,17 +153,17 @@ module T5Statements; begin foo.i := 37; bar := foo; - ASSERT(bar.i = 37); + Assert(bar.i = 37); s.x := 0.0; s.y := 0.0; r.x := 0.0; P(c); - ASSERT(ABS(c.r - 1.0) < eps); + Assert(ABS(c.r - 1.0) < eps); r.x := 1.0; s := r; - ASSERT(s.x = r.x); + Assert(s.x = r.x); P(a[9]); @@ -178,14 +178,14 @@ module T5Statements; r: pointer to RectangleDesc; r1: pointer to RectangleDesc; begin - NEW(x); + New(x); y := x; - ASSERT(y is Rectangle); - NEW(r); + Assert(y is Rectangle); + New(r); s := r; - ASSERT(s is RectangleDesc); + Assert(s is RectangleDesc); r1 := r; - ASSERT(r1 is RectangleDesc) + Assert(r1 is RectangleDesc) end TestPointerAssignments; @@ -274,7 +274,7 @@ module T5Statements; procedure P7(var t: T0); begin - ASSERT(t is T1) + Assert(t is T1) end P7; begin @@ -287,7 +287,7 @@ module T5Statements; P6("test"); s := "test"; P6(s); - NEW(p1); + New(p1); p0 := p1; P7(p0^) end TestProcedureCalls; @@ -311,60 +311,60 @@ module T5Statements; begin n := 0; INC(n); - ASSERT(n = 1); + Assert(n = 1); n := 0; INC(n, 10); - ASSERT(n = 10); + Assert(n = 10); n := 0; DEC(n); - ASSERT(n = -1); + Assert(n = -1); n := 0; DEC(n, 10); - ASSERT(n = -10); + Assert(n = -10); A := {}; INCL(A, 0); - ASSERT(A = {0}); + Assert(A = {0}); A := {0}; EXCL(A, 0); - ASSERT(A = {}); + Assert(A = {}); - NEW(v); - ASSERT(v # nil); + New(v); + Assert(v # nil); v.f := 1; - ASSERT(v.f = 1); + Assert(v.f = 1); x := 1.0; PACK(x, 2); - ASSERT(x >= 4.0 - eps); - ASSERT(x <= 4.0 + eps); + Assert(x >= 4.0 - eps); + Assert(x <= 4.0 + eps); a[0] := 1.0; i := 0; j := 0; PACK(a[IncReturnZero(i)], IncReturnZero(j) + 2); - ASSERT(a[0] >= 4.0 - eps); - ASSERT(a[0] <= 4.0 + eps); - ASSERT(i = 1); - ASSERT(j = 1); + Assert(a[0] >= 4.0 - eps); + Assert(a[0] <= 4.0 + eps); + Assert(i = 1); + Assert(j = 1); x := 4.0; UNPK(x, n); - ASSERT(x >= 1.0); - ASSERT(x < 2.0); - ASSERT(n = 2); + Assert(x >= 1.0); + Assert(x < 2.0); + Assert(n = 2); a[0] := 4.0; i := 0; j := 0; UNPK(a[IncReturnZero(i)], b[IncReturnZero(j)]); - ASSERT(a[0] >= 1.0); - ASSERT(a[0] < 2.0); - ASSERT(b[0] = 2); - ASSERT(i = 1); - ASSERT(j = 1) + Assert(a[0] >= 1.0); + Assert(a[0] < 2.0); + Assert(b[0] = 2); + Assert(i = 1); + Assert(j = 1) end TestPredeclaredProperProcedures; @@ -375,14 +375,14 @@ module T5Statements; if n = 0 then n := 1 end; - ASSERT(n = 1); + Assert(n = 1); n := 1; if n = 0 then n := 1 else n := 2 end; - ASSERT(n = 2); + Assert(n = 2); n := 2; if n = 0 then n := 1 @@ -391,7 +391,7 @@ module T5Statements; else n := 3 end; - ASSERT(n = 3) + Assert(n = 3) end TestIfStatements; @@ -432,7 +432,7 @@ module T5Statements; | 10, 12 .. 20: n := 0 end; - ASSERT(n = 0); + Assert(n = 0); ch := "u"; case ch of | 0X: @@ -442,8 +442,8 @@ module T5Statements; | "l", "m" .. "z": ch := 0X end; - ASSERT(ch = 0X); - NEW(rp); + Assert(ch = 0X); + New(rp); sp := rp; case sp of (*Shape: @@ -454,10 +454,10 @@ module T5Statements; | Circle: sp.r := 1.0 end; - ASSERT(sp(Rectangle).w = 1.0); - ASSERT(sp(Rectangle).h = 2.0); + Assert(sp(Rectangle).w = 1.0); + Assert(sp(Rectangle).h = 2.0); P(c); - ASSERT(c.r = 1.0); + Assert(c.r = 1.0); end TestCaseStatements; @@ -470,7 +470,7 @@ module T5Statements; n := n + 1; i := i + 1 end; - ASSERT(n = 10); + Assert(n = 10); n := 4; n1 := 6; while n > n1 do @@ -478,8 +478,8 @@ module T5Statements; elsif n1 > n do n1 := n1 - n end; - ASSERT(n = 2); - ASSERT(n1 = 2); + Assert(n = 2); + Assert(n1 = 2); n := 5; n1 := 6; while n > n1 do @@ -487,8 +487,8 @@ module T5Statements; elsif n1 > n do n1 := n1 - n end; - ASSERT(n = 1); - ASSERT(n1 = 1); + Assert(n = 1); + Assert(n1 = 1); end TestWhileStatements; @@ -501,7 +501,7 @@ module T5Statements; INC(n); INC(i) until i = 11; - ASSERT(n = 10); + Assert(n = 10); end TestRepeatStatements; @@ -520,22 +520,22 @@ module T5Statements; for i := 1 to 10 do n := n + 1 end; - ASSERT(n = 10); + Assert(n = 10); n := 0; for i := 1 to 20 by 2 do n := n + 1 end; - ASSERT(n = 10); + Assert(n = 10); n := 0; for i := 20 to 1 by -2 do n := n + 1 end; - ASSERT(n = 10); + Assert(n = 10); globalInteger := 0; for i := 0 to IncGlobalIntegerReturnOne() do (*make sure the limit function is called three times*) x := x + 1.0 end; - ASSERT(globalInteger = 3) + Assert(globalInteger = 3) end TestForStatements; begin diff --git a/tests/obnc/passing/T5SystemStatements.obn b/tests/obnc/passing/T5SystemStatements.obn index 32c8d2a..847eccc 100644 --- a/tests/obnc/passing/T5SystemStatements.obn +++ b/tests/obnc/passing/T5SystemStatements.obn @@ -33,60 +33,60 @@ module T5SystemStatements; a, a1: Array; a2: array SYSTEM.SIZE(Array) + 1 of Int; begin - ASSERT(SYSTEM.SIZE(Int) = SYSTEM.SIZE(Pointer)); + Assert(SYSTEM.SIZE(Int) = SYSTEM.SIZE(Pointer)); (*ADR, PUT, GET*) b := true; SYSTEM.GET(SYSTEM.ADR(b), b1); - ASSERT(b1 = b); + Assert(b1 = b); SYSTEM.PUT(SYSTEM.ADR(b), false); - ASSERT(~b); + Assert(~b); ch := "a"; SYSTEM.GET(SYSTEM.ADR(ch), ch1); - ASSERT(ch1 = ch); + Assert(ch1 = ch); SYSTEM.PUT(SYSTEM.ADR(ch), "b"); - ASSERT(ch = "b"); + Assert(ch = "b"); SYSTEM.PUT(SYSTEM.ADR(ch), ch1); - ASSERT(ch = ch1); + Assert(ch = ch1); i := 1; SYSTEM.GET(SYSTEM.ADR(i), i1); - ASSERT(i1 = i); + Assert(i1 = i); SYSTEM.PUT(SYSTEM.ADR(i), 0); - ASSERT(i = 0); + Assert(i = 0); r := 1.0; SYSTEM.GET(SYSTEM.ADR(r), r1); - ASSERT(r1 = r); + Assert(r1 = r); SYSTEM.PUT(SYSTEM.ADR(r), 0.0); - ASSERT(r = 0.0); + Assert(r = 0.0); x := 1; SYSTEM.GET(SYSTEM.ADR(x), x1); - ASSERT(x1 = x); + Assert(x1 = x); SYSTEM.PUT(SYSTEM.ADR(x), 0); - ASSERT(x = 0); + Assert(x = 0); s := {0}; SYSTEM.GET(SYSTEM.ADR(s), s1); - ASSERT(s1 = s); + Assert(s1 = s); SYSTEM.PUT(SYSTEM.ADR(s), {}); - ASSERT(s = {}); + Assert(s = {}); (*BIT*) i := 1; - ASSERT(SYSTEM.BIT(SYSTEM.ADR(i), 0)); + Assert(SYSTEM.BIT(SYSTEM.ADR(i), 0)); i := 2; - ASSERT(~SYSTEM.BIT(SYSTEM.ADR(i), 0)); - ASSERT(SYSTEM.BIT(SYSTEM.ADR(i), 1)); + Assert(~SYSTEM.BIT(SYSTEM.ADR(i), 0)); + Assert(SYSTEM.BIT(SYSTEM.ADR(i), 1)); (*COPY*) a[0] := 1; a[1] := 2; SYSTEM.COPY(SYSTEM.ADR(a), SYSTEM.ADR(a1), 2); - ASSERT(a1[0] = 1); - ASSERT(a1[1] = 2); + Assert(a1[0] = 1); + Assert(a1[1] = 2); (*VAL*) xs[0] := 1; xs[1] := 2; SYSTEM.PUT(SYSTEM.ADR(xs), SYSTEM.VAL(Byte, 37)); - ASSERT(xs[0] = 37); - ASSERT(xs[1] = 2); + Assert(xs[0] = 37); + Assert(xs[1] = 2); (*silence "unused" compiler notifications*) x := byte; diff --git a/tests/obnc/passing/T6ProcedureDeclarations.obn b/tests/obnc/passing/T6ProcedureDeclarations.obn index f6c113a..268d0fd 100644 --- a/tests/obnc/passing/T6ProcedureDeclarations.obn +++ b/tests/obnc/passing/T6ProcedureDeclarations.obn @@ -51,8 +51,8 @@ module T6ProcedureDeclarations; procedure P3(A: Matrix); begin - ASSERT(LEN(A) = 10); - ASSERT(LEN(A[0]) = 20) + Assert(LEN(A) = 10); + Assert(LEN(A[0]) = 20) end P3; procedure P4(A: array of Row); @@ -60,7 +60,7 @@ module T6ProcedureDeclarations; begin P(0); - NEW(ptr); + New(ptr); P1(ptr); P2(proc); P3(A); @@ -75,14 +75,14 @@ module T6ProcedureDeclarations; procedure Alloc(var p: Ptr); begin - NEW(p); + New(p); p.f := 1 end Alloc; procedure P(var A: Matrix); begin - ASSERT(LEN(A) = 10); - ASSERT(LEN(A[0]) = 20) + Assert(LEN(A) = 10); + Assert(LEN(A[0]) = 20) end P; procedure Q(var x: T0); @@ -96,7 +96,7 @@ module T6ProcedureDeclarations; begin Alloc(x); - ASSERT(x.f = 1); + Assert(x.f = 1); P(A); y.f := 0; Q(y) @@ -114,7 +114,7 @@ module T6ProcedureDeclarations; var i: Int; begin for i := 0 to LEN(a) - 1 do - ASSERT(a[i] = i + 1) + Assert(a[i] = i + 1) end end P; @@ -127,7 +127,7 @@ module T6ProcedureDeclarations; c := 0; for i := 0 to LEN(M) - 1 do for j := 0 to LEN(M[0]) - 1 do - ASSERT(M[i, j] = c); + Assert(M[i, j] = c); INC(c) end end; @@ -138,7 +138,7 @@ module T6ProcedureDeclarations; begin c := LEN(row); for j := 0 to LEN(row) - 1 do - ASSERT(row[j] = c); + Assert(row[j] = c); INC(c) end end Inner1; @@ -156,7 +156,7 @@ module T6ProcedureDeclarations; for i := 0 to LEN(T) - 1 do for j := 0 to LEN(T[0]) - 1 do for k := 0 to LEN(T[0, 0]) - 1 do - ASSERT(T[i, j, k] = c); + Assert(T[i, j, k] = c); INC(c) end end @@ -199,7 +199,7 @@ module T6ProcedureDeclarations; type PtrExt = pointer to record (Ptr) end; var y: PtrExt; begin - NEW(y) + New(y) return y end P; @@ -229,7 +229,7 @@ module T6ProcedureDeclarations; begin s := Sum(10); - ASSERT(s = 55) + Assert(s = 55) end TestLocalProcedures; diff --git a/tests/obnc/passing/T7Modules.obn b/tests/obnc/passing/T7Modules.obn index 09b9526..9fc125f 100644 --- a/tests/obnc/passing/T7Modules.obn +++ b/tests/obnc/passing/T7Modules.obn @@ -44,41 +44,41 @@ module T7Modules; p1: ListExt; begin - ASSERT(A.boolConst); - ASSERT(A.charConst = CHR(22H)); - ASSERT(A.intConst = 1); - ASSERT(A.realConst = 2.3); - ASSERT(A.strConst = "hello there"); - ASSERT(A.nul = 0X); - ASSERT(A.lf = 0AX); - ASSERT(A.charMax = 0FFX); - ASSERT(A.setConst = {0, 2, 3, 5}); + Assert(A.boolConst); + Assert(A.charConst = CHR(22H)); + Assert(A.intConst = 1); + Assert(A.realConst = 2.3); + Assert(A.strConst = "hello there"); + Assert(A.nul = 0X); + Assert(A.lf = 0AX); + Assert(A.charMax = 0FFX); + Assert(A.setConst = {0, 2, 3, 5}); - ASSERT(A.boolVar = A.boolConst); - ASSERT(A.charVar = A.charConst); - ASSERT(A.intVar = A.intConst); - ASSERT(ABS(A.realVar - A.realConst) < 1.0E-6); - ASSERT(A.strVar = A.strConst); - ASSERT(A.setVar = A.setConst); - ASSERT(A.recVar.f = 1); + Assert(A.boolVar = A.boolConst); + Assert(A.charVar = A.charConst); + Assert(A.intVar = A.intConst); + Assert(ABS(A.realVar - A.realConst) < 1.0E-6); + Assert(A.strVar = A.strConst); + Assert(A.setVar = A.setConst); + Assert(A.recVar.f = 1); intVar := A.intVar; A.procVar(A.strVar); - NEW(y.f); + New(y.f); y.f.f := 1; w := x; A.Q(x); - NEW(list); + New(list); A.R(matrix); x0 := x1; A.S(t); A.S1(p); - ASSERT(D.b); - ASSERT(E.b); - ASSERT(T7Modules.b); - ASSERT(lib1M.b); - ASSERT(OBNC.b); + Assert(D.b); + Assert(E.b); + Assert(T7Modules.b); + Assert(lib1M.b); + Assert(OBNC.b); p1 := nil end T7Modules. -- 2.49.0