From f2c55cc4de16be573e57f42efd5862a084773cb4 Mon Sep 17 00:00:00 2001 From: David C W Brown Date: Thu, 23 Jun 2016 14:25:31 +0100 Subject: [PATCH] Simple readme change (to test web hook). --- ReadMe.md | 8 ++----- src/compiler/OPB.Mod | 56 ++++++++++++++++++++++---------------------- 2 files changed, 30 insertions(+), 34 deletions(-) diff --git a/ReadMe.md b/ReadMe.md index 4407c569..5fc6881e 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -27,17 +27,13 @@ Vishap Oberon's frontend and C backend engine is a fork of Josef Templ’s Ofront, which has been released under the FreeBSD License. Unlike Ofront, Vishap Oberon does not include the Oberon v4 environment. -The Ulm Oberon Library is distributed under GPL. - -The Ooc library is distributed under GPL. +The Ulm Oberon Library and the Ooc libraries are distributed under GPL. Proprietry code +using these libraries may not be statically linked. Voc tools are distributed under GPLv3. Most of the runtime in libVishapOberon is distributed under GPLv3 with runtime exception. -Proprietry code using the Ulm or Ooc libraries may not be statically linked as they are -distributed under the GPL. - #### Platform support diff --git a/src/compiler/OPB.Mod b/src/compiler/OPB.Mod index 8b7468c1..a06b1cfc 100644 --- a/src/compiler/OPB.Mod +++ b/src/compiler/OPB.Mod @@ -409,9 +409,9 @@ MODULE OPB; (* RC 6.3.89 / 21.2.94 *) (* object model 17.1.93 *) END ; z^.typ := OPT.booltyp | adr: (*SYSTEM.ADR*) - IF (z^.class = Nconst) & (f = Char) & (z^.conval^.intval >= 20H) THEN - CharToString(z); f := String - END; + IF (z^.class = Nconst) & (f = Char) & (z^.conval^.intval >= 20H) THEN + CharToString(z); f := String + END; IF (z^.class < Nconst) OR (f = String) THEN z := NewOp(op, typ, z) ELSE err(127) END ; @@ -906,8 +906,8 @@ MODULE OPB; (* RC 6.3.89 / 21.2.94 *) (* object model 17.1.93 *) | lss, leq, gtr, geq: IF (f IN {Undef, Char..LReal(*, Int8..Int64*)}) OR strings(z, y) THEN typ := OPT.booltyp ELSE - OPM.LogWLn; OPM.LogWStr("ELSE in Op()"); OPM.LogWLn; - err(108); typ := OPT.undftyp + OPM.LogWLn; OPM.LogWStr("ELSE in Op()"); OPM.LogWLn; + err(108); typ := OPT.undftyp END ; NewOp(op, typ, z, y) ELSE @@ -977,24 +977,24 @@ MODULE OPB; (* RC 6.3.89 / 21.2.94 *) (* object model 17.1.93 *) Undef, String: (* | Int8: IF (ynode.typ.size > OPM.Int8Size) THEN - IF OPM.Verbose THEN OPM.LogWStr("f of int8"); OPM.LogWLn END; - err(113) - END + IF OPM.Verbose THEN OPM.LogWStr("f of int8"); OPM.LogWLn END; + err(113) + END | Int16: IF (ynode.typ.size > OPM.Int16Size) THEN - IF OPM.Verbose THEN OPM.LogWStr("f of int16"); OPM.LogWLn END; - err(113) - END + IF OPM.Verbose THEN OPM.LogWStr("f of int16"); OPM.LogWLn END; + err(113) + END | Int32: IF (ynode.typ.size > OPM.Int32Size) THEN - IF OPM.Verbose THEN OPM.LogWStr("f of int32"); OPM.LogWLn END; - err(113) - END + IF OPM.Verbose THEN OPM.LogWStr("f of int32"); OPM.LogWLn END; + err(113) + END | Int64: IF ynode.typ.size > OPM.Int64Size THEN - IF OPM.Verbose THEN OPM.LogWStr("f of int64"); OPM.LogWLn END; - err(113) - END*) + IF OPM.Verbose THEN OPM.LogWStr("f of int64"); OPM.LogWLn END; + err(113) + END*) | Byte: IF ~(g IN {Byte, Char, SInt}) THEN err(113) END | Bool, Char, SInt, Set: @@ -1003,10 +1003,10 @@ MODULE OPB; (* RC 6.3.89 / 21.2.94 *) (* object model 17.1.93 *) IF ~(g IN {SInt, Int}) THEN err(113) END | LInt: IF OPM.LIntSize = 4 THEN - IF ~(g IN {SInt, Int, LInt(*, Int8, Int16, Int32*)}) THEN err(113) END - ELSE (* assume OPM.LIntSize = 8 *) + IF ~(g IN {SInt, Int, LInt(*, Int8, Int16, Int32*)}) THEN err(113) END + ELSE (* assume OPM.LIntSize = 8 *) IF ~(g IN {SInt, Int, LInt(*, Int8, Int16, Int32, Int64*)}) THEN err(113) END - END; + END; | Real: IF ~(g IN {SInt..Real}) THEN err(113) END | LReal: @@ -1131,10 +1131,10 @@ avoid unnecessary intermediate variables in voc | SInt: x := NewIntConst(OPM.MinSInt) | Int: x := NewIntConst(OPM.MinInt) | LInt: x := NewIntConst(OPM.MinLInt) - (* | Int8: x := NewIntConst(OPM.MinInt8) - | Int16: x := NewIntConst(OPM.MinInt16) - | Int32: x := NewIntConst(OPM.MinInt32) - | Int64: err(111)(*x := NewIntConst(OPM.MinInt64)*) (* int64 constants not implemented yet *)*) + (* | Int8: x := NewIntConst(OPM.MinInt8) + | Int16: x := NewIntConst(OPM.MinInt16) + | Int32: x := NewIntConst(OPM.MinInt32) + | Int64: err(111)(*x := NewIntConst(OPM.MinInt64)*) (* int64 constants not implemented yet *)*) | Set: x := NewIntConst(0); x^.typ := OPT.inttyp | Real: x := NewRealConst(OPM.MinReal, OPT.realtyp) | LReal: x := NewRealConst(OPM.MinLReal, OPT.lrltyp) @@ -1150,10 +1150,10 @@ avoid unnecessary intermediate variables in voc | SInt: x := NewIntConst(OPM.MaxSInt) | Int: x := NewIntConst(OPM.MaxInt) | LInt: x := NewIntConst(OPM.MaxLInt) - (* | Int8: x := NewIntConst(OPM.MaxInt8) - | Int16: x := NewIntConst(OPM.MaxInt16) - | Int32: x := NewIntConst(OPM.MaxInt32) - | Int64: err(111); (*x := NewIntConst(OPM.MaxInt64)*) (* int64 contstants not implemented yet *)*) + (* | Int8: x := NewIntConst(OPM.MaxInt8) + | Int16: x := NewIntConst(OPM.MaxInt16) + | Int32: x := NewIntConst(OPM.MaxInt32) + | Int64: err(111); (*x := NewIntConst(OPM.MaxInt64)*) (* int64 contstants not implemented yet *)*) | Set: x := NewIntConst(OPM.MaxSet); x^.typ := OPT.inttyp | Real: x := NewRealConst(OPM.MaxReal, OPT.realtyp) | LReal: x := NewRealConst(OPM.MaxLReal, OPT.lrltyp)