mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-06 21:32:26 +00:00
updated OPV Convert to support 64bit type. -- noch
Former-commit-id: fb960f552f
This commit is contained in:
parent
d76a806cbb
commit
5c9ef62469
7 changed files with 26 additions and 3 deletions
|
|
@ -20,6 +20,10 @@ MODULE OPB; (* RC 6.3.89 / 21.2.94 *) (* object model 17.1.93 *)
|
||||||
(* Structure forms *)
|
(* Structure forms *)
|
||||||
Undef = 0; Byte = 1; Bool = 2; Char = 3;
|
Undef = 0; Byte = 1; Bool = 2; Char = 3;
|
||||||
SInt = 4; Int = 5; LInt = 6;
|
SInt = 4; Int = 5; LInt = 6;
|
||||||
|
(*Int8 = 7; Int16 = 8; Int32 = 9; Int64 = 10;
|
||||||
|
Real = 11; LReal = 12; Set = 13; String = 14; NilTyp = 15; NoTyp = 16;
|
||||||
|
Pointer = 17; ProcTyp = 18;
|
||||||
|
Comp = 19;*)
|
||||||
Real = 7; LReal = 8; Set = 9; String = 10; NilTyp = 11; NoTyp = 12;
|
Real = 7; LReal = 8; Set = 9; String = 10; NilTyp = 11; NoTyp = 12;
|
||||||
Pointer = 13; ProcTyp = 14;
|
Pointer = 13; ProcTyp = 14;
|
||||||
Int8 = 16; Int16 = 17; Int32 = 18; Int64 = 19;
|
Int8 = 16; Int16 = 17; Int32 = 18; Int64 = 19;
|
||||||
|
|
@ -161,7 +165,7 @@ MODULE OPB; (* RC 6.3.89 / 21.2.94 *) (* object model 17.1.93 *)
|
||||||
ELSIF (OPM.MinInt <= SYSTEM.VAL(LONGINT, v)) & (SYSTEM.VAL(LONGINT, v) <= OPM.MaxInt) THEN node^.typ := OPT.inttyp
|
ELSIF (OPM.MinInt <= SYSTEM.VAL(LONGINT, v)) & (SYSTEM.VAL(LONGINT, v) <= OPM.MaxInt) THEN node^.typ := OPT.inttyp
|
||||||
ELSIF (OPM.MinLInt <= v) & (v <= OPM.MaxLInt) (*bootstrap or cross*) THEN
|
ELSIF (OPM.MinLInt <= v) & (v <= OPM.MaxLInt) (*bootstrap or cross*) THEN
|
||||||
node^.typ := OPT.linttyp
|
node^.typ := OPT.linttyp
|
||||||
(*ELSIF (OPM.MinInt64 <= v) & (v <= OPM.MaxInt64) THEN
|
(*ELSIF (OPM.MinInt64) <= v) & (v <= OPM.MaxInt64) THEN
|
||||||
node^.typ := OPT.int64typ*)
|
node^.typ := OPT.int64typ*)
|
||||||
ELSE err(203); node^.typ := OPT.sinttyp; node^.conval^.intval := 1
|
ELSE err(203); node^.typ := OPT.sinttyp; node^.conval^.intval := 1
|
||||||
END
|
END
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,10 @@ MODULE OPC; (* copyright (c) J. Templ 12.7.95 / 3.7.96 *)
|
||||||
(* structure forms *)
|
(* structure forms *)
|
||||||
Byte = 1; Bool = 2; Char = 3;
|
Byte = 1; Bool = 2; Char = 3;
|
||||||
SInt = 4; Int = 5; LInt = 6;
|
SInt = 4; Int = 5; LInt = 6;
|
||||||
|
(*Int8 = 7; Int16 = 8; Int32 = 9; Int64 = 10;
|
||||||
|
Real = 11; LReal = 12; Set = 13; String = 14; NilTyp = 15; NoTyp = 16;
|
||||||
|
Pointer = 17; ProcTyp = 18;
|
||||||
|
Comp = 19;*)
|
||||||
Real = 7; LReal = 8; Set = 9; String = 10; NilTyp = 11; NoTyp = 12;
|
Real = 7; LReal = 8; Set = 9; String = 10; NilTyp = 11; NoTyp = 12;
|
||||||
Pointer = 13; ProcTyp = 14;
|
Pointer = 13; ProcTyp = 14;
|
||||||
Int8 = 16; Int16 = 17; Int32 = 18; Int64 = 19;
|
Int8 = 16; Int16 = 17; Int32 = 18; Int64 = 19;
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,10 @@ MODULE OPP; (* NW, RC 6.3.89 / 10.2.94 *) (* object model 4.12.93 *)
|
||||||
(* Structure forms *)
|
(* Structure forms *)
|
||||||
Undef = 0; Byte = 1; Bool = 2; Char = 3;
|
Undef = 0; Byte = 1; Bool = 2; Char = 3;
|
||||||
SInt = 4; Int = 5; LInt = 6;
|
SInt = 4; Int = 5; LInt = 6;
|
||||||
|
(*Int8 = 7; Int16 = 8; Int32 = 9; Int64 = 10;
|
||||||
|
Real = 11; LReal = 12; Set = 13; String = 14; NilTyp = 15; NoTyp = 16;
|
||||||
|
Pointer = 17; ProcTyp = 18;
|
||||||
|
Comp = 19;*)
|
||||||
Real = 7; LReal = 8; Set = 9; String = 10; NilTyp = 11; NoTyp = 12;
|
Real = 7; LReal = 8; Set = 9; String = 10; NilTyp = 11; NoTyp = 12;
|
||||||
Pointer = 13; ProcTyp = 14;
|
Pointer = 13; ProcTyp = 14;
|
||||||
Int8 = 16; Int16 = 17; Int32 = 18; Int64 = 19;
|
Int8 = 16; Int16 = 17; Int32 = 18; Int64 = 19;
|
||||||
|
|
|
||||||
|
|
@ -83,6 +83,10 @@ SProc = 8; CProc = 9; IProc = 10; Mod = 11; Head = 12; TProc = 13;
|
||||||
(* structure forms *)
|
(* structure forms *)
|
||||||
Undef = 0; Byte = 1; Bool = 2; Char = 3;
|
Undef = 0; Byte = 1; Bool = 2; Char = 3;
|
||||||
SInt = 4; Int = 5; LInt = 6;
|
SInt = 4; Int = 5; LInt = 6;
|
||||||
|
(*Int8 = 7; Int16 = 8; Int32 = 9; Int64 = 10;
|
||||||
|
Real = 11; LReal = 12; Set = 13; String = 14; NilTyp = 15; NoTyp = 16;
|
||||||
|
Pointer = 17; ProcTyp = 18;
|
||||||
|
Comp = 19;*)
|
||||||
Real = 7; LReal = 8; Set = 9; String = 10; NilTyp = 11; NoTyp = 12;
|
Real = 7; LReal = 8; Set = 9; String = 10; NilTyp = 11; NoTyp = 12;
|
||||||
Pointer = 13; ProcTyp = 14;
|
Pointer = 13; ProcTyp = 14;
|
||||||
Int8 = 16; Int16 = 17; Int32 = 18; Int64 = 19;
|
Int8 = 16; Int16 = 17; Int32 = 18; Int64 = 19;
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,10 @@ MODULE OPV; (* J. Templ 16.2.95 / 3.7.96
|
||||||
(* structure forms *)
|
(* structure forms *)
|
||||||
Byte = 1; Bool = 2; Char = 3;
|
Byte = 1; Bool = 2; Char = 3;
|
||||||
SInt = 4; Int = 5; LInt = 6;
|
SInt = 4; Int = 5; LInt = 6;
|
||||||
|
(*Int8 = 7; Int16 = 8; Int32 = 9; Int64 = 10;
|
||||||
|
Real = 11; LReal = 12; Set = 13; String = 14; NilTyp = 15; NoTyp = 16;
|
||||||
|
Pointer = 17; ProcTyp = 18;
|
||||||
|
Comp = 19;*)
|
||||||
Real = 7; LReal = 8; Set = 9; String = 10; NilTyp = 11; Pointer = 13; ProcTyp = 14;
|
Real = 7; LReal = 8; Set = 9; String = 10; NilTyp = 11; Pointer = 13; ProcTyp = 14;
|
||||||
Int8 = 16; Int16 = 17; Int32 = 18; Int64 = 19;
|
Int8 = 16; Int16 = 17; Int32 = 18; Int64 = 19;
|
||||||
Comp = (*15*)20;
|
Comp = (*15*)20;
|
||||||
|
|
@ -343,6 +347,9 @@ MODULE OPV; (* J. Templ 16.2.95 / 3.7.96
|
||||||
ELSIF form = LInt THEN
|
ELSIF form = LInt THEN
|
||||||
IF from < LInt THEN OPM.WriteString("(LONGINT)") END ;
|
IF from < LInt THEN OPM.WriteString("(LONGINT)") END ;
|
||||||
Entier(n, 9)
|
Entier(n, 9)
|
||||||
|
ELSIF form = Int64 THEN
|
||||||
|
IF (from >= SInt) & (from <= LInt) OR (from >= Int8) & (from < Int64) THEN OPM.WriteString("(SYSTEM_INT64)") END;
|
||||||
|
Entier(n, 9);
|
||||||
ELSIF form = Int THEN
|
ELSIF form = Int THEN
|
||||||
IF from < Int THEN OPM.WriteString("(int)"); expr(n, 9)
|
IF from < Int THEN OPM.WriteString("(int)"); expr(n, 9)
|
||||||
ELSE
|
ELSE
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
c40c89b190a3039cd0942a22f6c10e6eceba9ef7
|
d2c8d82b7f397b66ebf6a08a17c3a4f294942403
|
||||||
|
|
@ -1 +1 @@
|
||||||
c40c89b190a3039cd0942a22f6c10e6eceba9ef7
|
d2c8d82b7f397b66ebf6a08a17c3a4f294942403
|
||||||
Loading…
Add table
Add a link
Reference in a new issue