mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-06 04:02:25 +00:00
Update bootstrap source and snapshot binaries
This commit is contained in:
parent
68cf60c401
commit
159f5a3d80
196 changed files with 1906 additions and 1906 deletions
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -13,6 +13,6 @@ export void *Configuration__init(void)
|
||||||
__DEFMOD;
|
__DEFMOD;
|
||||||
__REGMOD("Configuration", 0);
|
__REGMOD("Configuration", 0);
|
||||||
/* BEGIN */
|
/* BEGIN */
|
||||||
__MOVE("1.95 [2016/08/31] for gcc LP64 on cygwin", Configuration_versionLong, 41);
|
__MOVE("1.95 [2016/09/01] for gcc LP64 on cygwin", Configuration_versionLong, 41);
|
||||||
__ENDMOD;
|
__ENDMOD;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef Configuration__h
|
#ifndef Configuration__h
|
||||||
#define Configuration__h
|
#define Configuration__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "Platform.h"
|
#include "Platform.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef Console__h
|
#ifndef Console__h
|
||||||
#define Console__h
|
#define Console__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin tspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin tspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "Configuration.h"
|
#include "Configuration.h"
|
||||||
#include "Console.h"
|
#include "Console.h"
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin tspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin tspkaSfF */
|
||||||
|
|
||||||
#ifndef Files__h
|
#ifndef Files__h
|
||||||
#define Files__h
|
#define Files__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin tskSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin tskSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
|
|
||||||
struct Heap__1 {
|
struct Heap__1 {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin tskSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin tskSfF */
|
||||||
|
|
||||||
#ifndef Heap__h
|
#ifndef Heap__h
|
||||||
#define Heap__h
|
#define Heap__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "Console.h"
|
#include "Console.h"
|
||||||
#include "Heap.h"
|
#include "Heap.h"
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef Modules__h
|
#ifndef Modules__h
|
||||||
#define Modules__h
|
#define Modules__h
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef OPB__h
|
#ifndef OPB__h
|
||||||
#define OPB__h
|
#define OPB__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "Configuration.h"
|
#include "Configuration.h"
|
||||||
#include "OPM.h"
|
#include "OPM.h"
|
||||||
|
|
@ -227,12 +227,12 @@ static void OPC_Stars (OPT_Struct typ, BOOLEAN *openClause)
|
||||||
if (__IN(typ->comp, 0x0c)) {
|
if (__IN(typ->comp, 0x0c)) {
|
||||||
OPC_Stars(typ->BaseTyp, &*openClause);
|
OPC_Stars(typ->BaseTyp, &*openClause);
|
||||||
*openClause = typ->comp == 2;
|
*openClause = typ->comp == 2;
|
||||||
} else if (typ->form == 14) {
|
} else if (typ->form == 12) {
|
||||||
OPM_Write('(');
|
OPM_Write('(');
|
||||||
OPM_Write('*');
|
OPM_Write('*');
|
||||||
} else {
|
} else {
|
||||||
pointers = 0;
|
pointers = 0;
|
||||||
while (((typ->strobj == NIL || typ->strobj->name[0] == 0x00) && typ->form == 13)) {
|
while (((typ->strobj == NIL || typ->strobj->name[0] == 0x00) && typ->form == 11)) {
|
||||||
pointers += 1;
|
pointers += 1;
|
||||||
typ = typ->BaseTyp;
|
typ = typ->BaseTyp;
|
||||||
}
|
}
|
||||||
|
|
@ -277,16 +277,16 @@ static void OPC_DeclareObj (OPT_Object dcl, BOOLEAN scopeDef)
|
||||||
for (;;) {
|
for (;;) {
|
||||||
form = typ->form;
|
form = typ->form;
|
||||||
comp = typ->comp;
|
comp = typ->comp;
|
||||||
if (((typ->strobj != NIL && typ->strobj->name[0] != 0x00) || form == 12) || comp == 4) {
|
if (((typ->strobj != NIL && typ->strobj->name[0] != 0x00) || form == 10) || comp == 4) {
|
||||||
break;
|
break;
|
||||||
} else if ((form == 13 && typ->BaseTyp->comp != 3)) {
|
} else if ((form == 11 && typ->BaseTyp->comp != 3)) {
|
||||||
openClause = 1;
|
openClause = 1;
|
||||||
} else if (form == 14 || __IN(comp, 0x0c)) {
|
} else if (form == 12 || __IN(comp, 0x0c)) {
|
||||||
if (openClause) {
|
if (openClause) {
|
||||||
OPM_Write(')');
|
OPM_Write(')');
|
||||||
openClause = 0;
|
openClause = 0;
|
||||||
}
|
}
|
||||||
if (form == 14) {
|
if (form == 12) {
|
||||||
if (OPC_ansi) {
|
if (OPC_ansi) {
|
||||||
OPM_Write(')');
|
OPM_Write(')');
|
||||||
OPC_AnsiParamList(typ->link, 0);
|
OPC_AnsiParamList(typ->link, 0);
|
||||||
|
|
@ -331,19 +331,19 @@ static void OPC_DeclareBase (OPT_Object dcl)
|
||||||
LONGINT off, n, dummy;
|
LONGINT off, n, dummy;
|
||||||
typ = dcl->typ;
|
typ = dcl->typ;
|
||||||
prev = typ;
|
prev = typ;
|
||||||
while ((((((((typ->strobj == NIL || typ->comp == 3) || OPC_Undefined(typ->strobj)) && typ->comp != 4)) && typ->form != 12)) && !((typ->form == 13 && typ->BaseTyp->comp == 3)))) {
|
while ((((((((typ->strobj == NIL || typ->comp == 3) || OPC_Undefined(typ->strobj)) && typ->comp != 4)) && typ->form != 10)) && !((typ->form == 11 && typ->BaseTyp->comp == 3)))) {
|
||||||
prev = typ;
|
prev = typ;
|
||||||
typ = typ->BaseTyp;
|
typ = typ->BaseTyp;
|
||||||
}
|
}
|
||||||
obj = typ->strobj;
|
obj = typ->strobj;
|
||||||
if (typ->form == 12) {
|
if (typ->form == 10) {
|
||||||
OPM_WriteString((CHAR*)"void", 5);
|
OPM_WriteString((CHAR*)"void", 5);
|
||||||
} else if ((obj != NIL && !OPC_Undefined(obj))) {
|
} else if ((obj != NIL && !OPC_Undefined(obj))) {
|
||||||
OPC_Ident(obj);
|
OPC_Ident(obj);
|
||||||
} else if (typ->comp == 4) {
|
} else if (typ->comp == 4) {
|
||||||
OPM_WriteString((CHAR*)"struct ", 8);
|
OPM_WriteString((CHAR*)"struct ", 8);
|
||||||
OPC_Andent(typ);
|
OPC_Andent(typ);
|
||||||
if ((prev->form != 13 && (obj != NIL || dcl->name[0] == 0x00))) {
|
if ((prev->form != 11 && (obj != NIL || dcl->name[0] == 0x00))) {
|
||||||
if ((typ->BaseTyp != NIL && typ->BaseTyp->strobj->vis != 0)) {
|
if ((typ->BaseTyp != NIL && typ->BaseTyp->strobj->vis != 0)) {
|
||||||
OPM_WriteString((CHAR*)" { /* ", 7);
|
OPM_WriteString((CHAR*)" { /* ", 7);
|
||||||
OPC_Ident(typ->BaseTyp->strobj);
|
OPC_Ident(typ->BaseTyp->strobj);
|
||||||
|
|
@ -357,7 +357,7 @@ static void OPC_DeclareBase (OPT_Object dcl)
|
||||||
OPC_FieldList(typ, 1, &off, &n, &dummy);
|
OPC_FieldList(typ, 1, &off, &n, &dummy);
|
||||||
OPC_EndBlk0();
|
OPC_EndBlk0();
|
||||||
}
|
}
|
||||||
} else if ((typ->form == 13 && typ->BaseTyp->comp == 3)) {
|
} else if ((typ->form == 11 && typ->BaseTyp->comp == 3)) {
|
||||||
typ = typ->BaseTyp->BaseTyp;
|
typ = typ->BaseTyp->BaseTyp;
|
||||||
nofdims = 1;
|
nofdims = 1;
|
||||||
while (typ->comp == 3) {
|
while (typ->comp == 3) {
|
||||||
|
|
@ -372,7 +372,7 @@ static void OPC_DeclareBase (OPT_Object dcl)
|
||||||
OPC_BegStat();
|
OPC_BegStat();
|
||||||
__NEW(obj, OPT_ObjDesc);
|
__NEW(obj, OPT_ObjDesc);
|
||||||
__NEW(obj->typ, OPT_StrDesc);
|
__NEW(obj->typ, OPT_StrDesc);
|
||||||
obj->typ->form = 15;
|
obj->typ->form = 13;
|
||||||
obj->typ->comp = 2;
|
obj->typ->comp = 2;
|
||||||
obj->typ->n = 1;
|
obj->typ->n = 1;
|
||||||
obj->typ->BaseTyp = typ;
|
obj->typ->BaseTyp = typ;
|
||||||
|
|
@ -393,7 +393,7 @@ LONGINT OPC_NofPtrs (OPT_Struct typ)
|
||||||
OPT_Object fld = NIL;
|
OPT_Object fld = NIL;
|
||||||
OPT_Struct btyp = NIL;
|
OPT_Struct btyp = NIL;
|
||||||
LONGINT n;
|
LONGINT n;
|
||||||
if ((typ->form == 13 && typ->sysflag == 0)) {
|
if ((typ->form == 11 && typ->sysflag == 0)) {
|
||||||
_o_result = 1;
|
_o_result = 1;
|
||||||
return _o_result;
|
return _o_result;
|
||||||
} else if ((typ->comp == 4 && __MASK(typ->sysflag, -256) == 0)) {
|
} else if ((typ->comp == 4 && __MASK(typ->sysflag, -256) == 0)) {
|
||||||
|
|
@ -435,7 +435,7 @@ static void OPC_PutPtrOffsets (OPT_Struct typ, LONGINT adr, LONGINT *cnt)
|
||||||
OPT_Object fld = NIL;
|
OPT_Object fld = NIL;
|
||||||
OPT_Struct btyp = NIL;
|
OPT_Struct btyp = NIL;
|
||||||
LONGINT n, i;
|
LONGINT n, i;
|
||||||
if ((typ->form == 13 && typ->sysflag == 0)) {
|
if ((typ->form == 11 && typ->sysflag == 0)) {
|
||||||
OPM_WriteInt(adr);
|
OPM_WriteInt(adr);
|
||||||
OPM_WriteString((CHAR*)", ", 3);
|
OPM_WriteString((CHAR*)", ", 3);
|
||||||
*cnt += 1;
|
*cnt += 1;
|
||||||
|
|
@ -540,7 +540,7 @@ static void OPC_DeclareParams (OPT_Object par, BOOLEAN macro)
|
||||||
if (macro) {
|
if (macro) {
|
||||||
OPM_WriteStringVar((void*)par->name, 256);
|
OPM_WriteStringVar((void*)par->name, 256);
|
||||||
} else {
|
} else {
|
||||||
if ((par->mode == 1 && par->typ->form == 7)) {
|
if ((par->mode == 1 && par->typ->form == 5)) {
|
||||||
OPM_Write('_');
|
OPM_Write('_');
|
||||||
}
|
}
|
||||||
OPC_Ident(par);
|
OPC_Ident(par);
|
||||||
|
|
@ -612,7 +612,7 @@ OPT_Object OPC_BaseTProc (OPT_Object obj)
|
||||||
OPT_Struct typ = NIL, base = NIL;
|
OPT_Struct typ = NIL, base = NIL;
|
||||||
LONGINT mno;
|
LONGINT mno;
|
||||||
typ = obj->link->typ;
|
typ = obj->link->typ;
|
||||||
if (typ->form == 13) {
|
if (typ->form == 11) {
|
||||||
typ = typ->BaseTyp;
|
typ = typ->BaseTyp;
|
||||||
}
|
}
|
||||||
base = typ->BaseTyp;
|
base = typ->BaseTyp;
|
||||||
|
|
@ -635,7 +635,7 @@ static void OPC_DefineTProcMacros (OPT_Object obj, BOOLEAN *empty)
|
||||||
OPC_Ident(obj);
|
OPC_Ident(obj);
|
||||||
OPC_DeclareParams(obj->link, 1);
|
OPC_DeclareParams(obj->link, 1);
|
||||||
OPM_WriteString((CHAR*)" __SEND(", 9);
|
OPM_WriteString((CHAR*)" __SEND(", 9);
|
||||||
if (obj->link->typ->form == 13) {
|
if (obj->link->typ->form == 11) {
|
||||||
OPM_WriteString((CHAR*)"__TYPEOF(", 10);
|
OPM_WriteString((CHAR*)"__TYPEOF(", 10);
|
||||||
OPC_Ident(obj->link);
|
OPC_Ident(obj->link);
|
||||||
OPM_Write(')');
|
OPM_Write(')');
|
||||||
|
|
@ -673,7 +673,7 @@ static void OPC_DefineType (OPT_Struct str)
|
||||||
if (obj == NIL || OPC_Undefined(obj)) {
|
if (obj == NIL || OPC_Undefined(obj)) {
|
||||||
if (obj != NIL) {
|
if (obj != NIL) {
|
||||||
if (obj->linkadr == 1) {
|
if (obj->linkadr == 1) {
|
||||||
if (str->form != 13) {
|
if (str->form != 11) {
|
||||||
OPM_Mark(244, str->txtpos);
|
OPM_Mark(244, str->txtpos);
|
||||||
obj->linkadr = 2;
|
obj->linkadr = 2;
|
||||||
}
|
}
|
||||||
|
|
@ -692,13 +692,13 @@ static void OPC_DefineType (OPT_Struct str)
|
||||||
}
|
}
|
||||||
field = field->link;
|
field = field->link;
|
||||||
}
|
}
|
||||||
} else if (str->form == 13) {
|
} else if (str->form == 11) {
|
||||||
if (str->BaseTyp->comp != 4) {
|
if (str->BaseTyp->comp != 4) {
|
||||||
OPC_DefineType(str->BaseTyp);
|
OPC_DefineType(str->BaseTyp);
|
||||||
}
|
}
|
||||||
} else if (__IN(str->comp, 0x0c)) {
|
} else if (__IN(str->comp, 0x0c)) {
|
||||||
OPC_DefineType(str->BaseTyp);
|
OPC_DefineType(str->BaseTyp);
|
||||||
} else if (str->form == 14) {
|
} else if (str->form == 12) {
|
||||||
if (str->BaseTyp != OPT_notyp) {
|
if (str->BaseTyp != OPT_notyp) {
|
||||||
OPC_DefineType(str->BaseTyp);
|
OPC_DefineType(str->BaseTyp);
|
||||||
}
|
}
|
||||||
|
|
@ -889,7 +889,7 @@ LONGINT OPC_BaseAlignment (OPT_Struct typ)
|
||||||
{
|
{
|
||||||
LONGINT _o_result;
|
LONGINT _o_result;
|
||||||
LONGINT alignment;
|
LONGINT alignment;
|
||||||
if (typ->form == 15) {
|
if (typ->form == 13) {
|
||||||
if (typ->comp == 4) {
|
if (typ->comp == 4) {
|
||||||
alignment = __MASK(typ->align, -65536);
|
alignment = __MASK(typ->align, -65536);
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -1017,7 +1017,7 @@ static void OPC_IdentList (OPT_Object obj, INTEGER vis)
|
||||||
OPM_WriteString((CHAR*)"export ", 8);
|
OPM_WriteString((CHAR*)"export ", 8);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ((((vis == 2 && obj->mode == 1)) && base->form == 7)) {
|
if ((((vis == 2 && obj->mode == 1)) && base->form == 5)) {
|
||||||
OPM_WriteString((CHAR*)"double", 7);
|
OPM_WriteString((CHAR*)"double", 7);
|
||||||
} else {
|
} else {
|
||||||
OPC_DeclareBase(obj);
|
OPC_DeclareBase(obj);
|
||||||
|
|
@ -1026,7 +1026,7 @@ static void OPC_IdentList (OPT_Object obj, INTEGER vis)
|
||||||
OPM_Write(',');
|
OPM_Write(',');
|
||||||
}
|
}
|
||||||
OPM_Write(' ');
|
OPM_Write(' ');
|
||||||
if ((((vis == 2 && obj->mode == 1)) && base->form == 7)) {
|
if ((((vis == 2 && obj->mode == 1)) && base->form == 5)) {
|
||||||
OPM_Write('_');
|
OPM_Write('_');
|
||||||
}
|
}
|
||||||
OPC_DeclareObj(obj, vis == 3);
|
OPC_DeclareObj(obj, vis == 3);
|
||||||
|
|
@ -1043,7 +1043,7 @@ static void OPC_IdentList (OPT_Object obj, INTEGER vis)
|
||||||
OPC_Ident(obj);
|
OPC_Ident(obj);
|
||||||
OPM_WriteString((CHAR*)"__typ", 6);
|
OPM_WriteString((CHAR*)"__typ", 6);
|
||||||
base = NIL;
|
base = NIL;
|
||||||
} else if ((((((OPC_ptrinit && vis == 0)) && obj->mnolev > 0)) && obj->typ->form == 13)) {
|
} else if ((((((OPC_ptrinit && vis == 0)) && obj->mnolev > 0)) && obj->typ->form == 11)) {
|
||||||
OPM_WriteString((CHAR*)" = NIL", 7);
|
OPM_WriteString((CHAR*)" = NIL", 7);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1380,7 +1380,7 @@ void OPC_GenEnumPtrs (OPT_Object var)
|
||||||
OPC_BegBlk();
|
OPC_BegBlk();
|
||||||
}
|
}
|
||||||
OPC_BegStat();
|
OPC_BegStat();
|
||||||
if (typ->form == 13) {
|
if (typ->form == 11) {
|
||||||
OPM_WriteString((CHAR*)"P(", 3);
|
OPM_WriteString((CHAR*)"P(", 3);
|
||||||
OPC_Ident(var);
|
OPC_Ident(var);
|
||||||
OPM_Write(')');
|
OPM_Write(')');
|
||||||
|
|
@ -1399,7 +1399,7 @@ void OPC_GenEnumPtrs (OPT_Object var)
|
||||||
n = n * typ->n;
|
n = n * typ->n;
|
||||||
typ = typ->BaseTyp;
|
typ = typ->BaseTyp;
|
||||||
}
|
}
|
||||||
if (typ->form == 13) {
|
if (typ->form == 11) {
|
||||||
OPM_WriteString((CHAR*)"__ENUMP(", 9);
|
OPM_WriteString((CHAR*)"__ENUMP(", 9);
|
||||||
OPC_Ident(var);
|
OPC_Ident(var);
|
||||||
OPC_Str1((CHAR*)", #, P)", 8, n);
|
OPC_Str1((CHAR*)", #, P)", 8, n);
|
||||||
|
|
@ -1562,7 +1562,7 @@ void OPC_EnterProc (OPT_Object proc)
|
||||||
if (!OPC_ansi) {
|
if (!OPC_ansi) {
|
||||||
var = proc->link;
|
var = proc->link;
|
||||||
while (var != NIL) {
|
while (var != NIL) {
|
||||||
if ((var->typ->form == 7 && var->mode == 1)) {
|
if ((var->typ->form == 5 && var->mode == 1)) {
|
||||||
OPC_BegStat();
|
OPC_BegStat();
|
||||||
OPC_Ident(var->typ->strobj);
|
OPC_Ident(var->typ->strobj);
|
||||||
OPM_Write(' ');
|
OPM_Write(' ');
|
||||||
|
|
@ -1878,7 +1878,7 @@ void OPC_Case (LONGINT caseVal, INTEGER form)
|
||||||
case 3:
|
case 3:
|
||||||
OPC_CharacterLiteral(caseVal);
|
OPC_CharacterLiteral(caseVal);
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 4:
|
||||||
OPM_WriteInt(caseVal);
|
OPM_WriteInt(caseVal);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
@ -1976,16 +1976,16 @@ void OPC_Constant (OPT_Const con, INTEGER form)
|
||||||
case 3:
|
case 3:
|
||||||
OPC_CharacterLiteral(con->intval);
|
OPC_CharacterLiteral(con->intval);
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 4:
|
||||||
OPM_WriteInt(con->intval);
|
OPM_WriteInt(con->intval);
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 5:
|
||||||
OPM_WriteReal(con->realval, 'f');
|
OPM_WriteReal(con->realval, 'f');
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 6:
|
||||||
OPM_WriteReal(con->realval, 0x00);
|
OPM_WriteReal(con->realval, 0x00);
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 7:
|
||||||
OPM_WriteString((CHAR*)"0x", 3);
|
OPM_WriteString((CHAR*)"0x", 3);
|
||||||
skipLeading = 1;
|
skipLeading = 1;
|
||||||
s = con->setval;
|
s = con->setval;
|
||||||
|
|
@ -2008,10 +2008,10 @@ void OPC_Constant (OPT_Const con, INTEGER form)
|
||||||
OPM_Write('0');
|
OPM_Write('0');
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 8:
|
||||||
OPC_StringLiteral(*con->ext, 256, con->intval2 - 1);
|
OPC_StringLiteral(*con->ext, 256, con->intval2 - 1);
|
||||||
break;
|
break;
|
||||||
case 11:
|
case 9:
|
||||||
OPM_WriteString((CHAR*)"NIL", 4);
|
OPM_WriteString((CHAR*)"NIL", 4);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef OPC__h
|
#ifndef OPC__h
|
||||||
#define OPC__h
|
#define OPC__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "Configuration.h"
|
#include "Configuration.h"
|
||||||
#include "Console.h"
|
#include "Console.h"
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef OPM__h
|
#ifndef OPM__h
|
||||||
#define OPM__h
|
#define OPM__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "OPB.h"
|
#include "OPB.h"
|
||||||
#include "OPM.h"
|
#include "OPM.h"
|
||||||
|
|
@ -136,7 +136,7 @@ static void OPP_CheckSysFlag (INTEGER *sysflag, INTEGER default_)
|
||||||
OPP_err(135);
|
OPP_err(135);
|
||||||
}
|
}
|
||||||
OPP_ConstExpression(&x);
|
OPP_ConstExpression(&x);
|
||||||
if (x->typ->form == 5) {
|
if (x->typ->form == 4) {
|
||||||
sf = x->conval->intval;
|
sf = x->conval->intval;
|
||||||
if (sf < 0 || sf > 1) {
|
if (sf < 0 || sf > 1) {
|
||||||
OPP_err(220);
|
OPP_err(220);
|
||||||
|
|
@ -158,7 +158,7 @@ static void OPP_RecordType (OPT_Struct *typ, OPT_Struct *banned)
|
||||||
OPT_Object fld = NIL, first = NIL, last = NIL, base = NIL;
|
OPT_Object fld = NIL, first = NIL, last = NIL, base = NIL;
|
||||||
OPT_Struct ftyp = NIL;
|
OPT_Struct ftyp = NIL;
|
||||||
INTEGER sysflag;
|
INTEGER sysflag;
|
||||||
*typ = OPT_NewStr(15, 4);
|
*typ = OPT_NewStr(13, 4);
|
||||||
(*typ)->BaseTyp = NIL;
|
(*typ)->BaseTyp = NIL;
|
||||||
OPP_CheckSysFlag(&sysflag, -1);
|
OPP_CheckSysFlag(&sysflag, -1);
|
||||||
if (OPP_sym == 30) {
|
if (OPP_sym == 30) {
|
||||||
|
|
@ -253,7 +253,7 @@ static void OPP_ArrayType (OPT_Struct *typ, OPT_Struct *banned)
|
||||||
INTEGER sysflag;
|
INTEGER sysflag;
|
||||||
OPP_CheckSysFlag(&sysflag, 0);
|
OPP_CheckSysFlag(&sysflag, 0);
|
||||||
if (OPP_sym == 25) {
|
if (OPP_sym == 25) {
|
||||||
*typ = OPT_NewStr(15, 3);
|
*typ = OPT_NewStr(13, 3);
|
||||||
(*typ)->mno = 0;
|
(*typ)->mno = 0;
|
||||||
(*typ)->sysflag = sysflag;
|
(*typ)->sysflag = sysflag;
|
||||||
OPS_Get(&OPP_sym);
|
OPS_Get(&OPP_sym);
|
||||||
|
|
@ -265,10 +265,10 @@ static void OPP_ArrayType (OPT_Struct *typ, OPT_Struct *banned)
|
||||||
(*typ)->n = 0;
|
(*typ)->n = 0;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
*typ = OPT_NewStr(15, 2);
|
*typ = OPT_NewStr(13, 2);
|
||||||
(*typ)->sysflag = sysflag;
|
(*typ)->sysflag = sysflag;
|
||||||
OPP_ConstExpression(&x);
|
OPP_ConstExpression(&x);
|
||||||
if (x->typ->form == 5) {
|
if (x->typ->form == 4) {
|
||||||
n = x->conval->intval;
|
n = x->conval->intval;
|
||||||
if (n <= 0 || n > OPM_MaxIndex) {
|
if (n <= 0 || n > OPM_MaxIndex) {
|
||||||
OPP_err(63);
|
OPP_err(63);
|
||||||
|
|
@ -301,7 +301,7 @@ static void OPP_ArrayType (OPT_Struct *typ, OPT_Struct *banned)
|
||||||
static void OPP_PointerType (OPT_Struct *typ)
|
static void OPP_PointerType (OPT_Struct *typ)
|
||||||
{
|
{
|
||||||
OPT_Object id = NIL;
|
OPT_Object id = NIL;
|
||||||
*typ = OPT_NewStr(13, 1);
|
*typ = OPT_NewStr(11, 1);
|
||||||
OPP_CheckSysFlag(&(*typ)->sysflag, 0);
|
OPP_CheckSysFlag(&(*typ)->sysflag, 0);
|
||||||
OPP_CheckSym(28);
|
OPP_CheckSym(28);
|
||||||
if (OPP_sym == 38) {
|
if (OPP_sym == 38) {
|
||||||
|
|
@ -409,7 +409,7 @@ static void OPP_FormalParameters (OPT_Object *firstPar, OPT_Struct *resTyp)
|
||||||
if (OPP_sym == 38) {
|
if (OPP_sym == 38) {
|
||||||
OPP_qualident(&res);
|
OPP_qualident(&res);
|
||||||
if (res->mode == 5) {
|
if (res->mode == 5) {
|
||||||
if (res->typ->form < 15) {
|
if (res->typ->form < 13) {
|
||||||
*resTyp = res->typ;
|
*resTyp = res->typ;
|
||||||
} else {
|
} else {
|
||||||
OPP_err(54);
|
OPP_err(54);
|
||||||
|
|
@ -459,7 +459,7 @@ static void OPP_TypeDecl (OPT_Struct *typ, OPT_Struct *banned)
|
||||||
OPP_PointerType(&*typ);
|
OPP_PointerType(&*typ);
|
||||||
} else if (OPP_sym == 61) {
|
} else if (OPP_sym == 61) {
|
||||||
OPS_Get(&OPP_sym);
|
OPS_Get(&OPP_sym);
|
||||||
*typ = OPT_NewStr(14, 1);
|
*typ = OPT_NewStr(12, 1);
|
||||||
OPP_CheckSysFlag(&(*typ)->sysflag, 0);
|
OPP_CheckSysFlag(&(*typ)->sysflag, 0);
|
||||||
if (OPP_sym == 30) {
|
if (OPP_sym == 30) {
|
||||||
OPS_Get(&OPP_sym);
|
OPS_Get(&OPP_sym);
|
||||||
|
|
@ -488,7 +488,7 @@ static void OPP_TypeDecl (OPT_Struct *typ, OPT_Struct *banned)
|
||||||
static void OPP_Type (OPT_Struct *typ, OPT_Struct *banned)
|
static void OPP_Type (OPT_Struct *typ, OPT_Struct *banned)
|
||||||
{
|
{
|
||||||
OPP_TypeDecl(&*typ, &*banned);
|
OPP_TypeDecl(&*typ, &*banned);
|
||||||
if (((((*typ)->form == 13 && (*typ)->BaseTyp == OPT_undftyp)) && (*typ)->strobj == NIL)) {
|
if (((((*typ)->form == 11 && (*typ)->BaseTyp == OPT_undftyp)) && (*typ)->strobj == NIL)) {
|
||||||
OPP_err(0);
|
OPP_err(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -503,7 +503,7 @@ static void OPP_selector (OPT_Node *x)
|
||||||
if (OPP_sym == 31) {
|
if (OPP_sym == 31) {
|
||||||
OPS_Get(&OPP_sym);
|
OPS_Get(&OPP_sym);
|
||||||
for (;;) {
|
for (;;) {
|
||||||
if (((*x)->typ != NIL && (*x)->typ->form == 13)) {
|
if (((*x)->typ != NIL && (*x)->typ->form == 11)) {
|
||||||
OPB_DeRef(&*x);
|
OPB_DeRef(&*x);
|
||||||
}
|
}
|
||||||
OPP_Expression(&y);
|
OPP_Expression(&y);
|
||||||
|
|
@ -521,7 +521,7 @@ static void OPP_selector (OPT_Node *x)
|
||||||
__COPY(OPS_name, name, 256);
|
__COPY(OPS_name, name, 256);
|
||||||
OPS_Get(&OPP_sym);
|
OPS_Get(&OPP_sym);
|
||||||
if ((*x)->typ != NIL) {
|
if ((*x)->typ != NIL) {
|
||||||
if ((*x)->typ->form == 13) {
|
if ((*x)->typ->form == 11) {
|
||||||
OPB_DeRef(&*x);
|
OPB_DeRef(&*x);
|
||||||
}
|
}
|
||||||
if ((*x)->typ->comp == 4) {
|
if ((*x)->typ->comp == 4) {
|
||||||
|
|
@ -543,7 +543,7 @@ static void OPP_selector (OPT_Node *x)
|
||||||
OPP_err(75);
|
OPP_err(75);
|
||||||
}
|
}
|
||||||
typ = y->obj->typ;
|
typ = y->obj->typ;
|
||||||
if (typ->form == 13) {
|
if (typ->form == 11) {
|
||||||
typ = typ->BaseTyp;
|
typ = typ->BaseTyp;
|
||||||
}
|
}
|
||||||
OPT_FindField((*x)->obj->name, typ->BaseTyp, &proc);
|
OPT_FindField((*x)->obj->name, typ->BaseTyp, &proc);
|
||||||
|
|
@ -572,7 +572,7 @@ static void OPP_selector (OPT_Node *x)
|
||||||
} else if (OPP_sym == 17) {
|
} else if (OPP_sym == 17) {
|
||||||
OPS_Get(&OPP_sym);
|
OPS_Get(&OPP_sym);
|
||||||
OPB_DeRef(&*x);
|
OPB_DeRef(&*x);
|
||||||
} else if ((((((OPP_sym == 30 && (*x)->class < 7)) && (*x)->typ->form != 14)) && ((*x)->obj == NIL || (*x)->obj->mode != 13))) {
|
} else if ((((((OPP_sym == 30 && (*x)->class < 7)) && (*x)->typ->form != 12)) && ((*x)->obj == NIL || (*x)->obj->mode != 13))) {
|
||||||
OPS_Get(&OPP_sym);
|
OPS_Get(&OPP_sym);
|
||||||
if (OPP_sym == 38) {
|
if (OPP_sym == 38) {
|
||||||
OPP_qualident(&obj);
|
OPP_qualident(&obj);
|
||||||
|
|
@ -871,10 +871,10 @@ static void OPP_Receiver (SHORTINT *mode, OPS_Name name, OPT_Struct *typ, OPT_St
|
||||||
} else {
|
} else {
|
||||||
*typ = obj->typ;
|
*typ = obj->typ;
|
||||||
*rec = *typ;
|
*rec = *typ;
|
||||||
if ((*rec)->form == 13) {
|
if ((*rec)->form == 11) {
|
||||||
*rec = (*rec)->BaseTyp;
|
*rec = (*rec)->BaseTyp;
|
||||||
}
|
}
|
||||||
if (!((((*mode == 1 && (*typ)->form == 13)) && (*rec)->comp == 4) || (*mode == 2 && (*typ)->comp == 4))) {
|
if (!((((*mode == 1 && (*typ)->form == 11)) && (*rec)->comp == 4) || (*mode == 2 && (*typ)->comp == 4))) {
|
||||||
OPP_err(70);
|
OPP_err(70);
|
||||||
*rec = NIL;
|
*rec = NIL;
|
||||||
}
|
}
|
||||||
|
|
@ -888,7 +888,7 @@ static void OPP_Receiver (SHORTINT *mode, OPS_Name name, OPT_Struct *typ, OPT_St
|
||||||
}
|
}
|
||||||
OPP_CheckSym(22);
|
OPP_CheckSym(22);
|
||||||
if (*rec == NIL) {
|
if (*rec == NIL) {
|
||||||
*rec = OPT_NewStr(15, 4);
|
*rec = OPT_NewStr(13, 4);
|
||||||
(*rec)->BaseTyp = NIL;
|
(*rec)->BaseTyp = NIL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -896,7 +896,7 @@ static void OPP_Receiver (SHORTINT *mode, OPS_Name name, OPT_Struct *typ, OPT_St
|
||||||
static BOOLEAN OPP_Extends (OPT_Struct x, OPT_Struct b)
|
static BOOLEAN OPP_Extends (OPT_Struct x, OPT_Struct b)
|
||||||
{
|
{
|
||||||
BOOLEAN _o_result;
|
BOOLEAN _o_result;
|
||||||
if ((b->form == 13 && x->form == 13)) {
|
if ((b->form == 11 && x->form == 11)) {
|
||||||
b = b->BaseTyp;
|
b = b->BaseTyp;
|
||||||
x = x->BaseTyp;
|
x = x->BaseTyp;
|
||||||
}
|
}
|
||||||
|
|
@ -1173,14 +1173,14 @@ static void OPP_CaseLabelList (OPT_Node *lab, OPT_Struct LabelTyp, INTEGER *n, O
|
||||||
for (;;) {
|
for (;;) {
|
||||||
OPP_ConstExpression(&x);
|
OPP_ConstExpression(&x);
|
||||||
f = x->typ->form;
|
f = x->typ->form;
|
||||||
if (__IN(f, 0x28)) {
|
if (__IN(f, 0x18)) {
|
||||||
xval = x->conval->intval;
|
xval = x->conval->intval;
|
||||||
} else {
|
} else {
|
||||||
OPP_err(61);
|
OPP_err(61);
|
||||||
xval = 1;
|
xval = 1;
|
||||||
}
|
}
|
||||||
if (f == 5) {
|
if (f == 4) {
|
||||||
if (!(LabelTyp->form == 5) || LabelTyp->size < x->typ->size) {
|
if (!(LabelTyp->form == 4) || LabelTyp->size < x->typ->size) {
|
||||||
OPP_err(60);
|
OPP_err(60);
|
||||||
}
|
}
|
||||||
} else if ((SYSTEM_INT16)LabelTyp->form != f) {
|
} else if ((SYSTEM_INT16)LabelTyp->form != f) {
|
||||||
|
|
@ -1190,7 +1190,7 @@ static void OPP_CaseLabelList (OPT_Node *lab, OPT_Struct LabelTyp, INTEGER *n, O
|
||||||
OPS_Get(&OPP_sym);
|
OPS_Get(&OPP_sym);
|
||||||
OPP_ConstExpression(&y);
|
OPP_ConstExpression(&y);
|
||||||
yval = y->conval->intval;
|
yval = y->conval->intval;
|
||||||
if (((SYSTEM_INT16)y->typ->form != f && !((f == 5 && y->typ->form == 5)))) {
|
if (((SYSTEM_INT16)y->typ->form != f && !((f == 4 && y->typ->form == 4)))) {
|
||||||
OPP_err(60);
|
OPP_err(60);
|
||||||
}
|
}
|
||||||
if (yval < xval) {
|
if (yval < xval) {
|
||||||
|
|
@ -1253,7 +1253,7 @@ static void CasePart__31 (OPT_Node *x)
|
||||||
*StatSeq__30_s->pos = OPM_errpos;
|
*StatSeq__30_s->pos = OPM_errpos;
|
||||||
if ((*x)->class == 8 || (*x)->class == 9) {
|
if ((*x)->class == 8 || (*x)->class == 9) {
|
||||||
OPP_err(126);
|
OPP_err(126);
|
||||||
} else if (!__IN((*x)->typ->form, 0x38)) {
|
} else if (!__IN((*x)->typ->form, 0x18)) {
|
||||||
OPP_err(125);
|
OPP_err(125);
|
||||||
}
|
}
|
||||||
OPP_CheckSym(25);
|
OPP_CheckSym(25);
|
||||||
|
|
@ -1439,7 +1439,7 @@ static void OPP_StatSeq (OPT_Node *stat)
|
||||||
OPS_Get(&OPP_sym);
|
OPS_Get(&OPP_sym);
|
||||||
if (OPP_sym == 38) {
|
if (OPP_sym == 38) {
|
||||||
OPP_qualident(&id);
|
OPP_qualident(&id);
|
||||||
if (!(id->typ->form == 5)) {
|
if (!(id->typ->form == 4)) {
|
||||||
OPP_err(68);
|
OPP_err(68);
|
||||||
}
|
}
|
||||||
OPP_CheckSym(34);
|
OPP_CheckSym(34);
|
||||||
|
|
@ -1471,7 +1471,7 @@ static void OPP_StatSeq (OPT_Node *stat)
|
||||||
SetPos__35(z);
|
SetPos__35(z);
|
||||||
OPB_Link(&*stat, &last, z);
|
OPB_Link(&*stat, &last, z);
|
||||||
y = OPB_NewLeaf(t);
|
y = OPB_NewLeaf(t);
|
||||||
} else if (!(y->typ->form == 5) || y->typ->size > x->left->typ->size) {
|
} else if (!(y->typ->form == 4) || y->typ->size > x->left->typ->size) {
|
||||||
OPP_err(113);
|
OPP_err(113);
|
||||||
}
|
}
|
||||||
OPB_Link(&*stat, &last, x);
|
OPB_Link(&*stat, &last, x);
|
||||||
|
|
@ -1526,7 +1526,7 @@ static void OPP_StatSeq (OPT_Node *stat)
|
||||||
if (OPP_sym == 38) {
|
if (OPP_sym == 38) {
|
||||||
OPP_qualident(&id);
|
OPP_qualident(&id);
|
||||||
y = OPB_NewLeaf(id);
|
y = OPB_NewLeaf(id);
|
||||||
if ((((id != NIL && id->typ->form == 13)) && (id->mode == 2 || !id->leaf))) {
|
if ((((id != NIL && id->typ->form == 11)) && (id->mode == 2 || !id->leaf))) {
|
||||||
OPP_err(245);
|
OPP_err(245);
|
||||||
}
|
}
|
||||||
OPP_CheckSym(20);
|
OPP_CheckSym(20);
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef OPP__h
|
#ifndef OPP__h
|
||||||
#define OPP__h
|
#define OPP__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin tspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin tspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "OPM.h"
|
#include "OPM.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin tspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin tspkaSfF */
|
||||||
|
|
||||||
#ifndef OPS__h
|
#ifndef OPS__h
|
||||||
#define OPS__h
|
#define OPS__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "OPM.h"
|
#include "OPM.h"
|
||||||
#include "OPS.h"
|
#include "OPS.h"
|
||||||
|
|
@ -173,7 +173,7 @@ OPT_Struct OPT_ShorterOrLongerType (OPT_Struct x, INTEGER dir)
|
||||||
{
|
{
|
||||||
OPT_Struct _o_result;
|
OPT_Struct _o_result;
|
||||||
INTEGER i;
|
INTEGER i;
|
||||||
__ASSERT(x->form == 5, 0);
|
__ASSERT(x->form == 4, 0);
|
||||||
__ASSERT(dir == 1 || dir == -1, 0);
|
__ASSERT(dir == 1 || dir == -1, 0);
|
||||||
__ASSERT(x->BaseTyp == OPT_undftyp, 0);
|
__ASSERT(x->BaseTyp == OPT_undftyp, 0);
|
||||||
i = 0;
|
i = 0;
|
||||||
|
|
@ -284,7 +284,7 @@ void OPT_Close (void)
|
||||||
OPT_GlbMod[__X(i, 64)] = NIL;
|
OPT_GlbMod[__X(i, 64)] = NIL;
|
||||||
i += 1;
|
i += 1;
|
||||||
}
|
}
|
||||||
i = 16;
|
i = 14;
|
||||||
while (i < 255) {
|
while (i < 255) {
|
||||||
OPT_impCtxt.ref[__X(i, 255)] = NIL;
|
OPT_impCtxt.ref[__X(i, 255)] = NIL;
|
||||||
OPT_impCtxt.old[__X(i, 255)] = NIL;
|
OPT_impCtxt.old[__X(i, 255)] = NIL;
|
||||||
|
|
@ -483,14 +483,14 @@ void OPT_IdFPrint (OPT_Struct typ)
|
||||||
OPT_FPrintName(&idfp, (void*)OPT_GlbMod[__X(typ->mno, 64)]->name, 256);
|
OPT_FPrintName(&idfp, (void*)OPT_GlbMod[__X(typ->mno, 64)]->name, 256);
|
||||||
OPT_FPrintName(&idfp, (void*)strobj->name, 256);
|
OPT_FPrintName(&idfp, (void*)strobj->name, 256);
|
||||||
}
|
}
|
||||||
if ((f == 13 || (c == 4 && btyp != NIL)) || c == 3) {
|
if ((f == 11 || (c == 4 && btyp != NIL)) || c == 3) {
|
||||||
OPT_IdFPrint(btyp);
|
OPT_IdFPrint(btyp);
|
||||||
OPM_FPrint(&idfp, btyp->idfp);
|
OPM_FPrint(&idfp, btyp->idfp);
|
||||||
} else if (c == 2) {
|
} else if (c == 2) {
|
||||||
OPT_IdFPrint(btyp);
|
OPT_IdFPrint(btyp);
|
||||||
OPM_FPrint(&idfp, btyp->idfp);
|
OPM_FPrint(&idfp, btyp->idfp);
|
||||||
OPM_FPrint(&idfp, typ->n);
|
OPM_FPrint(&idfp, typ->n);
|
||||||
} else if (f == 14) {
|
} else if (f == 12) {
|
||||||
OPT_FPrintSign(&idfp, btyp, typ->link);
|
OPT_FPrintSign(&idfp, btyp, typ->link);
|
||||||
}
|
}
|
||||||
typ->idfp = idfp;
|
typ->idfp = idfp;
|
||||||
|
|
@ -519,7 +519,7 @@ static void FPrintHdFld__15 (OPT_Struct typ, OPT_Object fld, LONGINT adr)
|
||||||
n = btyp->n * n;
|
n = btyp->n * n;
|
||||||
btyp = btyp->BaseTyp;
|
btyp = btyp->BaseTyp;
|
||||||
}
|
}
|
||||||
if (btyp->form == 13 || btyp->comp == 4) {
|
if (btyp->form == 11 || btyp->comp == 4) {
|
||||||
j = OPT_nofhdfld;
|
j = OPT_nofhdfld;
|
||||||
FPrintHdFld__15(btyp, fld, adr);
|
FPrintHdFld__15(btyp, fld, adr);
|
||||||
if (j != OPT_nofhdfld) {
|
if (j != OPT_nofhdfld) {
|
||||||
|
|
@ -531,8 +531,8 @@ static void FPrintHdFld__15 (OPT_Struct typ, OPT_Object fld, LONGINT adr)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (typ->form == 13 || __STRCMP(fld->name, "@ptr") == 0) {
|
} else if (typ->form == 11 || __STRCMP(fld->name, "@ptr") == 0) {
|
||||||
OPM_FPrint(&*FPrintStr__12_s->pvfp, 13);
|
OPM_FPrint(&*FPrintStr__12_s->pvfp, 11);
|
||||||
OPM_FPrint(&*FPrintStr__12_s->pvfp, adr);
|
OPM_FPrint(&*FPrintStr__12_s->pvfp, adr);
|
||||||
OPT_nofhdfld += 1;
|
OPT_nofhdfld += 1;
|
||||||
}
|
}
|
||||||
|
|
@ -595,7 +595,7 @@ void OPT_FPrintStr (OPT_Struct typ)
|
||||||
f = typ->form;
|
f = typ->form;
|
||||||
c = typ->comp;
|
c = typ->comp;
|
||||||
btyp = typ->BaseTyp;
|
btyp = typ->BaseTyp;
|
||||||
if (f == 13) {
|
if (f == 11) {
|
||||||
strobj = typ->strobj;
|
strobj = typ->strobj;
|
||||||
bstrobj = btyp->strobj;
|
bstrobj = btyp->strobj;
|
||||||
if (((strobj == NIL || strobj->name[0] == 0x00) || bstrobj == NIL) || bstrobj->name[0] == 0x00) {
|
if (((strobj == NIL || strobj->name[0] == 0x00) || bstrobj == NIL) || bstrobj->name[0] == 0x00) {
|
||||||
|
|
@ -603,7 +603,7 @@ void OPT_FPrintStr (OPT_Struct typ)
|
||||||
OPM_FPrint(&pbfp, btyp->pbfp);
|
OPM_FPrint(&pbfp, btyp->pbfp);
|
||||||
pvfp = pbfp;
|
pvfp = pbfp;
|
||||||
}
|
}
|
||||||
} else if (f == 14) {
|
} else if (f == 12) {
|
||||||
} else if (__IN(c, 0x0c)) {
|
} else if (__IN(c, 0x0c)) {
|
||||||
OPT_FPrintStr(btyp);
|
OPT_FPrintStr(btyp);
|
||||||
OPM_FPrint(&pbfp, btyp->pvfp);
|
OPM_FPrint(&pbfp, btyp->pvfp);
|
||||||
|
|
@ -649,23 +649,23 @@ void OPT_FPrintObj (OPT_Object obj)
|
||||||
f = obj->typ->form;
|
f = obj->typ->form;
|
||||||
OPM_FPrint(&fprint, f);
|
OPM_FPrint(&fprint, f);
|
||||||
switch (f) {
|
switch (f) {
|
||||||
case 2: case 3: case 5:
|
case 2: case 3: case 4:
|
||||||
OPM_FPrint(&fprint, obj->conval->intval);
|
OPM_FPrint(&fprint, obj->conval->intval);
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 7:
|
||||||
OPM_FPrintSet(&fprint, obj->conval->setval);
|
OPM_FPrintSet(&fprint, obj->conval->setval);
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 5:
|
||||||
rval = obj->conval->realval;
|
rval = obj->conval->realval;
|
||||||
OPM_FPrintReal(&fprint, rval);
|
OPM_FPrintReal(&fprint, rval);
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 6:
|
||||||
OPM_FPrintLReal(&fprint, obj->conval->realval);
|
OPM_FPrintLReal(&fprint, obj->conval->realval);
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 8:
|
||||||
OPT_FPrintName(&fprint, (void*)*obj->conval->ext, 256);
|
OPT_FPrintName(&fprint, (void*)*obj->conval->ext, 256);
|
||||||
break;
|
break;
|
||||||
case 11:
|
case 9:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
OPT_err(127);
|
OPT_err(127);
|
||||||
|
|
@ -850,22 +850,22 @@ static void OPT_InConstant (LONGINT f, OPT_Const conval)
|
||||||
OPM_SymRCh(&ch);
|
OPM_SymRCh(&ch);
|
||||||
conval->intval = (SYSTEM_INT16)ch;
|
conval->intval = (SYSTEM_INT16)ch;
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 4:
|
||||||
conval->intval = OPM_SymRInt();
|
conval->intval = OPM_SymRInt();
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 7:
|
||||||
OPM_SymRSet(&conval->setval);
|
OPM_SymRSet(&conval->setval);
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 5:
|
||||||
OPM_SymRReal(&rval);
|
OPM_SymRReal(&rval);
|
||||||
conval->realval = rval;
|
conval->realval = rval;
|
||||||
conval->intval = -1;
|
conval->intval = -1;
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 6:
|
||||||
OPM_SymRLReal(&conval->realval);
|
OPM_SymRLReal(&conval->realval);
|
||||||
conval->intval = -1;
|
conval->intval = -1;
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 8:
|
||||||
ext = OPT_NewExt();
|
ext = OPT_NewExt();
|
||||||
conval->ext = ext;
|
conval->ext = ext;
|
||||||
i = 0;
|
i = 0;
|
||||||
|
|
@ -877,7 +877,7 @@ static void OPT_InConstant (LONGINT f, OPT_Const conval)
|
||||||
conval->intval2 = i;
|
conval->intval2 = i;
|
||||||
conval->intval = -1;
|
conval->intval = -1;
|
||||||
break;
|
break;
|
||||||
case 11:
|
case 9:
|
||||||
conval->intval = 0;
|
conval->intval = 0;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
@ -979,7 +979,7 @@ static OPT_Object OPT_InTProc (SHORTINT mno)
|
||||||
static OPT_Struct OPT_InTyp (LONGINT tag)
|
static OPT_Struct OPT_InTyp (LONGINT tag)
|
||||||
{
|
{
|
||||||
OPT_Struct _o_result;
|
OPT_Struct _o_result;
|
||||||
if (tag == 5) {
|
if (tag == 4) {
|
||||||
_o_result = OPT_IntType(OPM_SymRInt());
|
_o_result = OPT_IntType(OPM_SymRInt());
|
||||||
return _o_result;
|
return _o_result;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -1054,20 +1054,20 @@ static void OPT_InStruct (OPT_Struct *typ)
|
||||||
}
|
}
|
||||||
switch (tag) {
|
switch (tag) {
|
||||||
case 36:
|
case 36:
|
||||||
(*typ)->form = 13;
|
(*typ)->form = 11;
|
||||||
(*typ)->size = OPM_PointerSize;
|
(*typ)->size = OPM_PointerSize;
|
||||||
(*typ)->n = 0;
|
(*typ)->n = 0;
|
||||||
OPT_InStruct(&(*typ)->BaseTyp);
|
OPT_InStruct(&(*typ)->BaseTyp);
|
||||||
break;
|
break;
|
||||||
case 37:
|
case 37:
|
||||||
(*typ)->form = 15;
|
(*typ)->form = 13;
|
||||||
(*typ)->comp = 2;
|
(*typ)->comp = 2;
|
||||||
OPT_InStruct(&(*typ)->BaseTyp);
|
OPT_InStruct(&(*typ)->BaseTyp);
|
||||||
(*typ)->n = OPM_SymRInt();
|
(*typ)->n = OPM_SymRInt();
|
||||||
(*OPT_typSize)(*typ);
|
(*OPT_typSize)(*typ);
|
||||||
break;
|
break;
|
||||||
case 38:
|
case 38:
|
||||||
(*typ)->form = 15;
|
(*typ)->form = 13;
|
||||||
(*typ)->comp = 3;
|
(*typ)->comp = 3;
|
||||||
OPT_InStruct(&(*typ)->BaseTyp);
|
OPT_InStruct(&(*typ)->BaseTyp);
|
||||||
if ((*typ)->BaseTyp->comp == 3) {
|
if ((*typ)->BaseTyp->comp == 3) {
|
||||||
|
|
@ -1078,7 +1078,7 @@ static void OPT_InStruct (OPT_Struct *typ)
|
||||||
(*OPT_typSize)(*typ);
|
(*OPT_typSize)(*typ);
|
||||||
break;
|
break;
|
||||||
case 39:
|
case 39:
|
||||||
(*typ)->form = 15;
|
(*typ)->form = 13;
|
||||||
(*typ)->comp = 4;
|
(*typ)->comp = 4;
|
||||||
OPT_InStruct(&(*typ)->BaseTyp);
|
OPT_InStruct(&(*typ)->BaseTyp);
|
||||||
if ((*typ)->BaseTyp == OPT_notyp) {
|
if ((*typ)->BaseTyp == OPT_notyp) {
|
||||||
|
|
@ -1112,7 +1112,7 @@ static void OPT_InStruct (OPT_Struct *typ)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 40:
|
case 40:
|
||||||
(*typ)->form = 14;
|
(*typ)->form = 12;
|
||||||
(*typ)->size = OPM_ProcSize;
|
(*typ)->size = OPM_ProcSize;
|
||||||
OPT_InSign(mno, &(*typ)->BaseTyp, &(*typ)->link);
|
OPT_InSign(mno, &(*typ)->BaseTyp, &(*typ)->link);
|
||||||
break;
|
break;
|
||||||
|
|
@ -1191,7 +1191,7 @@ static OPT_Object OPT_InObj (SHORTINT mno)
|
||||||
obj = OPT_NewObj();
|
obj = OPT_NewObj();
|
||||||
obj->mnolev = -mno;
|
obj->mnolev = -mno;
|
||||||
obj->vis = 1;
|
obj->vis = 1;
|
||||||
if (tag <= 13) {
|
if (tag <= 11) {
|
||||||
obj->mode = 3;
|
obj->mode = 3;
|
||||||
obj->conval = OPT_NewConst();
|
obj->conval = OPT_NewConst();
|
||||||
OPT_InConstant(tag, obj->conval);
|
OPT_InConstant(tag, obj->conval);
|
||||||
|
|
@ -1288,7 +1288,7 @@ void OPT_Import (OPS_Name aliasName, OPS_Name name, BOOLEAN *done)
|
||||||
obj->scope = OPT_syslink;
|
obj->scope = OPT_syslink;
|
||||||
obj->typ = OPT_notyp;
|
obj->typ = OPT_notyp;
|
||||||
} else {
|
} else {
|
||||||
OPT_impCtxt.nofr = 16;
|
OPT_impCtxt.nofr = 14;
|
||||||
OPT_impCtxt.minr = 255;
|
OPT_impCtxt.minr = 255;
|
||||||
OPT_impCtxt.nofm = 0;
|
OPT_impCtxt.nofm = 0;
|
||||||
OPT_impCtxt.self = __STRCMP(aliasName, "@self") == 0;
|
OPT_impCtxt.self = __STRCMP(aliasName, "@self") == 0;
|
||||||
|
|
@ -1355,7 +1355,7 @@ static void OPT_OutHdFld (OPT_Struct typ, OPT_Object fld, LONGINT adr)
|
||||||
n = btyp->n * n;
|
n = btyp->n * n;
|
||||||
btyp = btyp->BaseTyp;
|
btyp = btyp->BaseTyp;
|
||||||
}
|
}
|
||||||
if (btyp->form == 13 || btyp->comp == 4) {
|
if (btyp->form == 11 || btyp->comp == 4) {
|
||||||
j = OPT_nofhdfld;
|
j = OPT_nofhdfld;
|
||||||
OPT_OutHdFld(btyp, fld, adr);
|
OPT_OutHdFld(btyp, fld, adr);
|
||||||
if (j != OPT_nofhdfld) {
|
if (j != OPT_nofhdfld) {
|
||||||
|
|
@ -1367,7 +1367,7 @@ static void OPT_OutHdFld (OPT_Struct typ, OPT_Object fld, LONGINT adr)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (typ->form == 13 || __STRCMP(fld->name, "@ptr") == 0) {
|
} else if (typ->form == 11 || __STRCMP(fld->name, "@ptr") == 0) {
|
||||||
OPM_SymWInt(27);
|
OPM_SymWInt(27);
|
||||||
OPM_SymWInt(adr);
|
OPM_SymWInt(adr);
|
||||||
OPT_nofhdfld += 1;
|
OPT_nofhdfld += 1;
|
||||||
|
|
@ -1439,7 +1439,7 @@ static void OPT_OutStr (OPT_Struct typ)
|
||||||
OPT_Object strobj = NIL;
|
OPT_Object strobj = NIL;
|
||||||
if (typ->ref < OPT_expCtxt.ref) {
|
if (typ->ref < OPT_expCtxt.ref) {
|
||||||
OPM_SymWInt(-typ->ref);
|
OPM_SymWInt(-typ->ref);
|
||||||
if (typ->ref == 5) {
|
if (typ->ref == 4) {
|
||||||
OPM_SymWInt(typ->size);
|
OPM_SymWInt(typ->size);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -1474,15 +1474,15 @@ static void OPT_OutStr (OPT_Struct typ)
|
||||||
OPM_SymWInt(typ->sysflag);
|
OPM_SymWInt(typ->sysflag);
|
||||||
}
|
}
|
||||||
switch (typ->form) {
|
switch (typ->form) {
|
||||||
case 13:
|
case 11:
|
||||||
OPM_SymWInt(36);
|
OPM_SymWInt(36);
|
||||||
OPT_OutStr(typ->BaseTyp);
|
OPT_OutStr(typ->BaseTyp);
|
||||||
break;
|
break;
|
||||||
case 14:
|
case 12:
|
||||||
OPM_SymWInt(40);
|
OPM_SymWInt(40);
|
||||||
OPT_OutSign(typ->BaseTyp, typ->link);
|
OPT_OutSign(typ->BaseTyp, typ->link);
|
||||||
break;
|
break;
|
||||||
case 15:
|
case 13:
|
||||||
switch (typ->comp) {
|
switch (typ->comp) {
|
||||||
case 2:
|
case 2:
|
||||||
OPM_SymWInt(37);
|
OPM_SymWInt(37);
|
||||||
|
|
@ -1537,24 +1537,24 @@ static void OPT_OutConstant (OPT_Object obj)
|
||||||
case 2: case 3:
|
case 2: case 3:
|
||||||
OPM_SymWCh((CHAR)obj->conval->intval);
|
OPM_SymWCh((CHAR)obj->conval->intval);
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 4:
|
||||||
OPM_SymWInt(obj->conval->intval);
|
OPM_SymWInt(obj->conval->intval);
|
||||||
OPM_SymWInt(obj->typ->size);
|
OPM_SymWInt(obj->typ->size);
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 7:
|
||||||
OPM_SymWSet(obj->conval->setval);
|
OPM_SymWSet(obj->conval->setval);
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 5:
|
||||||
rval = obj->conval->realval;
|
rval = obj->conval->realval;
|
||||||
OPM_SymWReal(rval);
|
OPM_SymWReal(rval);
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 6:
|
||||||
OPM_SymWLReal(obj->conval->realval);
|
OPM_SymWLReal(obj->conval->realval);
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 8:
|
||||||
OPT_OutName((void*)*obj->conval->ext, 256);
|
OPT_OutName((void*)*obj->conval->ext, 256);
|
||||||
break;
|
break;
|
||||||
case 11:
|
case 9:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
OPT_err(127);
|
OPT_err(127);
|
||||||
|
|
@ -1668,7 +1668,7 @@ void OPT_Export (BOOLEAN *ext, BOOLEAN *new)
|
||||||
OPM_SymWInt(16);
|
OPM_SymWInt(16);
|
||||||
OPT_OutName((void*)OPT_SelfName, 256);
|
OPT_OutName((void*)OPT_SelfName, 256);
|
||||||
OPT_expCtxt.reffp = 0;
|
OPT_expCtxt.reffp = 0;
|
||||||
OPT_expCtxt.ref = 16;
|
OPT_expCtxt.ref = 14;
|
||||||
OPT_expCtxt.nofm = 1;
|
OPT_expCtxt.nofm = 1;
|
||||||
OPT_expCtxt.locmno[0] = 0;
|
OPT_expCtxt.locmno[0] = 0;
|
||||||
i = 1;
|
i = 1;
|
||||||
|
|
@ -1844,16 +1844,16 @@ export void *OPT__init(void)
|
||||||
OPM_errpos = 0;
|
OPM_errpos = 0;
|
||||||
OPT_InitStruct(&OPT_undftyp, 0);
|
OPT_InitStruct(&OPT_undftyp, 0);
|
||||||
OPT_undftyp->BaseTyp = OPT_undftyp;
|
OPT_undftyp->BaseTyp = OPT_undftyp;
|
||||||
OPT_InitStruct(&OPT_notyp, 12);
|
OPT_InitStruct(&OPT_notyp, 10);
|
||||||
OPT_InitStruct(&OPT_stringtyp, 10);
|
OPT_InitStruct(&OPT_stringtyp, 8);
|
||||||
OPT_InitStruct(&OPT_niltyp, 11);
|
OPT_InitStruct(&OPT_niltyp, 9);
|
||||||
OPT_EnterTyp((CHAR*)"BYTE", 1, OPM_ByteSize, &OPT_bytetyp);
|
OPT_EnterTyp((CHAR*)"BYTE", 1, OPM_ByteSize, &OPT_bytetyp);
|
||||||
OPT_EnterTyp((CHAR*)"PTR", 13, OPM_PointerSize, &OPT_sysptrtyp);
|
OPT_EnterTyp((CHAR*)"PTR", 11, OPM_PointerSize, &OPT_sysptrtyp);
|
||||||
OPT_EnterTyp((CHAR*)"ADRINT", 5, OPM_PointerSize, &OPT_ainttyp);
|
OPT_EnterTyp((CHAR*)"ADRINT", 4, OPM_PointerSize, &OPT_ainttyp);
|
||||||
OPT_EnterTyp((CHAR*)"INT8", 5, 1, &OPT_int8typ);
|
OPT_EnterTyp((CHAR*)"INT8", 4, 1, &OPT_int8typ);
|
||||||
OPT_EnterTyp((CHAR*)"INT16", 5, 2, &OPT_int16typ);
|
OPT_EnterTyp((CHAR*)"INT16", 4, 2, &OPT_int16typ);
|
||||||
OPT_EnterTyp((CHAR*)"INT32", 5, 4, &OPT_int32typ);
|
OPT_EnterTyp((CHAR*)"INT32", 4, 4, &OPT_int32typ);
|
||||||
OPT_EnterTyp((CHAR*)"INT64", 5, 8, &OPT_int64typ);
|
OPT_EnterTyp((CHAR*)"INT64", 4, 8, &OPT_int64typ);
|
||||||
OPT_EnterProc((CHAR*)"ADR", 20);
|
OPT_EnterProc((CHAR*)"ADR", 20);
|
||||||
OPT_EnterProc((CHAR*)"CC", 21);
|
OPT_EnterProc((CHAR*)"CC", 21);
|
||||||
OPT_EnterProc((CHAR*)"LSH", 22);
|
OPT_EnterProc((CHAR*)"LSH", 22);
|
||||||
|
|
@ -1871,12 +1871,12 @@ export void *OPT__init(void)
|
||||||
OPT_topScope->right = NIL;
|
OPT_topScope->right = NIL;
|
||||||
OPT_EnterTyp((CHAR*)"BOOLEAN", 2, OPM_BoolSize, &OPT_booltyp);
|
OPT_EnterTyp((CHAR*)"BOOLEAN", 2, OPM_BoolSize, &OPT_booltyp);
|
||||||
OPT_EnterTyp((CHAR*)"CHAR", 3, OPM_CharSize, &OPT_chartyp);
|
OPT_EnterTyp((CHAR*)"CHAR", 3, OPM_CharSize, &OPT_chartyp);
|
||||||
OPT_EnterTyp((CHAR*)"SET", 9, OPM_SetSize, &OPT_settyp);
|
OPT_EnterTyp((CHAR*)"SET", 7, OPM_SetSize, &OPT_settyp);
|
||||||
OPT_EnterTyp((CHAR*)"REAL", 7, OPM_RealSize, &OPT_realtyp);
|
OPT_EnterTyp((CHAR*)"REAL", 5, OPM_RealSize, &OPT_realtyp);
|
||||||
OPT_EnterTyp((CHAR*)"INTEGER", 5, OPM_IntSize, &OPT_inttyp);
|
OPT_EnterTyp((CHAR*)"INTEGER", 4, OPM_IntSize, &OPT_inttyp);
|
||||||
OPT_EnterTyp((CHAR*)"LONGINT", 5, OPM_LIntSize, &OPT_linttyp);
|
OPT_EnterTyp((CHAR*)"LONGINT", 4, OPM_LIntSize, &OPT_linttyp);
|
||||||
OPT_EnterTyp((CHAR*)"LONGREAL", 8, OPM_LRealSize, &OPT_lrltyp);
|
OPT_EnterTyp((CHAR*)"LONGREAL", 6, OPM_LRealSize, &OPT_lrltyp);
|
||||||
OPT_EnterTyp((CHAR*)"SHORTINT", 5, OPM_SIntSize, &OPT_sinttyp);
|
OPT_EnterTyp((CHAR*)"SHORTINT", 4, OPM_SIntSize, &OPT_sinttyp);
|
||||||
OPT_EnterBoolConst((CHAR*)"FALSE", 0);
|
OPT_EnterBoolConst((CHAR*)"FALSE", 0);
|
||||||
OPT_EnterBoolConst((CHAR*)"TRUE", 1);
|
OPT_EnterBoolConst((CHAR*)"TRUE", 1);
|
||||||
OPT_EnterProc((CHAR*)"HALT", 0);
|
OPT_EnterProc((CHAR*)"HALT", 0);
|
||||||
|
|
@ -1904,14 +1904,14 @@ export void *OPT__init(void)
|
||||||
OPT_impCtxt.ref[1] = OPT_bytetyp;
|
OPT_impCtxt.ref[1] = OPT_bytetyp;
|
||||||
OPT_impCtxt.ref[2] = OPT_booltyp;
|
OPT_impCtxt.ref[2] = OPT_booltyp;
|
||||||
OPT_impCtxt.ref[3] = OPT_chartyp;
|
OPT_impCtxt.ref[3] = OPT_chartyp;
|
||||||
OPT_impCtxt.ref[5] = OPT_inttyp;
|
OPT_impCtxt.ref[4] = OPT_inttyp;
|
||||||
OPT_impCtxt.ref[7] = OPT_realtyp;
|
OPT_impCtxt.ref[5] = OPT_realtyp;
|
||||||
OPT_impCtxt.ref[8] = OPT_lrltyp;
|
OPT_impCtxt.ref[6] = OPT_lrltyp;
|
||||||
OPT_impCtxt.ref[9] = OPT_settyp;
|
OPT_impCtxt.ref[7] = OPT_settyp;
|
||||||
OPT_impCtxt.ref[10] = OPT_stringtyp;
|
OPT_impCtxt.ref[8] = OPT_stringtyp;
|
||||||
OPT_impCtxt.ref[11] = OPT_niltyp;
|
OPT_impCtxt.ref[9] = OPT_niltyp;
|
||||||
OPT_impCtxt.ref[12] = OPT_notyp;
|
OPT_impCtxt.ref[10] = OPT_notyp;
|
||||||
OPT_impCtxt.ref[13] = OPT_sysptrtyp;
|
OPT_impCtxt.ref[11] = OPT_sysptrtyp;
|
||||||
OPT_IntTypes[1] = OPT_sinttyp;
|
OPT_IntTypes[1] = OPT_sinttyp;
|
||||||
OPT_IntTypes[2] = OPT_inttyp;
|
OPT_IntTypes[2] = OPT_inttyp;
|
||||||
OPT_IntTypes[3] = OPT_linttyp;
|
OPT_IntTypes[3] = OPT_linttyp;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef OPT__h
|
#ifndef OPT__h
|
||||||
#define OPT__h
|
#define OPT__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "OPC.h"
|
#include "OPC.h"
|
||||||
#include "OPM.h"
|
#include "OPM.h"
|
||||||
|
|
@ -122,14 +122,14 @@ void OPV_TypSize (OPT_Struct typ)
|
||||||
} else if (c == 2) {
|
} else if (c == 2) {
|
||||||
OPV_TypSize(typ->BaseTyp);
|
OPV_TypSize(typ->BaseTyp);
|
||||||
typ->size = typ->n * typ->BaseTyp->size;
|
typ->size = typ->n * typ->BaseTyp->size;
|
||||||
} else if (f == 13) {
|
} else if (f == 11) {
|
||||||
typ->size = OPM_PointerSize;
|
typ->size = OPM_PointerSize;
|
||||||
if (typ->BaseTyp == OPT_undftyp) {
|
if (typ->BaseTyp == OPT_undftyp) {
|
||||||
OPM_Mark(128, typ->n);
|
OPM_Mark(128, typ->n);
|
||||||
} else {
|
} else {
|
||||||
OPV_TypSize(typ->BaseTyp);
|
OPV_TypSize(typ->BaseTyp);
|
||||||
}
|
}
|
||||||
} else if (f == 14) {
|
} else if (f == 12) {
|
||||||
typ->size = OPM_ProcSize;
|
typ->size = OPM_ProcSize;
|
||||||
} else if (c == 3) {
|
} else if (c == 3) {
|
||||||
btyp = typ->BaseTyp;
|
btyp = typ->BaseTyp;
|
||||||
|
|
@ -162,7 +162,7 @@ static void OPV_GetTProcNum (OPT_Object obj)
|
||||||
oldPos = OPM_errpos;
|
oldPos = OPM_errpos;
|
||||||
OPM_errpos = obj->scope->adr;
|
OPM_errpos = obj->scope->adr;
|
||||||
typ = obj->link->typ;
|
typ = obj->link->typ;
|
||||||
if (typ->form == 13) {
|
if (typ->form == 11) {
|
||||||
typ = typ->BaseTyp;
|
typ = typ->BaseTyp;
|
||||||
}
|
}
|
||||||
OPT_FindField(obj->name, typ->BaseTyp, &redef);
|
OPT_FindField(obj->name, typ->BaseTyp, &redef);
|
||||||
|
|
@ -236,7 +236,7 @@ static void OPV_Traverse (OPT_Object obj, OPT_Object outerScope, BOOLEAN exporte
|
||||||
if ((mode == 5 && (obj->vis != 0) == exported)) {
|
if ((mode == 5 && (obj->vis != 0) == exported)) {
|
||||||
typ = obj->typ;
|
typ = obj->typ;
|
||||||
OPV_TypSize(obj->typ);
|
OPV_TypSize(obj->typ);
|
||||||
if (typ->form == 13) {
|
if (typ->form == 11) {
|
||||||
typ = typ->BaseTyp;
|
typ = typ->BaseTyp;
|
||||||
}
|
}
|
||||||
if (typ->comp == 4) {
|
if (typ->comp == 4) {
|
||||||
|
|
@ -348,7 +348,7 @@ static INTEGER OPV_Precedence (INTEGER class, INTEGER subclass, INTEGER form, IN
|
||||||
case 12:
|
case 12:
|
||||||
switch (subclass) {
|
switch (subclass) {
|
||||||
case 1:
|
case 1:
|
||||||
if (form == 9) {
|
if (form == 7) {
|
||||||
_o_result = 4;
|
_o_result = 4;
|
||||||
return _o_result;
|
return _o_result;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -357,7 +357,7 @@ static INTEGER OPV_Precedence (INTEGER class, INTEGER subclass, INTEGER form, IN
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
if (form == 9) {
|
if (form == 7) {
|
||||||
_o_result = 3;
|
_o_result = 3;
|
||||||
return _o_result;
|
return _o_result;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -370,7 +370,7 @@ static INTEGER OPV_Precedence (INTEGER class, INTEGER subclass, INTEGER form, IN
|
||||||
return _o_result;
|
return _o_result;
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
if (form == 9) {
|
if (form == 7) {
|
||||||
_o_result = 2;
|
_o_result = 2;
|
||||||
return _o_result;
|
return _o_result;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -379,7 +379,7 @@ static INTEGER OPV_Precedence (INTEGER class, INTEGER subclass, INTEGER form, IN
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
if (form == 9) {
|
if (form == 7) {
|
||||||
_o_result = 4;
|
_o_result = 4;
|
||||||
return _o_result;
|
return _o_result;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -463,7 +463,7 @@ static BOOLEAN OPV_SideEffects (OPT_Node n)
|
||||||
|
|
||||||
static void OPV_Entier (OPT_Node n, INTEGER prec)
|
static void OPV_Entier (OPT_Node n, INTEGER prec)
|
||||||
{
|
{
|
||||||
if (__IN(n->typ->form, 0x0180)) {
|
if (__IN(n->typ->form, 0x60)) {
|
||||||
OPM_WriteString((CHAR*)"__ENTIER(", 10);
|
OPM_WriteString((CHAR*)"__ENTIER(", 10);
|
||||||
OPV_expr(n, -1);
|
OPV_expr(n, -1);
|
||||||
OPM_Write(')');
|
OPM_Write(')');
|
||||||
|
|
@ -502,11 +502,11 @@ static void OPV_Convert (OPT_Node n, OPT_Struct newtype, INTEGER prec)
|
||||||
INTEGER from, to;
|
INTEGER from, to;
|
||||||
from = n->typ->form;
|
from = n->typ->form;
|
||||||
to = newtype->form;
|
to = newtype->form;
|
||||||
if (to == 9) {
|
if (to == 7) {
|
||||||
OPM_WriteString((CHAR*)"__SETOF(", 9);
|
OPM_WriteString((CHAR*)"__SETOF(", 9);
|
||||||
OPV_Entier(n, -1);
|
OPV_Entier(n, -1);
|
||||||
OPM_Write(')');
|
OPM_Write(')');
|
||||||
} else if (to == 5) {
|
} else if (to == 4) {
|
||||||
if ((newtype->size < n->typ->size && __IN(2, OPM_opt))) {
|
if ((newtype->size < n->typ->size && __IN(2, OPM_opt))) {
|
||||||
OPM_WriteString((CHAR*)"__SHORT", 8);
|
OPM_WriteString((CHAR*)"__SHORT", 8);
|
||||||
if (OPV_SideEffects(n)) {
|
if (OPV_SideEffects(n)) {
|
||||||
|
|
@ -541,7 +541,7 @@ static void OPV_Convert (OPT_Node n, OPT_Struct newtype, INTEGER prec)
|
||||||
|
|
||||||
static void OPV_TypeOf (OPT_Node n)
|
static void OPV_TypeOf (OPT_Node n)
|
||||||
{
|
{
|
||||||
if (n->typ->form == 13) {
|
if (n->typ->form == 11) {
|
||||||
OPM_WriteString((CHAR*)"__TYPEOF(", 10);
|
OPM_WriteString((CHAR*)"__TYPEOF(", 10);
|
||||||
OPV_expr(n, -1);
|
OPV_expr(n, -1);
|
||||||
OPM_Write(')');
|
OPM_Write(')');
|
||||||
|
|
@ -793,14 +793,14 @@ static void OPV_ActualPar (OPT_Node n, OPT_Object fp)
|
||||||
} else if (OPV_ansi) {
|
} else if (OPV_ansi) {
|
||||||
if ((__IN(comp, 0x0c) && n->class == 7)) {
|
if ((__IN(comp, 0x0c) && n->class == 7)) {
|
||||||
OPM_WriteString((CHAR*)"(CHAR*)", 8);
|
OPM_WriteString((CHAR*)"(CHAR*)", 8);
|
||||||
} else if ((((form == 13 && typ != n->typ)) && n->typ != OPT_niltyp)) {
|
} else if ((((form == 11 && typ != n->typ)) && n->typ != OPT_niltyp)) {
|
||||||
OPM_WriteString((CHAR*)"(void*)", 8);
|
OPM_WriteString((CHAR*)"(void*)", 8);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ((__IN(form, 0x0180) && n->typ->form == 5)) {
|
if ((__IN(form, 0x60) && n->typ->form == 4)) {
|
||||||
OPM_WriteString((CHAR*)"(double)", 9);
|
OPM_WriteString((CHAR*)"(double)", 9);
|
||||||
prec = 9;
|
prec = 9;
|
||||||
} else if (form == 5) {
|
} else if (form == 4) {
|
||||||
OPV_SizeCast(n->typ->size, typ->size);
|
OPV_SizeCast(n->typ->size, typ->size);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -811,7 +811,7 @@ static void OPV_ActualPar (OPT_Node n, OPT_Object fp)
|
||||||
}
|
}
|
||||||
if ((((mode == 2 && n->class == 11)) && n->subcl == 29)) {
|
if ((((mode == 2 && n->class == 11)) && n->subcl == 29)) {
|
||||||
OPV_expr(n->left, prec);
|
OPV_expr(n->left, prec);
|
||||||
} else if ((form == 5 && n->class == 7)) {
|
} else if ((form == 4 && n->class == 7)) {
|
||||||
OPV_ParIntLiteral(n->conval->intval, n->typ->size);
|
OPV_ParIntLiteral(n->conval->intval, n->typ->size);
|
||||||
} else {
|
} else {
|
||||||
OPV_expr(n, prec);
|
OPV_expr(n, prec);
|
||||||
|
|
@ -860,7 +860,7 @@ static OPT_Object OPV_SuperProc (OPT_Node n)
|
||||||
OPT_Object obj = NIL;
|
OPT_Object obj = NIL;
|
||||||
OPT_Struct typ = NIL;
|
OPT_Struct typ = NIL;
|
||||||
typ = n->right->typ;
|
typ = n->right->typ;
|
||||||
if (typ->form == 13) {
|
if (typ->form == 11) {
|
||||||
typ = typ->BaseTyp;
|
typ = typ->BaseTyp;
|
||||||
}
|
}
|
||||||
OPT_FindField(n->left->obj->name, typ->BaseTyp, &obj);
|
OPT_FindField(n->left->obj->name, typ->BaseTyp, &obj);
|
||||||
|
|
@ -901,7 +901,7 @@ static void OPV_expr (OPT_Node n, INTEGER prec)
|
||||||
OPV_expr(l, exprPrec);
|
OPV_expr(l, exprPrec);
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
if (form == 9) {
|
if (form == 7) {
|
||||||
OPM_Write('~');
|
OPM_Write('~');
|
||||||
} else {
|
} else {
|
||||||
OPM_Write('-');
|
OPM_Write('-');
|
||||||
|
|
@ -929,7 +929,7 @@ static void OPV_expr (OPT_Node n, INTEGER prec)
|
||||||
break;
|
break;
|
||||||
case 21:
|
case 21:
|
||||||
if (OPV_SideEffects(l)) {
|
if (OPV_SideEffects(l)) {
|
||||||
if (l->typ->form < 7) {
|
if (l->typ->form < 5) {
|
||||||
if (l->typ->size <= 4) {
|
if (l->typ->size <= 4) {
|
||||||
OPM_WriteString((CHAR*)"(int)", 6);
|
OPM_WriteString((CHAR*)"(int)", 6);
|
||||||
}
|
}
|
||||||
|
|
@ -958,18 +958,18 @@ static void OPV_expr (OPT_Node n, INTEGER prec)
|
||||||
if (l->class == 1) {
|
if (l->class == 1) {
|
||||||
OPC_CompleteIdent(l->obj);
|
OPC_CompleteIdent(l->obj);
|
||||||
} else {
|
} else {
|
||||||
if ((l->typ->form != 10 && !__IN(l->typ->comp, 0x0c))) {
|
if ((l->typ->form != 8 && !__IN(l->typ->comp, 0x0c))) {
|
||||||
OPM_Write('&');
|
OPM_Write('&');
|
||||||
}
|
}
|
||||||
OPV_expr(l, exprPrec);
|
OPV_expr(l, exprPrec);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 29:
|
case 29:
|
||||||
if (!__IN(l->class, 0x17) || (((__IN(n->typ->form, 0x6220) && __IN(l->typ->form, 0x6220))) && n->typ->size == l->typ->size)) {
|
if (!__IN(l->class, 0x17) || (((__IN(n->typ->form, 0x1890) && __IN(l->typ->form, 0x1890))) && n->typ->size == l->typ->size)) {
|
||||||
OPM_Write('(');
|
OPM_Write('(');
|
||||||
OPC_Ident(n->typ->strobj);
|
OPC_Ident(n->typ->strobj);
|
||||||
OPM_Write(')');
|
OPM_Write(')');
|
||||||
if (__IN(n->typ->form, 0x6000) || __IN(l->typ->form, 0x6000)) {
|
if (__IN(n->typ->form, 0x1800) || __IN(l->typ->form, 0x1800)) {
|
||||||
OPM_WriteString((CHAR*)"(SYSTEM_ADRINT)", 16);
|
OPM_WriteString((CHAR*)"(SYSTEM_ADRINT)", 16);
|
||||||
}
|
}
|
||||||
OPV_expr(l, exprPrec);
|
OPV_expr(l, exprPrec);
|
||||||
|
|
@ -1079,7 +1079,7 @@ static void OPV_expr (OPT_Node n, INTEGER prec)
|
||||||
break;
|
break;
|
||||||
case 9: case 10: case 11: case 12: case 13:
|
case 9: case 10: case 11: case 12: case 13:
|
||||||
case 14:
|
case 14:
|
||||||
if (__IN(l->typ->form, 0x8400)) {
|
if (__IN(l->typ->form, 0x2100)) {
|
||||||
OPM_WriteString((CHAR*)"__STRCMP(", 10);
|
OPM_WriteString((CHAR*)"__STRCMP(", 10);
|
||||||
OPV_expr(l, -1);
|
OPV_expr(l, -1);
|
||||||
OPM_WriteString((CHAR*)", ", 3);
|
OPM_WriteString((CHAR*)", ", 3);
|
||||||
|
|
@ -1091,31 +1091,31 @@ static void OPV_expr (OPT_Node n, INTEGER prec)
|
||||||
OPV_expr(l, exprPrec);
|
OPV_expr(l, exprPrec);
|
||||||
OPC_Cmp(subclass);
|
OPC_Cmp(subclass);
|
||||||
typ = l->typ;
|
typ = l->typ;
|
||||||
if ((((((typ->form == 13 && r->typ->form != 11)) && r->typ != typ)) && r->typ != OPT_sysptrtyp)) {
|
if ((((((typ->form == 11 && r->typ->form != 9)) && r->typ != typ)) && r->typ != OPT_sysptrtyp)) {
|
||||||
OPM_WriteString((CHAR*)"(void *) ", 10);
|
OPM_WriteString((CHAR*)"(void *) ", 10);
|
||||||
}
|
}
|
||||||
OPV_expr(r, exprPrec);
|
OPV_expr(r, exprPrec);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (subclass == 5 || (form == 9 && (subclass == 1 || subclass == 7))) {
|
if (subclass == 5 || (form == 7 && (subclass == 1 || subclass == 7))) {
|
||||||
OPM_Write('(');
|
OPM_Write('(');
|
||||||
}
|
}
|
||||||
OPV_expr(l, exprPrec);
|
OPV_expr(l, exprPrec);
|
||||||
switch (subclass) {
|
switch (subclass) {
|
||||||
case 1:
|
case 1:
|
||||||
if (form == 9) {
|
if (form == 7) {
|
||||||
OPM_WriteString((CHAR*)" & ", 4);
|
OPM_WriteString((CHAR*)" & ", 4);
|
||||||
} else {
|
} else {
|
||||||
OPM_WriteString((CHAR*)" * ", 4);
|
OPM_WriteString((CHAR*)" * ", 4);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
if (form == 9) {
|
if (form == 7) {
|
||||||
OPM_WriteString((CHAR*)" ^ ", 4);
|
OPM_WriteString((CHAR*)" ^ ", 4);
|
||||||
} else {
|
} else {
|
||||||
OPM_WriteString((CHAR*)" / ", 4);
|
OPM_WriteString((CHAR*)" / ", 4);
|
||||||
if (r->obj == NIL || r->obj->typ->form == 5) {
|
if (r->obj == NIL || r->obj->typ->form == 4) {
|
||||||
OPM_Write('(');
|
OPM_Write('(');
|
||||||
OPC_Ident(n->typ->strobj);
|
OPC_Ident(n->typ->strobj);
|
||||||
OPM_Write(')');
|
OPM_Write(')');
|
||||||
|
|
@ -1126,14 +1126,14 @@ static void OPV_expr (OPT_Node n, INTEGER prec)
|
||||||
OPM_WriteString((CHAR*)" && ", 5);
|
OPM_WriteString((CHAR*)" && ", 5);
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
if (form == 9) {
|
if (form == 7) {
|
||||||
OPM_WriteString((CHAR*)" | ", 4);
|
OPM_WriteString((CHAR*)" | ", 4);
|
||||||
} else {
|
} else {
|
||||||
OPM_WriteString((CHAR*)" + ", 4);
|
OPM_WriteString((CHAR*)" + ", 4);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
if (form == 9) {
|
if (form == 7) {
|
||||||
OPM_WriteString((CHAR*)" & ~", 5);
|
OPM_WriteString((CHAR*)" & ~", 5);
|
||||||
} else {
|
} else {
|
||||||
OPM_WriteString((CHAR*)" - ", 4);
|
OPM_WriteString((CHAR*)" - ", 4);
|
||||||
|
|
@ -1149,7 +1149,7 @@ static void OPV_expr (OPT_Node n, INTEGER prec)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
OPV_expr(r, exprPrec);
|
OPV_expr(r, exprPrec);
|
||||||
if (subclass == 5 || (form == 9 && (subclass == 1 || subclass == 7))) {
|
if (subclass == 5 || (form == 7 && (subclass == 1 || subclass == 7))) {
|
||||||
OPM_Write(')');
|
OPM_Write(')');
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -1323,7 +1323,7 @@ static void OPV_NewArr (OPT_Node d, OPT_Node x)
|
||||||
if ((base->comp == 4 && OPC_NofPtrs(base) != 0)) {
|
if ((base->comp == 4 && OPC_NofPtrs(base) != 0)) {
|
||||||
OPC_Ident(base->strobj);
|
OPC_Ident(base->strobj);
|
||||||
OPM_WriteString((CHAR*)"__typ", 6);
|
OPM_WriteString((CHAR*)"__typ", 6);
|
||||||
} else if (base->form == 13) {
|
} else if (base->form == 11) {
|
||||||
OPM_WriteString((CHAR*)"POINTER__typ", 13);
|
OPM_WriteString((CHAR*)"POINTER__typ", 13);
|
||||||
} else {
|
} else {
|
||||||
OPM_WriteString((CHAR*)"NIL", 4);
|
OPM_WriteString((CHAR*)"NIL", 4);
|
||||||
|
|
@ -1429,11 +1429,11 @@ static void OPV_stat (OPT_Node n, OPT_Object outerProc)
|
||||||
}
|
}
|
||||||
OPM_Write(')');
|
OPM_Write(')');
|
||||||
} else {
|
} else {
|
||||||
if ((((((l->typ->form == 13 && l->obj != NIL)) && l->obj->adr == 1)) && l->obj->mode == 1)) {
|
if ((((((l->typ->form == 11 && l->obj != NIL)) && l->obj->adr == 1)) && l->obj->mode == 1)) {
|
||||||
l->obj->adr = 0;
|
l->obj->adr = 0;
|
||||||
OPV_design(l, -1);
|
OPV_design(l, -1);
|
||||||
l->obj->adr = 1;
|
l->obj->adr = 1;
|
||||||
if (r->typ->form != 11) {
|
if (r->typ->form != 9) {
|
||||||
OPM_WriteString((CHAR*)" = (void*)", 11);
|
OPM_WriteString((CHAR*)" = (void*)", 11);
|
||||||
} else {
|
} else {
|
||||||
OPM_WriteString((CHAR*)" = ", 4);
|
OPM_WriteString((CHAR*)" = ", 4);
|
||||||
|
|
@ -1444,7 +1444,7 @@ static void OPV_stat (OPT_Node n, OPT_Object outerProc)
|
||||||
}
|
}
|
||||||
if (l->typ == r->typ) {
|
if (l->typ == r->typ) {
|
||||||
OPV_expr(r, -1);
|
OPV_expr(r, -1);
|
||||||
} else if ((((l->typ->form == 13 && r->typ->form != 11)) && l->typ->strobj != NIL)) {
|
} else if ((((l->typ->form == 11 && r->typ->form != 9)) && l->typ->strobj != NIL)) {
|
||||||
OPM_Write('(');
|
OPM_Write('(');
|
||||||
OPC_Ident(l->typ->strobj);
|
OPC_Ident(l->typ->strobj);
|
||||||
OPM_Write(')');
|
OPM_Write(')');
|
||||||
|
|
@ -1629,7 +1629,7 @@ static void OPV_stat (OPT_Node n, OPT_Object outerProc)
|
||||||
} else {
|
} else {
|
||||||
if (n->left != NIL) {
|
if (n->left != NIL) {
|
||||||
OPM_WriteString((CHAR*)"_o_result = ", 13);
|
OPM_WriteString((CHAR*)"_o_result = ", 13);
|
||||||
if ((n->left->typ->form == 13 && n->obj->typ != n->left->typ)) {
|
if ((n->left->typ->form == 11 && n->obj->typ != n->left->typ)) {
|
||||||
OPM_WriteString((CHAR*)"(void*)", 8);
|
OPM_WriteString((CHAR*)"(void*)", 8);
|
||||||
OPV_expr(n->left, 10);
|
OPV_expr(n->left, 10);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef OPV__h
|
#ifndef OPV__h
|
||||||
#define OPV__h
|
#define OPV__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
|
|
||||||
typedef
|
typedef
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef Platform__h
|
#ifndef Platform__h
|
||||||
#define Platform__h
|
#define Platform__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef Reals__h
|
#ifndef Reals__h
|
||||||
#define Reals__h
|
#define Reals__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef Strings__h
|
#ifndef Strings__h
|
||||||
#define Strings__h
|
#define Strings__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "Files.h"
|
#include "Files.h"
|
||||||
#include "Modules.h"
|
#include "Modules.h"
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef Texts__h
|
#ifndef Texts__h
|
||||||
#define Texts__h
|
#define Texts__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkamSf */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkamSf */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "Configuration.h"
|
#include "Configuration.h"
|
||||||
#include "Heap.h"
|
#include "Heap.h"
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
|
|
||||||
typedef
|
typedef
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef errors__h
|
#ifndef errors__h
|
||||||
#define errors__h
|
#define errors__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "Configuration.h"
|
#include "Configuration.h"
|
||||||
#include "Console.h"
|
#include "Console.h"
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef extTools__h
|
#ifndef extTools__h
|
||||||
#define extTools__h
|
#define extTools__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "Console.h"
|
#include "Console.h"
|
||||||
#include "Strings.h"
|
#include "Strings.h"
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef vt100__h
|
#ifndef vt100__h
|
||||||
#define vt100__h
|
#define vt100__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -13,6 +13,6 @@ export void *Configuration__init(void)
|
||||||
__DEFMOD;
|
__DEFMOD;
|
||||||
__REGMOD("Configuration", 0);
|
__REGMOD("Configuration", 0);
|
||||||
/* BEGIN */
|
/* BEGIN */
|
||||||
__MOVE("1.95 [2016/08/31] for gcc LP64 on cygwin", Configuration_versionLong, 41);
|
__MOVE("1.95 [2016/09/01] for gcc LP64 on cygwin", Configuration_versionLong, 41);
|
||||||
__ENDMOD;
|
__ENDMOD;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef Configuration__h
|
#ifndef Configuration__h
|
||||||
#define Configuration__h
|
#define Configuration__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "Platform.h"
|
#include "Platform.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef Console__h
|
#ifndef Console__h
|
||||||
#define Console__h
|
#define Console__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin tspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin tspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "Configuration.h"
|
#include "Configuration.h"
|
||||||
#include "Console.h"
|
#include "Console.h"
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin tspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin tspkaSfF */
|
||||||
|
|
||||||
#ifndef Files__h
|
#ifndef Files__h
|
||||||
#define Files__h
|
#define Files__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin tskSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin tskSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
|
|
||||||
struct Heap__1 {
|
struct Heap__1 {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin tskSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin tskSfF */
|
||||||
|
|
||||||
#ifndef Heap__h
|
#ifndef Heap__h
|
||||||
#define Heap__h
|
#define Heap__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "Console.h"
|
#include "Console.h"
|
||||||
#include "Heap.h"
|
#include "Heap.h"
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef Modules__h
|
#ifndef Modules__h
|
||||||
#define Modules__h
|
#define Modules__h
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef OPB__h
|
#ifndef OPB__h
|
||||||
#define OPB__h
|
#define OPB__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "Configuration.h"
|
#include "Configuration.h"
|
||||||
#include "OPM.h"
|
#include "OPM.h"
|
||||||
|
|
@ -227,12 +227,12 @@ static void OPC_Stars (OPT_Struct typ, BOOLEAN *openClause)
|
||||||
if (__IN(typ->comp, 0x0c)) {
|
if (__IN(typ->comp, 0x0c)) {
|
||||||
OPC_Stars(typ->BaseTyp, &*openClause);
|
OPC_Stars(typ->BaseTyp, &*openClause);
|
||||||
*openClause = typ->comp == 2;
|
*openClause = typ->comp == 2;
|
||||||
} else if (typ->form == 14) {
|
} else if (typ->form == 12) {
|
||||||
OPM_Write('(');
|
OPM_Write('(');
|
||||||
OPM_Write('*');
|
OPM_Write('*');
|
||||||
} else {
|
} else {
|
||||||
pointers = 0;
|
pointers = 0;
|
||||||
while (((typ->strobj == NIL || typ->strobj->name[0] == 0x00) && typ->form == 13)) {
|
while (((typ->strobj == NIL || typ->strobj->name[0] == 0x00) && typ->form == 11)) {
|
||||||
pointers += 1;
|
pointers += 1;
|
||||||
typ = typ->BaseTyp;
|
typ = typ->BaseTyp;
|
||||||
}
|
}
|
||||||
|
|
@ -277,16 +277,16 @@ static void OPC_DeclareObj (OPT_Object dcl, BOOLEAN scopeDef)
|
||||||
for (;;) {
|
for (;;) {
|
||||||
form = typ->form;
|
form = typ->form;
|
||||||
comp = typ->comp;
|
comp = typ->comp;
|
||||||
if (((typ->strobj != NIL && typ->strobj->name[0] != 0x00) || form == 12) || comp == 4) {
|
if (((typ->strobj != NIL && typ->strobj->name[0] != 0x00) || form == 10) || comp == 4) {
|
||||||
break;
|
break;
|
||||||
} else if ((form == 13 && typ->BaseTyp->comp != 3)) {
|
} else if ((form == 11 && typ->BaseTyp->comp != 3)) {
|
||||||
openClause = 1;
|
openClause = 1;
|
||||||
} else if (form == 14 || __IN(comp, 0x0c)) {
|
} else if (form == 12 || __IN(comp, 0x0c)) {
|
||||||
if (openClause) {
|
if (openClause) {
|
||||||
OPM_Write(')');
|
OPM_Write(')');
|
||||||
openClause = 0;
|
openClause = 0;
|
||||||
}
|
}
|
||||||
if (form == 14) {
|
if (form == 12) {
|
||||||
if (OPC_ansi) {
|
if (OPC_ansi) {
|
||||||
OPM_Write(')');
|
OPM_Write(')');
|
||||||
OPC_AnsiParamList(typ->link, 0);
|
OPC_AnsiParamList(typ->link, 0);
|
||||||
|
|
@ -331,19 +331,19 @@ static void OPC_DeclareBase (OPT_Object dcl)
|
||||||
LONGINT off, n, dummy;
|
LONGINT off, n, dummy;
|
||||||
typ = dcl->typ;
|
typ = dcl->typ;
|
||||||
prev = typ;
|
prev = typ;
|
||||||
while ((((((((typ->strobj == NIL || typ->comp == 3) || OPC_Undefined(typ->strobj)) && typ->comp != 4)) && typ->form != 12)) && !((typ->form == 13 && typ->BaseTyp->comp == 3)))) {
|
while ((((((((typ->strobj == NIL || typ->comp == 3) || OPC_Undefined(typ->strobj)) && typ->comp != 4)) && typ->form != 10)) && !((typ->form == 11 && typ->BaseTyp->comp == 3)))) {
|
||||||
prev = typ;
|
prev = typ;
|
||||||
typ = typ->BaseTyp;
|
typ = typ->BaseTyp;
|
||||||
}
|
}
|
||||||
obj = typ->strobj;
|
obj = typ->strobj;
|
||||||
if (typ->form == 12) {
|
if (typ->form == 10) {
|
||||||
OPM_WriteString((CHAR*)"void", 5);
|
OPM_WriteString((CHAR*)"void", 5);
|
||||||
} else if ((obj != NIL && !OPC_Undefined(obj))) {
|
} else if ((obj != NIL && !OPC_Undefined(obj))) {
|
||||||
OPC_Ident(obj);
|
OPC_Ident(obj);
|
||||||
} else if (typ->comp == 4) {
|
} else if (typ->comp == 4) {
|
||||||
OPM_WriteString((CHAR*)"struct ", 8);
|
OPM_WriteString((CHAR*)"struct ", 8);
|
||||||
OPC_Andent(typ);
|
OPC_Andent(typ);
|
||||||
if ((prev->form != 13 && (obj != NIL || dcl->name[0] == 0x00))) {
|
if ((prev->form != 11 && (obj != NIL || dcl->name[0] == 0x00))) {
|
||||||
if ((typ->BaseTyp != NIL && typ->BaseTyp->strobj->vis != 0)) {
|
if ((typ->BaseTyp != NIL && typ->BaseTyp->strobj->vis != 0)) {
|
||||||
OPM_WriteString((CHAR*)" { /* ", 7);
|
OPM_WriteString((CHAR*)" { /* ", 7);
|
||||||
OPC_Ident(typ->BaseTyp->strobj);
|
OPC_Ident(typ->BaseTyp->strobj);
|
||||||
|
|
@ -357,7 +357,7 @@ static void OPC_DeclareBase (OPT_Object dcl)
|
||||||
OPC_FieldList(typ, 1, &off, &n, &dummy);
|
OPC_FieldList(typ, 1, &off, &n, &dummy);
|
||||||
OPC_EndBlk0();
|
OPC_EndBlk0();
|
||||||
}
|
}
|
||||||
} else if ((typ->form == 13 && typ->BaseTyp->comp == 3)) {
|
} else if ((typ->form == 11 && typ->BaseTyp->comp == 3)) {
|
||||||
typ = typ->BaseTyp->BaseTyp;
|
typ = typ->BaseTyp->BaseTyp;
|
||||||
nofdims = 1;
|
nofdims = 1;
|
||||||
while (typ->comp == 3) {
|
while (typ->comp == 3) {
|
||||||
|
|
@ -372,7 +372,7 @@ static void OPC_DeclareBase (OPT_Object dcl)
|
||||||
OPC_BegStat();
|
OPC_BegStat();
|
||||||
__NEW(obj, OPT_ObjDesc);
|
__NEW(obj, OPT_ObjDesc);
|
||||||
__NEW(obj->typ, OPT_StrDesc);
|
__NEW(obj->typ, OPT_StrDesc);
|
||||||
obj->typ->form = 15;
|
obj->typ->form = 13;
|
||||||
obj->typ->comp = 2;
|
obj->typ->comp = 2;
|
||||||
obj->typ->n = 1;
|
obj->typ->n = 1;
|
||||||
obj->typ->BaseTyp = typ;
|
obj->typ->BaseTyp = typ;
|
||||||
|
|
@ -393,7 +393,7 @@ LONGINT OPC_NofPtrs (OPT_Struct typ)
|
||||||
OPT_Object fld = NIL;
|
OPT_Object fld = NIL;
|
||||||
OPT_Struct btyp = NIL;
|
OPT_Struct btyp = NIL;
|
||||||
LONGINT n;
|
LONGINT n;
|
||||||
if ((typ->form == 13 && typ->sysflag == 0)) {
|
if ((typ->form == 11 && typ->sysflag == 0)) {
|
||||||
_o_result = 1;
|
_o_result = 1;
|
||||||
return _o_result;
|
return _o_result;
|
||||||
} else if ((typ->comp == 4 && __MASK(typ->sysflag, -256) == 0)) {
|
} else if ((typ->comp == 4 && __MASK(typ->sysflag, -256) == 0)) {
|
||||||
|
|
@ -435,7 +435,7 @@ static void OPC_PutPtrOffsets (OPT_Struct typ, LONGINT adr, LONGINT *cnt)
|
||||||
OPT_Object fld = NIL;
|
OPT_Object fld = NIL;
|
||||||
OPT_Struct btyp = NIL;
|
OPT_Struct btyp = NIL;
|
||||||
LONGINT n, i;
|
LONGINT n, i;
|
||||||
if ((typ->form == 13 && typ->sysflag == 0)) {
|
if ((typ->form == 11 && typ->sysflag == 0)) {
|
||||||
OPM_WriteInt(adr);
|
OPM_WriteInt(adr);
|
||||||
OPM_WriteString((CHAR*)", ", 3);
|
OPM_WriteString((CHAR*)", ", 3);
|
||||||
*cnt += 1;
|
*cnt += 1;
|
||||||
|
|
@ -540,7 +540,7 @@ static void OPC_DeclareParams (OPT_Object par, BOOLEAN macro)
|
||||||
if (macro) {
|
if (macro) {
|
||||||
OPM_WriteStringVar((void*)par->name, 256);
|
OPM_WriteStringVar((void*)par->name, 256);
|
||||||
} else {
|
} else {
|
||||||
if ((par->mode == 1 && par->typ->form == 7)) {
|
if ((par->mode == 1 && par->typ->form == 5)) {
|
||||||
OPM_Write('_');
|
OPM_Write('_');
|
||||||
}
|
}
|
||||||
OPC_Ident(par);
|
OPC_Ident(par);
|
||||||
|
|
@ -612,7 +612,7 @@ OPT_Object OPC_BaseTProc (OPT_Object obj)
|
||||||
OPT_Struct typ = NIL, base = NIL;
|
OPT_Struct typ = NIL, base = NIL;
|
||||||
LONGINT mno;
|
LONGINT mno;
|
||||||
typ = obj->link->typ;
|
typ = obj->link->typ;
|
||||||
if (typ->form == 13) {
|
if (typ->form == 11) {
|
||||||
typ = typ->BaseTyp;
|
typ = typ->BaseTyp;
|
||||||
}
|
}
|
||||||
base = typ->BaseTyp;
|
base = typ->BaseTyp;
|
||||||
|
|
@ -635,7 +635,7 @@ static void OPC_DefineTProcMacros (OPT_Object obj, BOOLEAN *empty)
|
||||||
OPC_Ident(obj);
|
OPC_Ident(obj);
|
||||||
OPC_DeclareParams(obj->link, 1);
|
OPC_DeclareParams(obj->link, 1);
|
||||||
OPM_WriteString((CHAR*)" __SEND(", 9);
|
OPM_WriteString((CHAR*)" __SEND(", 9);
|
||||||
if (obj->link->typ->form == 13) {
|
if (obj->link->typ->form == 11) {
|
||||||
OPM_WriteString((CHAR*)"__TYPEOF(", 10);
|
OPM_WriteString((CHAR*)"__TYPEOF(", 10);
|
||||||
OPC_Ident(obj->link);
|
OPC_Ident(obj->link);
|
||||||
OPM_Write(')');
|
OPM_Write(')');
|
||||||
|
|
@ -673,7 +673,7 @@ static void OPC_DefineType (OPT_Struct str)
|
||||||
if (obj == NIL || OPC_Undefined(obj)) {
|
if (obj == NIL || OPC_Undefined(obj)) {
|
||||||
if (obj != NIL) {
|
if (obj != NIL) {
|
||||||
if (obj->linkadr == 1) {
|
if (obj->linkadr == 1) {
|
||||||
if (str->form != 13) {
|
if (str->form != 11) {
|
||||||
OPM_Mark(244, str->txtpos);
|
OPM_Mark(244, str->txtpos);
|
||||||
obj->linkadr = 2;
|
obj->linkadr = 2;
|
||||||
}
|
}
|
||||||
|
|
@ -692,13 +692,13 @@ static void OPC_DefineType (OPT_Struct str)
|
||||||
}
|
}
|
||||||
field = field->link;
|
field = field->link;
|
||||||
}
|
}
|
||||||
} else if (str->form == 13) {
|
} else if (str->form == 11) {
|
||||||
if (str->BaseTyp->comp != 4) {
|
if (str->BaseTyp->comp != 4) {
|
||||||
OPC_DefineType(str->BaseTyp);
|
OPC_DefineType(str->BaseTyp);
|
||||||
}
|
}
|
||||||
} else if (__IN(str->comp, 0x0c)) {
|
} else if (__IN(str->comp, 0x0c)) {
|
||||||
OPC_DefineType(str->BaseTyp);
|
OPC_DefineType(str->BaseTyp);
|
||||||
} else if (str->form == 14) {
|
} else if (str->form == 12) {
|
||||||
if (str->BaseTyp != OPT_notyp) {
|
if (str->BaseTyp != OPT_notyp) {
|
||||||
OPC_DefineType(str->BaseTyp);
|
OPC_DefineType(str->BaseTyp);
|
||||||
}
|
}
|
||||||
|
|
@ -889,7 +889,7 @@ LONGINT OPC_BaseAlignment (OPT_Struct typ)
|
||||||
{
|
{
|
||||||
LONGINT _o_result;
|
LONGINT _o_result;
|
||||||
LONGINT alignment;
|
LONGINT alignment;
|
||||||
if (typ->form == 15) {
|
if (typ->form == 13) {
|
||||||
if (typ->comp == 4) {
|
if (typ->comp == 4) {
|
||||||
alignment = __MASK(typ->align, -65536);
|
alignment = __MASK(typ->align, -65536);
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -1017,7 +1017,7 @@ static void OPC_IdentList (OPT_Object obj, INTEGER vis)
|
||||||
OPM_WriteString((CHAR*)"export ", 8);
|
OPM_WriteString((CHAR*)"export ", 8);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ((((vis == 2 && obj->mode == 1)) && base->form == 7)) {
|
if ((((vis == 2 && obj->mode == 1)) && base->form == 5)) {
|
||||||
OPM_WriteString((CHAR*)"double", 7);
|
OPM_WriteString((CHAR*)"double", 7);
|
||||||
} else {
|
} else {
|
||||||
OPC_DeclareBase(obj);
|
OPC_DeclareBase(obj);
|
||||||
|
|
@ -1026,7 +1026,7 @@ static void OPC_IdentList (OPT_Object obj, INTEGER vis)
|
||||||
OPM_Write(',');
|
OPM_Write(',');
|
||||||
}
|
}
|
||||||
OPM_Write(' ');
|
OPM_Write(' ');
|
||||||
if ((((vis == 2 && obj->mode == 1)) && base->form == 7)) {
|
if ((((vis == 2 && obj->mode == 1)) && base->form == 5)) {
|
||||||
OPM_Write('_');
|
OPM_Write('_');
|
||||||
}
|
}
|
||||||
OPC_DeclareObj(obj, vis == 3);
|
OPC_DeclareObj(obj, vis == 3);
|
||||||
|
|
@ -1043,7 +1043,7 @@ static void OPC_IdentList (OPT_Object obj, INTEGER vis)
|
||||||
OPC_Ident(obj);
|
OPC_Ident(obj);
|
||||||
OPM_WriteString((CHAR*)"__typ", 6);
|
OPM_WriteString((CHAR*)"__typ", 6);
|
||||||
base = NIL;
|
base = NIL;
|
||||||
} else if ((((((OPC_ptrinit && vis == 0)) && obj->mnolev > 0)) && obj->typ->form == 13)) {
|
} else if ((((((OPC_ptrinit && vis == 0)) && obj->mnolev > 0)) && obj->typ->form == 11)) {
|
||||||
OPM_WriteString((CHAR*)" = NIL", 7);
|
OPM_WriteString((CHAR*)" = NIL", 7);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1380,7 +1380,7 @@ void OPC_GenEnumPtrs (OPT_Object var)
|
||||||
OPC_BegBlk();
|
OPC_BegBlk();
|
||||||
}
|
}
|
||||||
OPC_BegStat();
|
OPC_BegStat();
|
||||||
if (typ->form == 13) {
|
if (typ->form == 11) {
|
||||||
OPM_WriteString((CHAR*)"P(", 3);
|
OPM_WriteString((CHAR*)"P(", 3);
|
||||||
OPC_Ident(var);
|
OPC_Ident(var);
|
||||||
OPM_Write(')');
|
OPM_Write(')');
|
||||||
|
|
@ -1399,7 +1399,7 @@ void OPC_GenEnumPtrs (OPT_Object var)
|
||||||
n = n * typ->n;
|
n = n * typ->n;
|
||||||
typ = typ->BaseTyp;
|
typ = typ->BaseTyp;
|
||||||
}
|
}
|
||||||
if (typ->form == 13) {
|
if (typ->form == 11) {
|
||||||
OPM_WriteString((CHAR*)"__ENUMP(", 9);
|
OPM_WriteString((CHAR*)"__ENUMP(", 9);
|
||||||
OPC_Ident(var);
|
OPC_Ident(var);
|
||||||
OPC_Str1((CHAR*)", #, P)", 8, n);
|
OPC_Str1((CHAR*)", #, P)", 8, n);
|
||||||
|
|
@ -1562,7 +1562,7 @@ void OPC_EnterProc (OPT_Object proc)
|
||||||
if (!OPC_ansi) {
|
if (!OPC_ansi) {
|
||||||
var = proc->link;
|
var = proc->link;
|
||||||
while (var != NIL) {
|
while (var != NIL) {
|
||||||
if ((var->typ->form == 7 && var->mode == 1)) {
|
if ((var->typ->form == 5 && var->mode == 1)) {
|
||||||
OPC_BegStat();
|
OPC_BegStat();
|
||||||
OPC_Ident(var->typ->strobj);
|
OPC_Ident(var->typ->strobj);
|
||||||
OPM_Write(' ');
|
OPM_Write(' ');
|
||||||
|
|
@ -1878,7 +1878,7 @@ void OPC_Case (LONGINT caseVal, INTEGER form)
|
||||||
case 3:
|
case 3:
|
||||||
OPC_CharacterLiteral(caseVal);
|
OPC_CharacterLiteral(caseVal);
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 4:
|
||||||
OPM_WriteInt(caseVal);
|
OPM_WriteInt(caseVal);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
@ -1976,16 +1976,16 @@ void OPC_Constant (OPT_Const con, INTEGER form)
|
||||||
case 3:
|
case 3:
|
||||||
OPC_CharacterLiteral(con->intval);
|
OPC_CharacterLiteral(con->intval);
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 4:
|
||||||
OPM_WriteInt(con->intval);
|
OPM_WriteInt(con->intval);
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 5:
|
||||||
OPM_WriteReal(con->realval, 'f');
|
OPM_WriteReal(con->realval, 'f');
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 6:
|
||||||
OPM_WriteReal(con->realval, 0x00);
|
OPM_WriteReal(con->realval, 0x00);
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 7:
|
||||||
OPM_WriteString((CHAR*)"0x", 3);
|
OPM_WriteString((CHAR*)"0x", 3);
|
||||||
skipLeading = 1;
|
skipLeading = 1;
|
||||||
s = con->setval;
|
s = con->setval;
|
||||||
|
|
@ -2008,10 +2008,10 @@ void OPC_Constant (OPT_Const con, INTEGER form)
|
||||||
OPM_Write('0');
|
OPM_Write('0');
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 8:
|
||||||
OPC_StringLiteral(*con->ext, 256, con->intval2 - 1);
|
OPC_StringLiteral(*con->ext, 256, con->intval2 - 1);
|
||||||
break;
|
break;
|
||||||
case 11:
|
case 9:
|
||||||
OPM_WriteString((CHAR*)"NIL", 4);
|
OPM_WriteString((CHAR*)"NIL", 4);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef OPC__h
|
#ifndef OPC__h
|
||||||
#define OPC__h
|
#define OPC__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "Configuration.h"
|
#include "Configuration.h"
|
||||||
#include "Console.h"
|
#include "Console.h"
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef OPM__h
|
#ifndef OPM__h
|
||||||
#define OPM__h
|
#define OPM__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "OPB.h"
|
#include "OPB.h"
|
||||||
#include "OPM.h"
|
#include "OPM.h"
|
||||||
|
|
@ -136,7 +136,7 @@ static void OPP_CheckSysFlag (INTEGER *sysflag, INTEGER default_)
|
||||||
OPP_err(135);
|
OPP_err(135);
|
||||||
}
|
}
|
||||||
OPP_ConstExpression(&x);
|
OPP_ConstExpression(&x);
|
||||||
if (x->typ->form == 5) {
|
if (x->typ->form == 4) {
|
||||||
sf = x->conval->intval;
|
sf = x->conval->intval;
|
||||||
if (sf < 0 || sf > 1) {
|
if (sf < 0 || sf > 1) {
|
||||||
OPP_err(220);
|
OPP_err(220);
|
||||||
|
|
@ -158,7 +158,7 @@ static void OPP_RecordType (OPT_Struct *typ, OPT_Struct *banned)
|
||||||
OPT_Object fld = NIL, first = NIL, last = NIL, base = NIL;
|
OPT_Object fld = NIL, first = NIL, last = NIL, base = NIL;
|
||||||
OPT_Struct ftyp = NIL;
|
OPT_Struct ftyp = NIL;
|
||||||
INTEGER sysflag;
|
INTEGER sysflag;
|
||||||
*typ = OPT_NewStr(15, 4);
|
*typ = OPT_NewStr(13, 4);
|
||||||
(*typ)->BaseTyp = NIL;
|
(*typ)->BaseTyp = NIL;
|
||||||
OPP_CheckSysFlag(&sysflag, -1);
|
OPP_CheckSysFlag(&sysflag, -1);
|
||||||
if (OPP_sym == 30) {
|
if (OPP_sym == 30) {
|
||||||
|
|
@ -253,7 +253,7 @@ static void OPP_ArrayType (OPT_Struct *typ, OPT_Struct *banned)
|
||||||
INTEGER sysflag;
|
INTEGER sysflag;
|
||||||
OPP_CheckSysFlag(&sysflag, 0);
|
OPP_CheckSysFlag(&sysflag, 0);
|
||||||
if (OPP_sym == 25) {
|
if (OPP_sym == 25) {
|
||||||
*typ = OPT_NewStr(15, 3);
|
*typ = OPT_NewStr(13, 3);
|
||||||
(*typ)->mno = 0;
|
(*typ)->mno = 0;
|
||||||
(*typ)->sysflag = sysflag;
|
(*typ)->sysflag = sysflag;
|
||||||
OPS_Get(&OPP_sym);
|
OPS_Get(&OPP_sym);
|
||||||
|
|
@ -265,10 +265,10 @@ static void OPP_ArrayType (OPT_Struct *typ, OPT_Struct *banned)
|
||||||
(*typ)->n = 0;
|
(*typ)->n = 0;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
*typ = OPT_NewStr(15, 2);
|
*typ = OPT_NewStr(13, 2);
|
||||||
(*typ)->sysflag = sysflag;
|
(*typ)->sysflag = sysflag;
|
||||||
OPP_ConstExpression(&x);
|
OPP_ConstExpression(&x);
|
||||||
if (x->typ->form == 5) {
|
if (x->typ->form == 4) {
|
||||||
n = x->conval->intval;
|
n = x->conval->intval;
|
||||||
if (n <= 0 || n > OPM_MaxIndex) {
|
if (n <= 0 || n > OPM_MaxIndex) {
|
||||||
OPP_err(63);
|
OPP_err(63);
|
||||||
|
|
@ -301,7 +301,7 @@ static void OPP_ArrayType (OPT_Struct *typ, OPT_Struct *banned)
|
||||||
static void OPP_PointerType (OPT_Struct *typ)
|
static void OPP_PointerType (OPT_Struct *typ)
|
||||||
{
|
{
|
||||||
OPT_Object id = NIL;
|
OPT_Object id = NIL;
|
||||||
*typ = OPT_NewStr(13, 1);
|
*typ = OPT_NewStr(11, 1);
|
||||||
OPP_CheckSysFlag(&(*typ)->sysflag, 0);
|
OPP_CheckSysFlag(&(*typ)->sysflag, 0);
|
||||||
OPP_CheckSym(28);
|
OPP_CheckSym(28);
|
||||||
if (OPP_sym == 38) {
|
if (OPP_sym == 38) {
|
||||||
|
|
@ -409,7 +409,7 @@ static void OPP_FormalParameters (OPT_Object *firstPar, OPT_Struct *resTyp)
|
||||||
if (OPP_sym == 38) {
|
if (OPP_sym == 38) {
|
||||||
OPP_qualident(&res);
|
OPP_qualident(&res);
|
||||||
if (res->mode == 5) {
|
if (res->mode == 5) {
|
||||||
if (res->typ->form < 15) {
|
if (res->typ->form < 13) {
|
||||||
*resTyp = res->typ;
|
*resTyp = res->typ;
|
||||||
} else {
|
} else {
|
||||||
OPP_err(54);
|
OPP_err(54);
|
||||||
|
|
@ -459,7 +459,7 @@ static void OPP_TypeDecl (OPT_Struct *typ, OPT_Struct *banned)
|
||||||
OPP_PointerType(&*typ);
|
OPP_PointerType(&*typ);
|
||||||
} else if (OPP_sym == 61) {
|
} else if (OPP_sym == 61) {
|
||||||
OPS_Get(&OPP_sym);
|
OPS_Get(&OPP_sym);
|
||||||
*typ = OPT_NewStr(14, 1);
|
*typ = OPT_NewStr(12, 1);
|
||||||
OPP_CheckSysFlag(&(*typ)->sysflag, 0);
|
OPP_CheckSysFlag(&(*typ)->sysflag, 0);
|
||||||
if (OPP_sym == 30) {
|
if (OPP_sym == 30) {
|
||||||
OPS_Get(&OPP_sym);
|
OPS_Get(&OPP_sym);
|
||||||
|
|
@ -488,7 +488,7 @@ static void OPP_TypeDecl (OPT_Struct *typ, OPT_Struct *banned)
|
||||||
static void OPP_Type (OPT_Struct *typ, OPT_Struct *banned)
|
static void OPP_Type (OPT_Struct *typ, OPT_Struct *banned)
|
||||||
{
|
{
|
||||||
OPP_TypeDecl(&*typ, &*banned);
|
OPP_TypeDecl(&*typ, &*banned);
|
||||||
if (((((*typ)->form == 13 && (*typ)->BaseTyp == OPT_undftyp)) && (*typ)->strobj == NIL)) {
|
if (((((*typ)->form == 11 && (*typ)->BaseTyp == OPT_undftyp)) && (*typ)->strobj == NIL)) {
|
||||||
OPP_err(0);
|
OPP_err(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -503,7 +503,7 @@ static void OPP_selector (OPT_Node *x)
|
||||||
if (OPP_sym == 31) {
|
if (OPP_sym == 31) {
|
||||||
OPS_Get(&OPP_sym);
|
OPS_Get(&OPP_sym);
|
||||||
for (;;) {
|
for (;;) {
|
||||||
if (((*x)->typ != NIL && (*x)->typ->form == 13)) {
|
if (((*x)->typ != NIL && (*x)->typ->form == 11)) {
|
||||||
OPB_DeRef(&*x);
|
OPB_DeRef(&*x);
|
||||||
}
|
}
|
||||||
OPP_Expression(&y);
|
OPP_Expression(&y);
|
||||||
|
|
@ -521,7 +521,7 @@ static void OPP_selector (OPT_Node *x)
|
||||||
__COPY(OPS_name, name, 256);
|
__COPY(OPS_name, name, 256);
|
||||||
OPS_Get(&OPP_sym);
|
OPS_Get(&OPP_sym);
|
||||||
if ((*x)->typ != NIL) {
|
if ((*x)->typ != NIL) {
|
||||||
if ((*x)->typ->form == 13) {
|
if ((*x)->typ->form == 11) {
|
||||||
OPB_DeRef(&*x);
|
OPB_DeRef(&*x);
|
||||||
}
|
}
|
||||||
if ((*x)->typ->comp == 4) {
|
if ((*x)->typ->comp == 4) {
|
||||||
|
|
@ -543,7 +543,7 @@ static void OPP_selector (OPT_Node *x)
|
||||||
OPP_err(75);
|
OPP_err(75);
|
||||||
}
|
}
|
||||||
typ = y->obj->typ;
|
typ = y->obj->typ;
|
||||||
if (typ->form == 13) {
|
if (typ->form == 11) {
|
||||||
typ = typ->BaseTyp;
|
typ = typ->BaseTyp;
|
||||||
}
|
}
|
||||||
OPT_FindField((*x)->obj->name, typ->BaseTyp, &proc);
|
OPT_FindField((*x)->obj->name, typ->BaseTyp, &proc);
|
||||||
|
|
@ -572,7 +572,7 @@ static void OPP_selector (OPT_Node *x)
|
||||||
} else if (OPP_sym == 17) {
|
} else if (OPP_sym == 17) {
|
||||||
OPS_Get(&OPP_sym);
|
OPS_Get(&OPP_sym);
|
||||||
OPB_DeRef(&*x);
|
OPB_DeRef(&*x);
|
||||||
} else if ((((((OPP_sym == 30 && (*x)->class < 7)) && (*x)->typ->form != 14)) && ((*x)->obj == NIL || (*x)->obj->mode != 13))) {
|
} else if ((((((OPP_sym == 30 && (*x)->class < 7)) && (*x)->typ->form != 12)) && ((*x)->obj == NIL || (*x)->obj->mode != 13))) {
|
||||||
OPS_Get(&OPP_sym);
|
OPS_Get(&OPP_sym);
|
||||||
if (OPP_sym == 38) {
|
if (OPP_sym == 38) {
|
||||||
OPP_qualident(&obj);
|
OPP_qualident(&obj);
|
||||||
|
|
@ -871,10 +871,10 @@ static void OPP_Receiver (SHORTINT *mode, OPS_Name name, OPT_Struct *typ, OPT_St
|
||||||
} else {
|
} else {
|
||||||
*typ = obj->typ;
|
*typ = obj->typ;
|
||||||
*rec = *typ;
|
*rec = *typ;
|
||||||
if ((*rec)->form == 13) {
|
if ((*rec)->form == 11) {
|
||||||
*rec = (*rec)->BaseTyp;
|
*rec = (*rec)->BaseTyp;
|
||||||
}
|
}
|
||||||
if (!((((*mode == 1 && (*typ)->form == 13)) && (*rec)->comp == 4) || (*mode == 2 && (*typ)->comp == 4))) {
|
if (!((((*mode == 1 && (*typ)->form == 11)) && (*rec)->comp == 4) || (*mode == 2 && (*typ)->comp == 4))) {
|
||||||
OPP_err(70);
|
OPP_err(70);
|
||||||
*rec = NIL;
|
*rec = NIL;
|
||||||
}
|
}
|
||||||
|
|
@ -888,7 +888,7 @@ static void OPP_Receiver (SHORTINT *mode, OPS_Name name, OPT_Struct *typ, OPT_St
|
||||||
}
|
}
|
||||||
OPP_CheckSym(22);
|
OPP_CheckSym(22);
|
||||||
if (*rec == NIL) {
|
if (*rec == NIL) {
|
||||||
*rec = OPT_NewStr(15, 4);
|
*rec = OPT_NewStr(13, 4);
|
||||||
(*rec)->BaseTyp = NIL;
|
(*rec)->BaseTyp = NIL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -896,7 +896,7 @@ static void OPP_Receiver (SHORTINT *mode, OPS_Name name, OPT_Struct *typ, OPT_St
|
||||||
static BOOLEAN OPP_Extends (OPT_Struct x, OPT_Struct b)
|
static BOOLEAN OPP_Extends (OPT_Struct x, OPT_Struct b)
|
||||||
{
|
{
|
||||||
BOOLEAN _o_result;
|
BOOLEAN _o_result;
|
||||||
if ((b->form == 13 && x->form == 13)) {
|
if ((b->form == 11 && x->form == 11)) {
|
||||||
b = b->BaseTyp;
|
b = b->BaseTyp;
|
||||||
x = x->BaseTyp;
|
x = x->BaseTyp;
|
||||||
}
|
}
|
||||||
|
|
@ -1173,14 +1173,14 @@ static void OPP_CaseLabelList (OPT_Node *lab, OPT_Struct LabelTyp, INTEGER *n, O
|
||||||
for (;;) {
|
for (;;) {
|
||||||
OPP_ConstExpression(&x);
|
OPP_ConstExpression(&x);
|
||||||
f = x->typ->form;
|
f = x->typ->form;
|
||||||
if (__IN(f, 0x28)) {
|
if (__IN(f, 0x18)) {
|
||||||
xval = x->conval->intval;
|
xval = x->conval->intval;
|
||||||
} else {
|
} else {
|
||||||
OPP_err(61);
|
OPP_err(61);
|
||||||
xval = 1;
|
xval = 1;
|
||||||
}
|
}
|
||||||
if (f == 5) {
|
if (f == 4) {
|
||||||
if (!(LabelTyp->form == 5) || LabelTyp->size < x->typ->size) {
|
if (!(LabelTyp->form == 4) || LabelTyp->size < x->typ->size) {
|
||||||
OPP_err(60);
|
OPP_err(60);
|
||||||
}
|
}
|
||||||
} else if ((SYSTEM_INT16)LabelTyp->form != f) {
|
} else if ((SYSTEM_INT16)LabelTyp->form != f) {
|
||||||
|
|
@ -1190,7 +1190,7 @@ static void OPP_CaseLabelList (OPT_Node *lab, OPT_Struct LabelTyp, INTEGER *n, O
|
||||||
OPS_Get(&OPP_sym);
|
OPS_Get(&OPP_sym);
|
||||||
OPP_ConstExpression(&y);
|
OPP_ConstExpression(&y);
|
||||||
yval = y->conval->intval;
|
yval = y->conval->intval;
|
||||||
if (((SYSTEM_INT16)y->typ->form != f && !((f == 5 && y->typ->form == 5)))) {
|
if (((SYSTEM_INT16)y->typ->form != f && !((f == 4 && y->typ->form == 4)))) {
|
||||||
OPP_err(60);
|
OPP_err(60);
|
||||||
}
|
}
|
||||||
if (yval < xval) {
|
if (yval < xval) {
|
||||||
|
|
@ -1253,7 +1253,7 @@ static void CasePart__31 (OPT_Node *x)
|
||||||
*StatSeq__30_s->pos = OPM_errpos;
|
*StatSeq__30_s->pos = OPM_errpos;
|
||||||
if ((*x)->class == 8 || (*x)->class == 9) {
|
if ((*x)->class == 8 || (*x)->class == 9) {
|
||||||
OPP_err(126);
|
OPP_err(126);
|
||||||
} else if (!__IN((*x)->typ->form, 0x38)) {
|
} else if (!__IN((*x)->typ->form, 0x18)) {
|
||||||
OPP_err(125);
|
OPP_err(125);
|
||||||
}
|
}
|
||||||
OPP_CheckSym(25);
|
OPP_CheckSym(25);
|
||||||
|
|
@ -1439,7 +1439,7 @@ static void OPP_StatSeq (OPT_Node *stat)
|
||||||
OPS_Get(&OPP_sym);
|
OPS_Get(&OPP_sym);
|
||||||
if (OPP_sym == 38) {
|
if (OPP_sym == 38) {
|
||||||
OPP_qualident(&id);
|
OPP_qualident(&id);
|
||||||
if (!(id->typ->form == 5)) {
|
if (!(id->typ->form == 4)) {
|
||||||
OPP_err(68);
|
OPP_err(68);
|
||||||
}
|
}
|
||||||
OPP_CheckSym(34);
|
OPP_CheckSym(34);
|
||||||
|
|
@ -1471,7 +1471,7 @@ static void OPP_StatSeq (OPT_Node *stat)
|
||||||
SetPos__35(z);
|
SetPos__35(z);
|
||||||
OPB_Link(&*stat, &last, z);
|
OPB_Link(&*stat, &last, z);
|
||||||
y = OPB_NewLeaf(t);
|
y = OPB_NewLeaf(t);
|
||||||
} else if (!(y->typ->form == 5) || y->typ->size > x->left->typ->size) {
|
} else if (!(y->typ->form == 4) || y->typ->size > x->left->typ->size) {
|
||||||
OPP_err(113);
|
OPP_err(113);
|
||||||
}
|
}
|
||||||
OPB_Link(&*stat, &last, x);
|
OPB_Link(&*stat, &last, x);
|
||||||
|
|
@ -1526,7 +1526,7 @@ static void OPP_StatSeq (OPT_Node *stat)
|
||||||
if (OPP_sym == 38) {
|
if (OPP_sym == 38) {
|
||||||
OPP_qualident(&id);
|
OPP_qualident(&id);
|
||||||
y = OPB_NewLeaf(id);
|
y = OPB_NewLeaf(id);
|
||||||
if ((((id != NIL && id->typ->form == 13)) && (id->mode == 2 || !id->leaf))) {
|
if ((((id != NIL && id->typ->form == 11)) && (id->mode == 2 || !id->leaf))) {
|
||||||
OPP_err(245);
|
OPP_err(245);
|
||||||
}
|
}
|
||||||
OPP_CheckSym(20);
|
OPP_CheckSym(20);
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef OPP__h
|
#ifndef OPP__h
|
||||||
#define OPP__h
|
#define OPP__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin tspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin tspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "OPM.h"
|
#include "OPM.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin tspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin tspkaSfF */
|
||||||
|
|
||||||
#ifndef OPS__h
|
#ifndef OPS__h
|
||||||
#define OPS__h
|
#define OPS__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "OPM.h"
|
#include "OPM.h"
|
||||||
#include "OPS.h"
|
#include "OPS.h"
|
||||||
|
|
@ -173,7 +173,7 @@ OPT_Struct OPT_ShorterOrLongerType (OPT_Struct x, INTEGER dir)
|
||||||
{
|
{
|
||||||
OPT_Struct _o_result;
|
OPT_Struct _o_result;
|
||||||
INTEGER i;
|
INTEGER i;
|
||||||
__ASSERT(x->form == 5, 0);
|
__ASSERT(x->form == 4, 0);
|
||||||
__ASSERT(dir == 1 || dir == -1, 0);
|
__ASSERT(dir == 1 || dir == -1, 0);
|
||||||
__ASSERT(x->BaseTyp == OPT_undftyp, 0);
|
__ASSERT(x->BaseTyp == OPT_undftyp, 0);
|
||||||
i = 0;
|
i = 0;
|
||||||
|
|
@ -284,7 +284,7 @@ void OPT_Close (void)
|
||||||
OPT_GlbMod[__X(i, 64)] = NIL;
|
OPT_GlbMod[__X(i, 64)] = NIL;
|
||||||
i += 1;
|
i += 1;
|
||||||
}
|
}
|
||||||
i = 16;
|
i = 14;
|
||||||
while (i < 255) {
|
while (i < 255) {
|
||||||
OPT_impCtxt.ref[__X(i, 255)] = NIL;
|
OPT_impCtxt.ref[__X(i, 255)] = NIL;
|
||||||
OPT_impCtxt.old[__X(i, 255)] = NIL;
|
OPT_impCtxt.old[__X(i, 255)] = NIL;
|
||||||
|
|
@ -483,14 +483,14 @@ void OPT_IdFPrint (OPT_Struct typ)
|
||||||
OPT_FPrintName(&idfp, (void*)OPT_GlbMod[__X(typ->mno, 64)]->name, 256);
|
OPT_FPrintName(&idfp, (void*)OPT_GlbMod[__X(typ->mno, 64)]->name, 256);
|
||||||
OPT_FPrintName(&idfp, (void*)strobj->name, 256);
|
OPT_FPrintName(&idfp, (void*)strobj->name, 256);
|
||||||
}
|
}
|
||||||
if ((f == 13 || (c == 4 && btyp != NIL)) || c == 3) {
|
if ((f == 11 || (c == 4 && btyp != NIL)) || c == 3) {
|
||||||
OPT_IdFPrint(btyp);
|
OPT_IdFPrint(btyp);
|
||||||
OPM_FPrint(&idfp, btyp->idfp);
|
OPM_FPrint(&idfp, btyp->idfp);
|
||||||
} else if (c == 2) {
|
} else if (c == 2) {
|
||||||
OPT_IdFPrint(btyp);
|
OPT_IdFPrint(btyp);
|
||||||
OPM_FPrint(&idfp, btyp->idfp);
|
OPM_FPrint(&idfp, btyp->idfp);
|
||||||
OPM_FPrint(&idfp, typ->n);
|
OPM_FPrint(&idfp, typ->n);
|
||||||
} else if (f == 14) {
|
} else if (f == 12) {
|
||||||
OPT_FPrintSign(&idfp, btyp, typ->link);
|
OPT_FPrintSign(&idfp, btyp, typ->link);
|
||||||
}
|
}
|
||||||
typ->idfp = idfp;
|
typ->idfp = idfp;
|
||||||
|
|
@ -519,7 +519,7 @@ static void FPrintHdFld__15 (OPT_Struct typ, OPT_Object fld, LONGINT adr)
|
||||||
n = btyp->n * n;
|
n = btyp->n * n;
|
||||||
btyp = btyp->BaseTyp;
|
btyp = btyp->BaseTyp;
|
||||||
}
|
}
|
||||||
if (btyp->form == 13 || btyp->comp == 4) {
|
if (btyp->form == 11 || btyp->comp == 4) {
|
||||||
j = OPT_nofhdfld;
|
j = OPT_nofhdfld;
|
||||||
FPrintHdFld__15(btyp, fld, adr);
|
FPrintHdFld__15(btyp, fld, adr);
|
||||||
if (j != OPT_nofhdfld) {
|
if (j != OPT_nofhdfld) {
|
||||||
|
|
@ -531,8 +531,8 @@ static void FPrintHdFld__15 (OPT_Struct typ, OPT_Object fld, LONGINT adr)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (typ->form == 13 || __STRCMP(fld->name, "@ptr") == 0) {
|
} else if (typ->form == 11 || __STRCMP(fld->name, "@ptr") == 0) {
|
||||||
OPM_FPrint(&*FPrintStr__12_s->pvfp, 13);
|
OPM_FPrint(&*FPrintStr__12_s->pvfp, 11);
|
||||||
OPM_FPrint(&*FPrintStr__12_s->pvfp, adr);
|
OPM_FPrint(&*FPrintStr__12_s->pvfp, adr);
|
||||||
OPT_nofhdfld += 1;
|
OPT_nofhdfld += 1;
|
||||||
}
|
}
|
||||||
|
|
@ -595,7 +595,7 @@ void OPT_FPrintStr (OPT_Struct typ)
|
||||||
f = typ->form;
|
f = typ->form;
|
||||||
c = typ->comp;
|
c = typ->comp;
|
||||||
btyp = typ->BaseTyp;
|
btyp = typ->BaseTyp;
|
||||||
if (f == 13) {
|
if (f == 11) {
|
||||||
strobj = typ->strobj;
|
strobj = typ->strobj;
|
||||||
bstrobj = btyp->strobj;
|
bstrobj = btyp->strobj;
|
||||||
if (((strobj == NIL || strobj->name[0] == 0x00) || bstrobj == NIL) || bstrobj->name[0] == 0x00) {
|
if (((strobj == NIL || strobj->name[0] == 0x00) || bstrobj == NIL) || bstrobj->name[0] == 0x00) {
|
||||||
|
|
@ -603,7 +603,7 @@ void OPT_FPrintStr (OPT_Struct typ)
|
||||||
OPM_FPrint(&pbfp, btyp->pbfp);
|
OPM_FPrint(&pbfp, btyp->pbfp);
|
||||||
pvfp = pbfp;
|
pvfp = pbfp;
|
||||||
}
|
}
|
||||||
} else if (f == 14) {
|
} else if (f == 12) {
|
||||||
} else if (__IN(c, 0x0c)) {
|
} else if (__IN(c, 0x0c)) {
|
||||||
OPT_FPrintStr(btyp);
|
OPT_FPrintStr(btyp);
|
||||||
OPM_FPrint(&pbfp, btyp->pvfp);
|
OPM_FPrint(&pbfp, btyp->pvfp);
|
||||||
|
|
@ -649,23 +649,23 @@ void OPT_FPrintObj (OPT_Object obj)
|
||||||
f = obj->typ->form;
|
f = obj->typ->form;
|
||||||
OPM_FPrint(&fprint, f);
|
OPM_FPrint(&fprint, f);
|
||||||
switch (f) {
|
switch (f) {
|
||||||
case 2: case 3: case 5:
|
case 2: case 3: case 4:
|
||||||
OPM_FPrint(&fprint, obj->conval->intval);
|
OPM_FPrint(&fprint, obj->conval->intval);
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 7:
|
||||||
OPM_FPrintSet(&fprint, obj->conval->setval);
|
OPM_FPrintSet(&fprint, obj->conval->setval);
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 5:
|
||||||
rval = obj->conval->realval;
|
rval = obj->conval->realval;
|
||||||
OPM_FPrintReal(&fprint, rval);
|
OPM_FPrintReal(&fprint, rval);
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 6:
|
||||||
OPM_FPrintLReal(&fprint, obj->conval->realval);
|
OPM_FPrintLReal(&fprint, obj->conval->realval);
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 8:
|
||||||
OPT_FPrintName(&fprint, (void*)*obj->conval->ext, 256);
|
OPT_FPrintName(&fprint, (void*)*obj->conval->ext, 256);
|
||||||
break;
|
break;
|
||||||
case 11:
|
case 9:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
OPT_err(127);
|
OPT_err(127);
|
||||||
|
|
@ -850,22 +850,22 @@ static void OPT_InConstant (LONGINT f, OPT_Const conval)
|
||||||
OPM_SymRCh(&ch);
|
OPM_SymRCh(&ch);
|
||||||
conval->intval = (SYSTEM_INT16)ch;
|
conval->intval = (SYSTEM_INT16)ch;
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 4:
|
||||||
conval->intval = OPM_SymRInt();
|
conval->intval = OPM_SymRInt();
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 7:
|
||||||
OPM_SymRSet(&conval->setval);
|
OPM_SymRSet(&conval->setval);
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 5:
|
||||||
OPM_SymRReal(&rval);
|
OPM_SymRReal(&rval);
|
||||||
conval->realval = rval;
|
conval->realval = rval;
|
||||||
conval->intval = -1;
|
conval->intval = -1;
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 6:
|
||||||
OPM_SymRLReal(&conval->realval);
|
OPM_SymRLReal(&conval->realval);
|
||||||
conval->intval = -1;
|
conval->intval = -1;
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 8:
|
||||||
ext = OPT_NewExt();
|
ext = OPT_NewExt();
|
||||||
conval->ext = ext;
|
conval->ext = ext;
|
||||||
i = 0;
|
i = 0;
|
||||||
|
|
@ -877,7 +877,7 @@ static void OPT_InConstant (LONGINT f, OPT_Const conval)
|
||||||
conval->intval2 = i;
|
conval->intval2 = i;
|
||||||
conval->intval = -1;
|
conval->intval = -1;
|
||||||
break;
|
break;
|
||||||
case 11:
|
case 9:
|
||||||
conval->intval = 0;
|
conval->intval = 0;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
@ -979,7 +979,7 @@ static OPT_Object OPT_InTProc (SHORTINT mno)
|
||||||
static OPT_Struct OPT_InTyp (LONGINT tag)
|
static OPT_Struct OPT_InTyp (LONGINT tag)
|
||||||
{
|
{
|
||||||
OPT_Struct _o_result;
|
OPT_Struct _o_result;
|
||||||
if (tag == 5) {
|
if (tag == 4) {
|
||||||
_o_result = OPT_IntType(OPM_SymRInt());
|
_o_result = OPT_IntType(OPM_SymRInt());
|
||||||
return _o_result;
|
return _o_result;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -1054,20 +1054,20 @@ static void OPT_InStruct (OPT_Struct *typ)
|
||||||
}
|
}
|
||||||
switch (tag) {
|
switch (tag) {
|
||||||
case 36:
|
case 36:
|
||||||
(*typ)->form = 13;
|
(*typ)->form = 11;
|
||||||
(*typ)->size = OPM_PointerSize;
|
(*typ)->size = OPM_PointerSize;
|
||||||
(*typ)->n = 0;
|
(*typ)->n = 0;
|
||||||
OPT_InStruct(&(*typ)->BaseTyp);
|
OPT_InStruct(&(*typ)->BaseTyp);
|
||||||
break;
|
break;
|
||||||
case 37:
|
case 37:
|
||||||
(*typ)->form = 15;
|
(*typ)->form = 13;
|
||||||
(*typ)->comp = 2;
|
(*typ)->comp = 2;
|
||||||
OPT_InStruct(&(*typ)->BaseTyp);
|
OPT_InStruct(&(*typ)->BaseTyp);
|
||||||
(*typ)->n = OPM_SymRInt();
|
(*typ)->n = OPM_SymRInt();
|
||||||
(*OPT_typSize)(*typ);
|
(*OPT_typSize)(*typ);
|
||||||
break;
|
break;
|
||||||
case 38:
|
case 38:
|
||||||
(*typ)->form = 15;
|
(*typ)->form = 13;
|
||||||
(*typ)->comp = 3;
|
(*typ)->comp = 3;
|
||||||
OPT_InStruct(&(*typ)->BaseTyp);
|
OPT_InStruct(&(*typ)->BaseTyp);
|
||||||
if ((*typ)->BaseTyp->comp == 3) {
|
if ((*typ)->BaseTyp->comp == 3) {
|
||||||
|
|
@ -1078,7 +1078,7 @@ static void OPT_InStruct (OPT_Struct *typ)
|
||||||
(*OPT_typSize)(*typ);
|
(*OPT_typSize)(*typ);
|
||||||
break;
|
break;
|
||||||
case 39:
|
case 39:
|
||||||
(*typ)->form = 15;
|
(*typ)->form = 13;
|
||||||
(*typ)->comp = 4;
|
(*typ)->comp = 4;
|
||||||
OPT_InStruct(&(*typ)->BaseTyp);
|
OPT_InStruct(&(*typ)->BaseTyp);
|
||||||
if ((*typ)->BaseTyp == OPT_notyp) {
|
if ((*typ)->BaseTyp == OPT_notyp) {
|
||||||
|
|
@ -1112,7 +1112,7 @@ static void OPT_InStruct (OPT_Struct *typ)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 40:
|
case 40:
|
||||||
(*typ)->form = 14;
|
(*typ)->form = 12;
|
||||||
(*typ)->size = OPM_ProcSize;
|
(*typ)->size = OPM_ProcSize;
|
||||||
OPT_InSign(mno, &(*typ)->BaseTyp, &(*typ)->link);
|
OPT_InSign(mno, &(*typ)->BaseTyp, &(*typ)->link);
|
||||||
break;
|
break;
|
||||||
|
|
@ -1191,7 +1191,7 @@ static OPT_Object OPT_InObj (SHORTINT mno)
|
||||||
obj = OPT_NewObj();
|
obj = OPT_NewObj();
|
||||||
obj->mnolev = -mno;
|
obj->mnolev = -mno;
|
||||||
obj->vis = 1;
|
obj->vis = 1;
|
||||||
if (tag <= 13) {
|
if (tag <= 11) {
|
||||||
obj->mode = 3;
|
obj->mode = 3;
|
||||||
obj->conval = OPT_NewConst();
|
obj->conval = OPT_NewConst();
|
||||||
OPT_InConstant(tag, obj->conval);
|
OPT_InConstant(tag, obj->conval);
|
||||||
|
|
@ -1288,7 +1288,7 @@ void OPT_Import (OPS_Name aliasName, OPS_Name name, BOOLEAN *done)
|
||||||
obj->scope = OPT_syslink;
|
obj->scope = OPT_syslink;
|
||||||
obj->typ = OPT_notyp;
|
obj->typ = OPT_notyp;
|
||||||
} else {
|
} else {
|
||||||
OPT_impCtxt.nofr = 16;
|
OPT_impCtxt.nofr = 14;
|
||||||
OPT_impCtxt.minr = 255;
|
OPT_impCtxt.minr = 255;
|
||||||
OPT_impCtxt.nofm = 0;
|
OPT_impCtxt.nofm = 0;
|
||||||
OPT_impCtxt.self = __STRCMP(aliasName, "@self") == 0;
|
OPT_impCtxt.self = __STRCMP(aliasName, "@self") == 0;
|
||||||
|
|
@ -1355,7 +1355,7 @@ static void OPT_OutHdFld (OPT_Struct typ, OPT_Object fld, LONGINT adr)
|
||||||
n = btyp->n * n;
|
n = btyp->n * n;
|
||||||
btyp = btyp->BaseTyp;
|
btyp = btyp->BaseTyp;
|
||||||
}
|
}
|
||||||
if (btyp->form == 13 || btyp->comp == 4) {
|
if (btyp->form == 11 || btyp->comp == 4) {
|
||||||
j = OPT_nofhdfld;
|
j = OPT_nofhdfld;
|
||||||
OPT_OutHdFld(btyp, fld, adr);
|
OPT_OutHdFld(btyp, fld, adr);
|
||||||
if (j != OPT_nofhdfld) {
|
if (j != OPT_nofhdfld) {
|
||||||
|
|
@ -1367,7 +1367,7 @@ static void OPT_OutHdFld (OPT_Struct typ, OPT_Object fld, LONGINT adr)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (typ->form == 13 || __STRCMP(fld->name, "@ptr") == 0) {
|
} else if (typ->form == 11 || __STRCMP(fld->name, "@ptr") == 0) {
|
||||||
OPM_SymWInt(27);
|
OPM_SymWInt(27);
|
||||||
OPM_SymWInt(adr);
|
OPM_SymWInt(adr);
|
||||||
OPT_nofhdfld += 1;
|
OPT_nofhdfld += 1;
|
||||||
|
|
@ -1439,7 +1439,7 @@ static void OPT_OutStr (OPT_Struct typ)
|
||||||
OPT_Object strobj = NIL;
|
OPT_Object strobj = NIL;
|
||||||
if (typ->ref < OPT_expCtxt.ref) {
|
if (typ->ref < OPT_expCtxt.ref) {
|
||||||
OPM_SymWInt(-typ->ref);
|
OPM_SymWInt(-typ->ref);
|
||||||
if (typ->ref == 5) {
|
if (typ->ref == 4) {
|
||||||
OPM_SymWInt(typ->size);
|
OPM_SymWInt(typ->size);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -1474,15 +1474,15 @@ static void OPT_OutStr (OPT_Struct typ)
|
||||||
OPM_SymWInt(typ->sysflag);
|
OPM_SymWInt(typ->sysflag);
|
||||||
}
|
}
|
||||||
switch (typ->form) {
|
switch (typ->form) {
|
||||||
case 13:
|
case 11:
|
||||||
OPM_SymWInt(36);
|
OPM_SymWInt(36);
|
||||||
OPT_OutStr(typ->BaseTyp);
|
OPT_OutStr(typ->BaseTyp);
|
||||||
break;
|
break;
|
||||||
case 14:
|
case 12:
|
||||||
OPM_SymWInt(40);
|
OPM_SymWInt(40);
|
||||||
OPT_OutSign(typ->BaseTyp, typ->link);
|
OPT_OutSign(typ->BaseTyp, typ->link);
|
||||||
break;
|
break;
|
||||||
case 15:
|
case 13:
|
||||||
switch (typ->comp) {
|
switch (typ->comp) {
|
||||||
case 2:
|
case 2:
|
||||||
OPM_SymWInt(37);
|
OPM_SymWInt(37);
|
||||||
|
|
@ -1537,24 +1537,24 @@ static void OPT_OutConstant (OPT_Object obj)
|
||||||
case 2: case 3:
|
case 2: case 3:
|
||||||
OPM_SymWCh((CHAR)obj->conval->intval);
|
OPM_SymWCh((CHAR)obj->conval->intval);
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 4:
|
||||||
OPM_SymWInt(obj->conval->intval);
|
OPM_SymWInt(obj->conval->intval);
|
||||||
OPM_SymWInt(obj->typ->size);
|
OPM_SymWInt(obj->typ->size);
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 7:
|
||||||
OPM_SymWSet(obj->conval->setval);
|
OPM_SymWSet(obj->conval->setval);
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 5:
|
||||||
rval = obj->conval->realval;
|
rval = obj->conval->realval;
|
||||||
OPM_SymWReal(rval);
|
OPM_SymWReal(rval);
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 6:
|
||||||
OPM_SymWLReal(obj->conval->realval);
|
OPM_SymWLReal(obj->conval->realval);
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 8:
|
||||||
OPT_OutName((void*)*obj->conval->ext, 256);
|
OPT_OutName((void*)*obj->conval->ext, 256);
|
||||||
break;
|
break;
|
||||||
case 11:
|
case 9:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
OPT_err(127);
|
OPT_err(127);
|
||||||
|
|
@ -1668,7 +1668,7 @@ void OPT_Export (BOOLEAN *ext, BOOLEAN *new)
|
||||||
OPM_SymWInt(16);
|
OPM_SymWInt(16);
|
||||||
OPT_OutName((void*)OPT_SelfName, 256);
|
OPT_OutName((void*)OPT_SelfName, 256);
|
||||||
OPT_expCtxt.reffp = 0;
|
OPT_expCtxt.reffp = 0;
|
||||||
OPT_expCtxt.ref = 16;
|
OPT_expCtxt.ref = 14;
|
||||||
OPT_expCtxt.nofm = 1;
|
OPT_expCtxt.nofm = 1;
|
||||||
OPT_expCtxt.locmno[0] = 0;
|
OPT_expCtxt.locmno[0] = 0;
|
||||||
i = 1;
|
i = 1;
|
||||||
|
|
@ -1844,16 +1844,16 @@ export void *OPT__init(void)
|
||||||
OPM_errpos = 0;
|
OPM_errpos = 0;
|
||||||
OPT_InitStruct(&OPT_undftyp, 0);
|
OPT_InitStruct(&OPT_undftyp, 0);
|
||||||
OPT_undftyp->BaseTyp = OPT_undftyp;
|
OPT_undftyp->BaseTyp = OPT_undftyp;
|
||||||
OPT_InitStruct(&OPT_notyp, 12);
|
OPT_InitStruct(&OPT_notyp, 10);
|
||||||
OPT_InitStruct(&OPT_stringtyp, 10);
|
OPT_InitStruct(&OPT_stringtyp, 8);
|
||||||
OPT_InitStruct(&OPT_niltyp, 11);
|
OPT_InitStruct(&OPT_niltyp, 9);
|
||||||
OPT_EnterTyp((CHAR*)"BYTE", 1, OPM_ByteSize, &OPT_bytetyp);
|
OPT_EnterTyp((CHAR*)"BYTE", 1, OPM_ByteSize, &OPT_bytetyp);
|
||||||
OPT_EnterTyp((CHAR*)"PTR", 13, OPM_PointerSize, &OPT_sysptrtyp);
|
OPT_EnterTyp((CHAR*)"PTR", 11, OPM_PointerSize, &OPT_sysptrtyp);
|
||||||
OPT_EnterTyp((CHAR*)"ADRINT", 5, OPM_PointerSize, &OPT_ainttyp);
|
OPT_EnterTyp((CHAR*)"ADRINT", 4, OPM_PointerSize, &OPT_ainttyp);
|
||||||
OPT_EnterTyp((CHAR*)"INT8", 5, 1, &OPT_int8typ);
|
OPT_EnterTyp((CHAR*)"INT8", 4, 1, &OPT_int8typ);
|
||||||
OPT_EnterTyp((CHAR*)"INT16", 5, 2, &OPT_int16typ);
|
OPT_EnterTyp((CHAR*)"INT16", 4, 2, &OPT_int16typ);
|
||||||
OPT_EnterTyp((CHAR*)"INT32", 5, 4, &OPT_int32typ);
|
OPT_EnterTyp((CHAR*)"INT32", 4, 4, &OPT_int32typ);
|
||||||
OPT_EnterTyp((CHAR*)"INT64", 5, 8, &OPT_int64typ);
|
OPT_EnterTyp((CHAR*)"INT64", 4, 8, &OPT_int64typ);
|
||||||
OPT_EnterProc((CHAR*)"ADR", 20);
|
OPT_EnterProc((CHAR*)"ADR", 20);
|
||||||
OPT_EnterProc((CHAR*)"CC", 21);
|
OPT_EnterProc((CHAR*)"CC", 21);
|
||||||
OPT_EnterProc((CHAR*)"LSH", 22);
|
OPT_EnterProc((CHAR*)"LSH", 22);
|
||||||
|
|
@ -1871,12 +1871,12 @@ export void *OPT__init(void)
|
||||||
OPT_topScope->right = NIL;
|
OPT_topScope->right = NIL;
|
||||||
OPT_EnterTyp((CHAR*)"BOOLEAN", 2, OPM_BoolSize, &OPT_booltyp);
|
OPT_EnterTyp((CHAR*)"BOOLEAN", 2, OPM_BoolSize, &OPT_booltyp);
|
||||||
OPT_EnterTyp((CHAR*)"CHAR", 3, OPM_CharSize, &OPT_chartyp);
|
OPT_EnterTyp((CHAR*)"CHAR", 3, OPM_CharSize, &OPT_chartyp);
|
||||||
OPT_EnterTyp((CHAR*)"SET", 9, OPM_SetSize, &OPT_settyp);
|
OPT_EnterTyp((CHAR*)"SET", 7, OPM_SetSize, &OPT_settyp);
|
||||||
OPT_EnterTyp((CHAR*)"REAL", 7, OPM_RealSize, &OPT_realtyp);
|
OPT_EnterTyp((CHAR*)"REAL", 5, OPM_RealSize, &OPT_realtyp);
|
||||||
OPT_EnterTyp((CHAR*)"INTEGER", 5, OPM_IntSize, &OPT_inttyp);
|
OPT_EnterTyp((CHAR*)"INTEGER", 4, OPM_IntSize, &OPT_inttyp);
|
||||||
OPT_EnterTyp((CHAR*)"LONGINT", 5, OPM_LIntSize, &OPT_linttyp);
|
OPT_EnterTyp((CHAR*)"LONGINT", 4, OPM_LIntSize, &OPT_linttyp);
|
||||||
OPT_EnterTyp((CHAR*)"LONGREAL", 8, OPM_LRealSize, &OPT_lrltyp);
|
OPT_EnterTyp((CHAR*)"LONGREAL", 6, OPM_LRealSize, &OPT_lrltyp);
|
||||||
OPT_EnterTyp((CHAR*)"SHORTINT", 5, OPM_SIntSize, &OPT_sinttyp);
|
OPT_EnterTyp((CHAR*)"SHORTINT", 4, OPM_SIntSize, &OPT_sinttyp);
|
||||||
OPT_EnterBoolConst((CHAR*)"FALSE", 0);
|
OPT_EnterBoolConst((CHAR*)"FALSE", 0);
|
||||||
OPT_EnterBoolConst((CHAR*)"TRUE", 1);
|
OPT_EnterBoolConst((CHAR*)"TRUE", 1);
|
||||||
OPT_EnterProc((CHAR*)"HALT", 0);
|
OPT_EnterProc((CHAR*)"HALT", 0);
|
||||||
|
|
@ -1904,14 +1904,14 @@ export void *OPT__init(void)
|
||||||
OPT_impCtxt.ref[1] = OPT_bytetyp;
|
OPT_impCtxt.ref[1] = OPT_bytetyp;
|
||||||
OPT_impCtxt.ref[2] = OPT_booltyp;
|
OPT_impCtxt.ref[2] = OPT_booltyp;
|
||||||
OPT_impCtxt.ref[3] = OPT_chartyp;
|
OPT_impCtxt.ref[3] = OPT_chartyp;
|
||||||
OPT_impCtxt.ref[5] = OPT_inttyp;
|
OPT_impCtxt.ref[4] = OPT_inttyp;
|
||||||
OPT_impCtxt.ref[7] = OPT_realtyp;
|
OPT_impCtxt.ref[5] = OPT_realtyp;
|
||||||
OPT_impCtxt.ref[8] = OPT_lrltyp;
|
OPT_impCtxt.ref[6] = OPT_lrltyp;
|
||||||
OPT_impCtxt.ref[9] = OPT_settyp;
|
OPT_impCtxt.ref[7] = OPT_settyp;
|
||||||
OPT_impCtxt.ref[10] = OPT_stringtyp;
|
OPT_impCtxt.ref[8] = OPT_stringtyp;
|
||||||
OPT_impCtxt.ref[11] = OPT_niltyp;
|
OPT_impCtxt.ref[9] = OPT_niltyp;
|
||||||
OPT_impCtxt.ref[12] = OPT_notyp;
|
OPT_impCtxt.ref[10] = OPT_notyp;
|
||||||
OPT_impCtxt.ref[13] = OPT_sysptrtyp;
|
OPT_impCtxt.ref[11] = OPT_sysptrtyp;
|
||||||
OPT_IntTypes[1] = OPT_sinttyp;
|
OPT_IntTypes[1] = OPT_sinttyp;
|
||||||
OPT_IntTypes[2] = OPT_inttyp;
|
OPT_IntTypes[2] = OPT_inttyp;
|
||||||
OPT_IntTypes[3] = OPT_linttyp;
|
OPT_IntTypes[3] = OPT_linttyp;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef OPT__h
|
#ifndef OPT__h
|
||||||
#define OPT__h
|
#define OPT__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "OPC.h"
|
#include "OPC.h"
|
||||||
#include "OPM.h"
|
#include "OPM.h"
|
||||||
|
|
@ -122,14 +122,14 @@ void OPV_TypSize (OPT_Struct typ)
|
||||||
} else if (c == 2) {
|
} else if (c == 2) {
|
||||||
OPV_TypSize(typ->BaseTyp);
|
OPV_TypSize(typ->BaseTyp);
|
||||||
typ->size = typ->n * typ->BaseTyp->size;
|
typ->size = typ->n * typ->BaseTyp->size;
|
||||||
} else if (f == 13) {
|
} else if (f == 11) {
|
||||||
typ->size = OPM_PointerSize;
|
typ->size = OPM_PointerSize;
|
||||||
if (typ->BaseTyp == OPT_undftyp) {
|
if (typ->BaseTyp == OPT_undftyp) {
|
||||||
OPM_Mark(128, typ->n);
|
OPM_Mark(128, typ->n);
|
||||||
} else {
|
} else {
|
||||||
OPV_TypSize(typ->BaseTyp);
|
OPV_TypSize(typ->BaseTyp);
|
||||||
}
|
}
|
||||||
} else if (f == 14) {
|
} else if (f == 12) {
|
||||||
typ->size = OPM_ProcSize;
|
typ->size = OPM_ProcSize;
|
||||||
} else if (c == 3) {
|
} else if (c == 3) {
|
||||||
btyp = typ->BaseTyp;
|
btyp = typ->BaseTyp;
|
||||||
|
|
@ -162,7 +162,7 @@ static void OPV_GetTProcNum (OPT_Object obj)
|
||||||
oldPos = OPM_errpos;
|
oldPos = OPM_errpos;
|
||||||
OPM_errpos = obj->scope->adr;
|
OPM_errpos = obj->scope->adr;
|
||||||
typ = obj->link->typ;
|
typ = obj->link->typ;
|
||||||
if (typ->form == 13) {
|
if (typ->form == 11) {
|
||||||
typ = typ->BaseTyp;
|
typ = typ->BaseTyp;
|
||||||
}
|
}
|
||||||
OPT_FindField(obj->name, typ->BaseTyp, &redef);
|
OPT_FindField(obj->name, typ->BaseTyp, &redef);
|
||||||
|
|
@ -236,7 +236,7 @@ static void OPV_Traverse (OPT_Object obj, OPT_Object outerScope, BOOLEAN exporte
|
||||||
if ((mode == 5 && (obj->vis != 0) == exported)) {
|
if ((mode == 5 && (obj->vis != 0) == exported)) {
|
||||||
typ = obj->typ;
|
typ = obj->typ;
|
||||||
OPV_TypSize(obj->typ);
|
OPV_TypSize(obj->typ);
|
||||||
if (typ->form == 13) {
|
if (typ->form == 11) {
|
||||||
typ = typ->BaseTyp;
|
typ = typ->BaseTyp;
|
||||||
}
|
}
|
||||||
if (typ->comp == 4) {
|
if (typ->comp == 4) {
|
||||||
|
|
@ -348,7 +348,7 @@ static INTEGER OPV_Precedence (INTEGER class, INTEGER subclass, INTEGER form, IN
|
||||||
case 12:
|
case 12:
|
||||||
switch (subclass) {
|
switch (subclass) {
|
||||||
case 1:
|
case 1:
|
||||||
if (form == 9) {
|
if (form == 7) {
|
||||||
_o_result = 4;
|
_o_result = 4;
|
||||||
return _o_result;
|
return _o_result;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -357,7 +357,7 @@ static INTEGER OPV_Precedence (INTEGER class, INTEGER subclass, INTEGER form, IN
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
if (form == 9) {
|
if (form == 7) {
|
||||||
_o_result = 3;
|
_o_result = 3;
|
||||||
return _o_result;
|
return _o_result;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -370,7 +370,7 @@ static INTEGER OPV_Precedence (INTEGER class, INTEGER subclass, INTEGER form, IN
|
||||||
return _o_result;
|
return _o_result;
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
if (form == 9) {
|
if (form == 7) {
|
||||||
_o_result = 2;
|
_o_result = 2;
|
||||||
return _o_result;
|
return _o_result;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -379,7 +379,7 @@ static INTEGER OPV_Precedence (INTEGER class, INTEGER subclass, INTEGER form, IN
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
if (form == 9) {
|
if (form == 7) {
|
||||||
_o_result = 4;
|
_o_result = 4;
|
||||||
return _o_result;
|
return _o_result;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -463,7 +463,7 @@ static BOOLEAN OPV_SideEffects (OPT_Node n)
|
||||||
|
|
||||||
static void OPV_Entier (OPT_Node n, INTEGER prec)
|
static void OPV_Entier (OPT_Node n, INTEGER prec)
|
||||||
{
|
{
|
||||||
if (__IN(n->typ->form, 0x0180)) {
|
if (__IN(n->typ->form, 0x60)) {
|
||||||
OPM_WriteString((CHAR*)"__ENTIER(", 10);
|
OPM_WriteString((CHAR*)"__ENTIER(", 10);
|
||||||
OPV_expr(n, -1);
|
OPV_expr(n, -1);
|
||||||
OPM_Write(')');
|
OPM_Write(')');
|
||||||
|
|
@ -502,11 +502,11 @@ static void OPV_Convert (OPT_Node n, OPT_Struct newtype, INTEGER prec)
|
||||||
INTEGER from, to;
|
INTEGER from, to;
|
||||||
from = n->typ->form;
|
from = n->typ->form;
|
||||||
to = newtype->form;
|
to = newtype->form;
|
||||||
if (to == 9) {
|
if (to == 7) {
|
||||||
OPM_WriteString((CHAR*)"__SETOF(", 9);
|
OPM_WriteString((CHAR*)"__SETOF(", 9);
|
||||||
OPV_Entier(n, -1);
|
OPV_Entier(n, -1);
|
||||||
OPM_Write(')');
|
OPM_Write(')');
|
||||||
} else if (to == 5) {
|
} else if (to == 4) {
|
||||||
if ((newtype->size < n->typ->size && __IN(2, OPM_opt))) {
|
if ((newtype->size < n->typ->size && __IN(2, OPM_opt))) {
|
||||||
OPM_WriteString((CHAR*)"__SHORT", 8);
|
OPM_WriteString((CHAR*)"__SHORT", 8);
|
||||||
if (OPV_SideEffects(n)) {
|
if (OPV_SideEffects(n)) {
|
||||||
|
|
@ -541,7 +541,7 @@ static void OPV_Convert (OPT_Node n, OPT_Struct newtype, INTEGER prec)
|
||||||
|
|
||||||
static void OPV_TypeOf (OPT_Node n)
|
static void OPV_TypeOf (OPT_Node n)
|
||||||
{
|
{
|
||||||
if (n->typ->form == 13) {
|
if (n->typ->form == 11) {
|
||||||
OPM_WriteString((CHAR*)"__TYPEOF(", 10);
|
OPM_WriteString((CHAR*)"__TYPEOF(", 10);
|
||||||
OPV_expr(n, -1);
|
OPV_expr(n, -1);
|
||||||
OPM_Write(')');
|
OPM_Write(')');
|
||||||
|
|
@ -793,14 +793,14 @@ static void OPV_ActualPar (OPT_Node n, OPT_Object fp)
|
||||||
} else if (OPV_ansi) {
|
} else if (OPV_ansi) {
|
||||||
if ((__IN(comp, 0x0c) && n->class == 7)) {
|
if ((__IN(comp, 0x0c) && n->class == 7)) {
|
||||||
OPM_WriteString((CHAR*)"(CHAR*)", 8);
|
OPM_WriteString((CHAR*)"(CHAR*)", 8);
|
||||||
} else if ((((form == 13 && typ != n->typ)) && n->typ != OPT_niltyp)) {
|
} else if ((((form == 11 && typ != n->typ)) && n->typ != OPT_niltyp)) {
|
||||||
OPM_WriteString((CHAR*)"(void*)", 8);
|
OPM_WriteString((CHAR*)"(void*)", 8);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ((__IN(form, 0x0180) && n->typ->form == 5)) {
|
if ((__IN(form, 0x60) && n->typ->form == 4)) {
|
||||||
OPM_WriteString((CHAR*)"(double)", 9);
|
OPM_WriteString((CHAR*)"(double)", 9);
|
||||||
prec = 9;
|
prec = 9;
|
||||||
} else if (form == 5) {
|
} else if (form == 4) {
|
||||||
OPV_SizeCast(n->typ->size, typ->size);
|
OPV_SizeCast(n->typ->size, typ->size);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -811,7 +811,7 @@ static void OPV_ActualPar (OPT_Node n, OPT_Object fp)
|
||||||
}
|
}
|
||||||
if ((((mode == 2 && n->class == 11)) && n->subcl == 29)) {
|
if ((((mode == 2 && n->class == 11)) && n->subcl == 29)) {
|
||||||
OPV_expr(n->left, prec);
|
OPV_expr(n->left, prec);
|
||||||
} else if ((form == 5 && n->class == 7)) {
|
} else if ((form == 4 && n->class == 7)) {
|
||||||
OPV_ParIntLiteral(n->conval->intval, n->typ->size);
|
OPV_ParIntLiteral(n->conval->intval, n->typ->size);
|
||||||
} else {
|
} else {
|
||||||
OPV_expr(n, prec);
|
OPV_expr(n, prec);
|
||||||
|
|
@ -860,7 +860,7 @@ static OPT_Object OPV_SuperProc (OPT_Node n)
|
||||||
OPT_Object obj = NIL;
|
OPT_Object obj = NIL;
|
||||||
OPT_Struct typ = NIL;
|
OPT_Struct typ = NIL;
|
||||||
typ = n->right->typ;
|
typ = n->right->typ;
|
||||||
if (typ->form == 13) {
|
if (typ->form == 11) {
|
||||||
typ = typ->BaseTyp;
|
typ = typ->BaseTyp;
|
||||||
}
|
}
|
||||||
OPT_FindField(n->left->obj->name, typ->BaseTyp, &obj);
|
OPT_FindField(n->left->obj->name, typ->BaseTyp, &obj);
|
||||||
|
|
@ -901,7 +901,7 @@ static void OPV_expr (OPT_Node n, INTEGER prec)
|
||||||
OPV_expr(l, exprPrec);
|
OPV_expr(l, exprPrec);
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
if (form == 9) {
|
if (form == 7) {
|
||||||
OPM_Write('~');
|
OPM_Write('~');
|
||||||
} else {
|
} else {
|
||||||
OPM_Write('-');
|
OPM_Write('-');
|
||||||
|
|
@ -929,7 +929,7 @@ static void OPV_expr (OPT_Node n, INTEGER prec)
|
||||||
break;
|
break;
|
||||||
case 21:
|
case 21:
|
||||||
if (OPV_SideEffects(l)) {
|
if (OPV_SideEffects(l)) {
|
||||||
if (l->typ->form < 7) {
|
if (l->typ->form < 5) {
|
||||||
if (l->typ->size <= 4) {
|
if (l->typ->size <= 4) {
|
||||||
OPM_WriteString((CHAR*)"(int)", 6);
|
OPM_WriteString((CHAR*)"(int)", 6);
|
||||||
}
|
}
|
||||||
|
|
@ -958,18 +958,18 @@ static void OPV_expr (OPT_Node n, INTEGER prec)
|
||||||
if (l->class == 1) {
|
if (l->class == 1) {
|
||||||
OPC_CompleteIdent(l->obj);
|
OPC_CompleteIdent(l->obj);
|
||||||
} else {
|
} else {
|
||||||
if ((l->typ->form != 10 && !__IN(l->typ->comp, 0x0c))) {
|
if ((l->typ->form != 8 && !__IN(l->typ->comp, 0x0c))) {
|
||||||
OPM_Write('&');
|
OPM_Write('&');
|
||||||
}
|
}
|
||||||
OPV_expr(l, exprPrec);
|
OPV_expr(l, exprPrec);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 29:
|
case 29:
|
||||||
if (!__IN(l->class, 0x17) || (((__IN(n->typ->form, 0x6220) && __IN(l->typ->form, 0x6220))) && n->typ->size == l->typ->size)) {
|
if (!__IN(l->class, 0x17) || (((__IN(n->typ->form, 0x1890) && __IN(l->typ->form, 0x1890))) && n->typ->size == l->typ->size)) {
|
||||||
OPM_Write('(');
|
OPM_Write('(');
|
||||||
OPC_Ident(n->typ->strobj);
|
OPC_Ident(n->typ->strobj);
|
||||||
OPM_Write(')');
|
OPM_Write(')');
|
||||||
if (__IN(n->typ->form, 0x6000) || __IN(l->typ->form, 0x6000)) {
|
if (__IN(n->typ->form, 0x1800) || __IN(l->typ->form, 0x1800)) {
|
||||||
OPM_WriteString((CHAR*)"(SYSTEM_ADRINT)", 16);
|
OPM_WriteString((CHAR*)"(SYSTEM_ADRINT)", 16);
|
||||||
}
|
}
|
||||||
OPV_expr(l, exprPrec);
|
OPV_expr(l, exprPrec);
|
||||||
|
|
@ -1079,7 +1079,7 @@ static void OPV_expr (OPT_Node n, INTEGER prec)
|
||||||
break;
|
break;
|
||||||
case 9: case 10: case 11: case 12: case 13:
|
case 9: case 10: case 11: case 12: case 13:
|
||||||
case 14:
|
case 14:
|
||||||
if (__IN(l->typ->form, 0x8400)) {
|
if (__IN(l->typ->form, 0x2100)) {
|
||||||
OPM_WriteString((CHAR*)"__STRCMP(", 10);
|
OPM_WriteString((CHAR*)"__STRCMP(", 10);
|
||||||
OPV_expr(l, -1);
|
OPV_expr(l, -1);
|
||||||
OPM_WriteString((CHAR*)", ", 3);
|
OPM_WriteString((CHAR*)", ", 3);
|
||||||
|
|
@ -1091,31 +1091,31 @@ static void OPV_expr (OPT_Node n, INTEGER prec)
|
||||||
OPV_expr(l, exprPrec);
|
OPV_expr(l, exprPrec);
|
||||||
OPC_Cmp(subclass);
|
OPC_Cmp(subclass);
|
||||||
typ = l->typ;
|
typ = l->typ;
|
||||||
if ((((((typ->form == 13 && r->typ->form != 11)) && r->typ != typ)) && r->typ != OPT_sysptrtyp)) {
|
if ((((((typ->form == 11 && r->typ->form != 9)) && r->typ != typ)) && r->typ != OPT_sysptrtyp)) {
|
||||||
OPM_WriteString((CHAR*)"(void *) ", 10);
|
OPM_WriteString((CHAR*)"(void *) ", 10);
|
||||||
}
|
}
|
||||||
OPV_expr(r, exprPrec);
|
OPV_expr(r, exprPrec);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (subclass == 5 || (form == 9 && (subclass == 1 || subclass == 7))) {
|
if (subclass == 5 || (form == 7 && (subclass == 1 || subclass == 7))) {
|
||||||
OPM_Write('(');
|
OPM_Write('(');
|
||||||
}
|
}
|
||||||
OPV_expr(l, exprPrec);
|
OPV_expr(l, exprPrec);
|
||||||
switch (subclass) {
|
switch (subclass) {
|
||||||
case 1:
|
case 1:
|
||||||
if (form == 9) {
|
if (form == 7) {
|
||||||
OPM_WriteString((CHAR*)" & ", 4);
|
OPM_WriteString((CHAR*)" & ", 4);
|
||||||
} else {
|
} else {
|
||||||
OPM_WriteString((CHAR*)" * ", 4);
|
OPM_WriteString((CHAR*)" * ", 4);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
if (form == 9) {
|
if (form == 7) {
|
||||||
OPM_WriteString((CHAR*)" ^ ", 4);
|
OPM_WriteString((CHAR*)" ^ ", 4);
|
||||||
} else {
|
} else {
|
||||||
OPM_WriteString((CHAR*)" / ", 4);
|
OPM_WriteString((CHAR*)" / ", 4);
|
||||||
if (r->obj == NIL || r->obj->typ->form == 5) {
|
if (r->obj == NIL || r->obj->typ->form == 4) {
|
||||||
OPM_Write('(');
|
OPM_Write('(');
|
||||||
OPC_Ident(n->typ->strobj);
|
OPC_Ident(n->typ->strobj);
|
||||||
OPM_Write(')');
|
OPM_Write(')');
|
||||||
|
|
@ -1126,14 +1126,14 @@ static void OPV_expr (OPT_Node n, INTEGER prec)
|
||||||
OPM_WriteString((CHAR*)" && ", 5);
|
OPM_WriteString((CHAR*)" && ", 5);
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
if (form == 9) {
|
if (form == 7) {
|
||||||
OPM_WriteString((CHAR*)" | ", 4);
|
OPM_WriteString((CHAR*)" | ", 4);
|
||||||
} else {
|
} else {
|
||||||
OPM_WriteString((CHAR*)" + ", 4);
|
OPM_WriteString((CHAR*)" + ", 4);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
if (form == 9) {
|
if (form == 7) {
|
||||||
OPM_WriteString((CHAR*)" & ~", 5);
|
OPM_WriteString((CHAR*)" & ~", 5);
|
||||||
} else {
|
} else {
|
||||||
OPM_WriteString((CHAR*)" - ", 4);
|
OPM_WriteString((CHAR*)" - ", 4);
|
||||||
|
|
@ -1149,7 +1149,7 @@ static void OPV_expr (OPT_Node n, INTEGER prec)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
OPV_expr(r, exprPrec);
|
OPV_expr(r, exprPrec);
|
||||||
if (subclass == 5 || (form == 9 && (subclass == 1 || subclass == 7))) {
|
if (subclass == 5 || (form == 7 && (subclass == 1 || subclass == 7))) {
|
||||||
OPM_Write(')');
|
OPM_Write(')');
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
@ -1323,7 +1323,7 @@ static void OPV_NewArr (OPT_Node d, OPT_Node x)
|
||||||
if ((base->comp == 4 && OPC_NofPtrs(base) != 0)) {
|
if ((base->comp == 4 && OPC_NofPtrs(base) != 0)) {
|
||||||
OPC_Ident(base->strobj);
|
OPC_Ident(base->strobj);
|
||||||
OPM_WriteString((CHAR*)"__typ", 6);
|
OPM_WriteString((CHAR*)"__typ", 6);
|
||||||
} else if (base->form == 13) {
|
} else if (base->form == 11) {
|
||||||
OPM_WriteString((CHAR*)"POINTER__typ", 13);
|
OPM_WriteString((CHAR*)"POINTER__typ", 13);
|
||||||
} else {
|
} else {
|
||||||
OPM_WriteString((CHAR*)"NIL", 4);
|
OPM_WriteString((CHAR*)"NIL", 4);
|
||||||
|
|
@ -1429,11 +1429,11 @@ static void OPV_stat (OPT_Node n, OPT_Object outerProc)
|
||||||
}
|
}
|
||||||
OPM_Write(')');
|
OPM_Write(')');
|
||||||
} else {
|
} else {
|
||||||
if ((((((l->typ->form == 13 && l->obj != NIL)) && l->obj->adr == 1)) && l->obj->mode == 1)) {
|
if ((((((l->typ->form == 11 && l->obj != NIL)) && l->obj->adr == 1)) && l->obj->mode == 1)) {
|
||||||
l->obj->adr = 0;
|
l->obj->adr = 0;
|
||||||
OPV_design(l, -1);
|
OPV_design(l, -1);
|
||||||
l->obj->adr = 1;
|
l->obj->adr = 1;
|
||||||
if (r->typ->form != 11) {
|
if (r->typ->form != 9) {
|
||||||
OPM_WriteString((CHAR*)" = (void*)", 11);
|
OPM_WriteString((CHAR*)" = (void*)", 11);
|
||||||
} else {
|
} else {
|
||||||
OPM_WriteString((CHAR*)" = ", 4);
|
OPM_WriteString((CHAR*)" = ", 4);
|
||||||
|
|
@ -1444,7 +1444,7 @@ static void OPV_stat (OPT_Node n, OPT_Object outerProc)
|
||||||
}
|
}
|
||||||
if (l->typ == r->typ) {
|
if (l->typ == r->typ) {
|
||||||
OPV_expr(r, -1);
|
OPV_expr(r, -1);
|
||||||
} else if ((((l->typ->form == 13 && r->typ->form != 11)) && l->typ->strobj != NIL)) {
|
} else if ((((l->typ->form == 11 && r->typ->form != 9)) && l->typ->strobj != NIL)) {
|
||||||
OPM_Write('(');
|
OPM_Write('(');
|
||||||
OPC_Ident(l->typ->strobj);
|
OPC_Ident(l->typ->strobj);
|
||||||
OPM_Write(')');
|
OPM_Write(')');
|
||||||
|
|
@ -1629,7 +1629,7 @@ static void OPV_stat (OPT_Node n, OPT_Object outerProc)
|
||||||
} else {
|
} else {
|
||||||
if (n->left != NIL) {
|
if (n->left != NIL) {
|
||||||
OPM_WriteString((CHAR*)"_o_result = ", 13);
|
OPM_WriteString((CHAR*)"_o_result = ", 13);
|
||||||
if ((n->left->typ->form == 13 && n->obj->typ != n->left->typ)) {
|
if ((n->left->typ->form == 11 && n->obj->typ != n->left->typ)) {
|
||||||
OPM_WriteString((CHAR*)"(void*)", 8);
|
OPM_WriteString((CHAR*)"(void*)", 8);
|
||||||
OPV_expr(n->left, 10);
|
OPV_expr(n->left, 10);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef OPV__h
|
#ifndef OPV__h
|
||||||
#define OPV__h
|
#define OPV__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
|
|
||||||
typedef
|
typedef
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef Platform__h
|
#ifndef Platform__h
|
||||||
#define Platform__h
|
#define Platform__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef Reals__h
|
#ifndef Reals__h
|
||||||
#define Reals__h
|
#define Reals__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef Strings__h
|
#ifndef Strings__h
|
||||||
#define Strings__h
|
#define Strings__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "Files.h"
|
#include "Files.h"
|
||||||
#include "Modules.h"
|
#include "Modules.h"
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef Texts__h
|
#ifndef Texts__h
|
||||||
#define Texts__h
|
#define Texts__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkamSf */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkamSf */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "Configuration.h"
|
#include "Configuration.h"
|
||||||
#include "Heap.h"
|
#include "Heap.h"
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
|
|
||||||
typedef
|
typedef
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef errors__h
|
#ifndef errors__h
|
||||||
#define errors__h
|
#define errors__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "Configuration.h"
|
#include "Configuration.h"
|
||||||
#include "Console.h"
|
#include "Console.h"
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef extTools__h
|
#ifndef extTools__h
|
||||||
#define extTools__h
|
#define extTools__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "Console.h"
|
#include "Console.h"
|
||||||
#include "Strings.h"
|
#include "Strings.h"
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef vt100__h
|
#ifndef vt100__h
|
||||||
#define vt100__h
|
#define vt100__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#define LARGE
|
#define LARGE
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
|
|
||||||
|
|
@ -14,6 +14,6 @@ export void *Configuration__init(void)
|
||||||
__DEFMOD;
|
__DEFMOD;
|
||||||
__REGMOD("Configuration", 0);
|
__REGMOD("Configuration", 0);
|
||||||
/* BEGIN */
|
/* BEGIN */
|
||||||
__MOVE("1.95 [2016/08/31] for gcc LP64 on cygwin", Configuration_versionLong, 41);
|
__MOVE("1.95 [2016/09/01] for gcc LP64 on cygwin", Configuration_versionLong, 41);
|
||||||
__ENDMOD;
|
__ENDMOD;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef Configuration__h
|
#ifndef Configuration__h
|
||||||
#define Configuration__h
|
#define Configuration__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#define LARGE
|
#define LARGE
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "Platform.h"
|
#include "Platform.h"
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef Console__h
|
#ifndef Console__h
|
||||||
#define Console__h
|
#define Console__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin tspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin tspkaSfF */
|
||||||
#define LARGE
|
#define LARGE
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "Configuration.h"
|
#include "Configuration.h"
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin tspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin tspkaSfF */
|
||||||
|
|
||||||
#ifndef Files__h
|
#ifndef Files__h
|
||||||
#define Files__h
|
#define Files__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin tskSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin tskSfF */
|
||||||
#define LARGE
|
#define LARGE
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin tskSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin tskSfF */
|
||||||
|
|
||||||
#ifndef Heap__h
|
#ifndef Heap__h
|
||||||
#define Heap__h
|
#define Heap__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#define LARGE
|
#define LARGE
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "Console.h"
|
#include "Console.h"
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef Modules__h
|
#ifndef Modules__h
|
||||||
#define Modules__h
|
#define Modules__h
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef OPB__h
|
#ifndef OPB__h
|
||||||
#define OPB__h
|
#define OPB__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#define LARGE
|
#define LARGE
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "Configuration.h"
|
#include "Configuration.h"
|
||||||
|
|
@ -228,12 +228,12 @@ static void OPC_Stars (OPT_Struct typ, BOOLEAN *openClause)
|
||||||
if (__IN(typ->comp, 0x0c)) {
|
if (__IN(typ->comp, 0x0c)) {
|
||||||
OPC_Stars(typ->BaseTyp, &*openClause);
|
OPC_Stars(typ->BaseTyp, &*openClause);
|
||||||
*openClause = typ->comp == 2;
|
*openClause = typ->comp == 2;
|
||||||
} else if (typ->form == 14) {
|
} else if (typ->form == 12) {
|
||||||
OPM_Write('(');
|
OPM_Write('(');
|
||||||
OPM_Write('*');
|
OPM_Write('*');
|
||||||
} else {
|
} else {
|
||||||
pointers = 0;
|
pointers = 0;
|
||||||
while (((typ->strobj == NIL || typ->strobj->name[0] == 0x00) && typ->form == 13)) {
|
while (((typ->strobj == NIL || typ->strobj->name[0] == 0x00) && typ->form == 11)) {
|
||||||
pointers += 1;
|
pointers += 1;
|
||||||
typ = typ->BaseTyp;
|
typ = typ->BaseTyp;
|
||||||
}
|
}
|
||||||
|
|
@ -278,16 +278,16 @@ static void OPC_DeclareObj (OPT_Object dcl, BOOLEAN scopeDef)
|
||||||
for (;;) {
|
for (;;) {
|
||||||
form = typ->form;
|
form = typ->form;
|
||||||
comp = typ->comp;
|
comp = typ->comp;
|
||||||
if (((typ->strobj != NIL && typ->strobj->name[0] != 0x00) || form == 12) || comp == 4) {
|
if (((typ->strobj != NIL && typ->strobj->name[0] != 0x00) || form == 10) || comp == 4) {
|
||||||
break;
|
break;
|
||||||
} else if ((form == 13 && typ->BaseTyp->comp != 3)) {
|
} else if ((form == 11 && typ->BaseTyp->comp != 3)) {
|
||||||
openClause = 1;
|
openClause = 1;
|
||||||
} else if (form == 14 || __IN(comp, 0x0c)) {
|
} else if (form == 12 || __IN(comp, 0x0c)) {
|
||||||
if (openClause) {
|
if (openClause) {
|
||||||
OPM_Write(')');
|
OPM_Write(')');
|
||||||
openClause = 0;
|
openClause = 0;
|
||||||
}
|
}
|
||||||
if (form == 14) {
|
if (form == 12) {
|
||||||
if (OPC_ansi) {
|
if (OPC_ansi) {
|
||||||
OPM_Write(')');
|
OPM_Write(')');
|
||||||
OPC_AnsiParamList(typ->link, 0);
|
OPC_AnsiParamList(typ->link, 0);
|
||||||
|
|
@ -332,19 +332,19 @@ static void OPC_DeclareBase (OPT_Object dcl)
|
||||||
LONGINT off, n, dummy;
|
LONGINT off, n, dummy;
|
||||||
typ = dcl->typ;
|
typ = dcl->typ;
|
||||||
prev = typ;
|
prev = typ;
|
||||||
while ((((((((typ->strobj == NIL || typ->comp == 3) || OPC_Undefined(typ->strobj)) && typ->comp != 4)) && typ->form != 12)) && !((typ->form == 13 && typ->BaseTyp->comp == 3)))) {
|
while ((((((((typ->strobj == NIL || typ->comp == 3) || OPC_Undefined(typ->strobj)) && typ->comp != 4)) && typ->form != 10)) && !((typ->form == 11 && typ->BaseTyp->comp == 3)))) {
|
||||||
prev = typ;
|
prev = typ;
|
||||||
typ = typ->BaseTyp;
|
typ = typ->BaseTyp;
|
||||||
}
|
}
|
||||||
obj = typ->strobj;
|
obj = typ->strobj;
|
||||||
if (typ->form == 12) {
|
if (typ->form == 10) {
|
||||||
OPM_WriteString((CHAR*)"void", 5);
|
OPM_WriteString((CHAR*)"void", 5);
|
||||||
} else if ((obj != NIL && !OPC_Undefined(obj))) {
|
} else if ((obj != NIL && !OPC_Undefined(obj))) {
|
||||||
OPC_Ident(obj);
|
OPC_Ident(obj);
|
||||||
} else if (typ->comp == 4) {
|
} else if (typ->comp == 4) {
|
||||||
OPM_WriteString((CHAR*)"struct ", 8);
|
OPM_WriteString((CHAR*)"struct ", 8);
|
||||||
OPC_Andent(typ);
|
OPC_Andent(typ);
|
||||||
if ((prev->form != 13 && (obj != NIL || dcl->name[0] == 0x00))) {
|
if ((prev->form != 11 && (obj != NIL || dcl->name[0] == 0x00))) {
|
||||||
if ((typ->BaseTyp != NIL && typ->BaseTyp->strobj->vis != 0)) {
|
if ((typ->BaseTyp != NIL && typ->BaseTyp->strobj->vis != 0)) {
|
||||||
OPM_WriteString((CHAR*)" { /* ", 7);
|
OPM_WriteString((CHAR*)" { /* ", 7);
|
||||||
OPC_Ident(typ->BaseTyp->strobj);
|
OPC_Ident(typ->BaseTyp->strobj);
|
||||||
|
|
@ -358,7 +358,7 @@ static void OPC_DeclareBase (OPT_Object dcl)
|
||||||
OPC_FieldList(typ, 1, &off, &n, &dummy);
|
OPC_FieldList(typ, 1, &off, &n, &dummy);
|
||||||
OPC_EndBlk0();
|
OPC_EndBlk0();
|
||||||
}
|
}
|
||||||
} else if ((typ->form == 13 && typ->BaseTyp->comp == 3)) {
|
} else if ((typ->form == 11 && typ->BaseTyp->comp == 3)) {
|
||||||
typ = typ->BaseTyp->BaseTyp;
|
typ = typ->BaseTyp->BaseTyp;
|
||||||
nofdims = 1;
|
nofdims = 1;
|
||||||
while (typ->comp == 3) {
|
while (typ->comp == 3) {
|
||||||
|
|
@ -373,7 +373,7 @@ static void OPC_DeclareBase (OPT_Object dcl)
|
||||||
OPC_BegStat();
|
OPC_BegStat();
|
||||||
__NEW(obj, OPT_ObjDesc);
|
__NEW(obj, OPT_ObjDesc);
|
||||||
__NEW(obj->typ, OPT_StrDesc);
|
__NEW(obj->typ, OPT_StrDesc);
|
||||||
obj->typ->form = 15;
|
obj->typ->form = 13;
|
||||||
obj->typ->comp = 2;
|
obj->typ->comp = 2;
|
||||||
obj->typ->n = 1;
|
obj->typ->n = 1;
|
||||||
obj->typ->BaseTyp = typ;
|
obj->typ->BaseTyp = typ;
|
||||||
|
|
@ -394,7 +394,7 @@ LONGINT OPC_NofPtrs (OPT_Struct typ)
|
||||||
OPT_Object fld = NIL;
|
OPT_Object fld = NIL;
|
||||||
OPT_Struct btyp = NIL;
|
OPT_Struct btyp = NIL;
|
||||||
LONGINT n;
|
LONGINT n;
|
||||||
if ((typ->form == 13 && typ->sysflag == 0)) {
|
if ((typ->form == 11 && typ->sysflag == 0)) {
|
||||||
_o_result = 1;
|
_o_result = 1;
|
||||||
return _o_result;
|
return _o_result;
|
||||||
} else if ((typ->comp == 4 && __MASK(typ->sysflag, -256) == 0)) {
|
} else if ((typ->comp == 4 && __MASK(typ->sysflag, -256) == 0)) {
|
||||||
|
|
@ -436,7 +436,7 @@ static void OPC_PutPtrOffsets (OPT_Struct typ, LONGINT adr, LONGINT *cnt)
|
||||||
OPT_Object fld = NIL;
|
OPT_Object fld = NIL;
|
||||||
OPT_Struct btyp = NIL;
|
OPT_Struct btyp = NIL;
|
||||||
LONGINT n, i;
|
LONGINT n, i;
|
||||||
if ((typ->form == 13 && typ->sysflag == 0)) {
|
if ((typ->form == 11 && typ->sysflag == 0)) {
|
||||||
OPM_WriteInt(adr);
|
OPM_WriteInt(adr);
|
||||||
OPM_WriteString((CHAR*)", ", 3);
|
OPM_WriteString((CHAR*)", ", 3);
|
||||||
*cnt += 1;
|
*cnt += 1;
|
||||||
|
|
@ -541,7 +541,7 @@ static void OPC_DeclareParams (OPT_Object par, BOOLEAN macro)
|
||||||
if (macro) {
|
if (macro) {
|
||||||
OPM_WriteStringVar((void*)par->name, 256);
|
OPM_WriteStringVar((void*)par->name, 256);
|
||||||
} else {
|
} else {
|
||||||
if ((par->mode == 1 && par->typ->form == 7)) {
|
if ((par->mode == 1 && par->typ->form == 5)) {
|
||||||
OPM_Write('_');
|
OPM_Write('_');
|
||||||
}
|
}
|
||||||
OPC_Ident(par);
|
OPC_Ident(par);
|
||||||
|
|
@ -613,7 +613,7 @@ OPT_Object OPC_BaseTProc (OPT_Object obj)
|
||||||
OPT_Struct typ = NIL, base = NIL;
|
OPT_Struct typ = NIL, base = NIL;
|
||||||
LONGINT mno;
|
LONGINT mno;
|
||||||
typ = obj->link->typ;
|
typ = obj->link->typ;
|
||||||
if (typ->form == 13) {
|
if (typ->form == 11) {
|
||||||
typ = typ->BaseTyp;
|
typ = typ->BaseTyp;
|
||||||
}
|
}
|
||||||
base = typ->BaseTyp;
|
base = typ->BaseTyp;
|
||||||
|
|
@ -636,7 +636,7 @@ static void OPC_DefineTProcMacros (OPT_Object obj, BOOLEAN *empty)
|
||||||
OPC_Ident(obj);
|
OPC_Ident(obj);
|
||||||
OPC_DeclareParams(obj->link, 1);
|
OPC_DeclareParams(obj->link, 1);
|
||||||
OPM_WriteString((CHAR*)" __SEND(", 9);
|
OPM_WriteString((CHAR*)" __SEND(", 9);
|
||||||
if (obj->link->typ->form == 13) {
|
if (obj->link->typ->form == 11) {
|
||||||
OPM_WriteString((CHAR*)"__TYPEOF(", 10);
|
OPM_WriteString((CHAR*)"__TYPEOF(", 10);
|
||||||
OPC_Ident(obj->link);
|
OPC_Ident(obj->link);
|
||||||
OPM_Write(')');
|
OPM_Write(')');
|
||||||
|
|
@ -674,7 +674,7 @@ static void OPC_DefineType (OPT_Struct str)
|
||||||
if (obj == NIL || OPC_Undefined(obj)) {
|
if (obj == NIL || OPC_Undefined(obj)) {
|
||||||
if (obj != NIL) {
|
if (obj != NIL) {
|
||||||
if (obj->linkadr == 1) {
|
if (obj->linkadr == 1) {
|
||||||
if (str->form != 13) {
|
if (str->form != 11) {
|
||||||
OPM_Mark(244, str->txtpos);
|
OPM_Mark(244, str->txtpos);
|
||||||
obj->linkadr = 2;
|
obj->linkadr = 2;
|
||||||
}
|
}
|
||||||
|
|
@ -693,13 +693,13 @@ static void OPC_DefineType (OPT_Struct str)
|
||||||
}
|
}
|
||||||
field = field->link;
|
field = field->link;
|
||||||
}
|
}
|
||||||
} else if (str->form == 13) {
|
} else if (str->form == 11) {
|
||||||
if (str->BaseTyp->comp != 4) {
|
if (str->BaseTyp->comp != 4) {
|
||||||
OPC_DefineType(str->BaseTyp);
|
OPC_DefineType(str->BaseTyp);
|
||||||
}
|
}
|
||||||
} else if (__IN(str->comp, 0x0c)) {
|
} else if (__IN(str->comp, 0x0c)) {
|
||||||
OPC_DefineType(str->BaseTyp);
|
OPC_DefineType(str->BaseTyp);
|
||||||
} else if (str->form == 14) {
|
} else if (str->form == 12) {
|
||||||
if (str->BaseTyp != OPT_notyp) {
|
if (str->BaseTyp != OPT_notyp) {
|
||||||
OPC_DefineType(str->BaseTyp);
|
OPC_DefineType(str->BaseTyp);
|
||||||
}
|
}
|
||||||
|
|
@ -890,7 +890,7 @@ LONGINT OPC_BaseAlignment (OPT_Struct typ)
|
||||||
{
|
{
|
||||||
LONGINT _o_result;
|
LONGINT _o_result;
|
||||||
LONGINT alignment;
|
LONGINT alignment;
|
||||||
if (typ->form == 15) {
|
if (typ->form == 13) {
|
||||||
if (typ->comp == 4) {
|
if (typ->comp == 4) {
|
||||||
alignment = __MASK(typ->align, -65536);
|
alignment = __MASK(typ->align, -65536);
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -1018,7 +1018,7 @@ static void OPC_IdentList (OPT_Object obj, INTEGER vis)
|
||||||
OPM_WriteString((CHAR*)"export ", 8);
|
OPM_WriteString((CHAR*)"export ", 8);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ((((vis == 2 && obj->mode == 1)) && base->form == 7)) {
|
if ((((vis == 2 && obj->mode == 1)) && base->form == 5)) {
|
||||||
OPM_WriteString((CHAR*)"double", 7);
|
OPM_WriteString((CHAR*)"double", 7);
|
||||||
} else {
|
} else {
|
||||||
OPC_DeclareBase(obj);
|
OPC_DeclareBase(obj);
|
||||||
|
|
@ -1027,7 +1027,7 @@ static void OPC_IdentList (OPT_Object obj, INTEGER vis)
|
||||||
OPM_Write(',');
|
OPM_Write(',');
|
||||||
}
|
}
|
||||||
OPM_Write(' ');
|
OPM_Write(' ');
|
||||||
if ((((vis == 2 && obj->mode == 1)) && base->form == 7)) {
|
if ((((vis == 2 && obj->mode == 1)) && base->form == 5)) {
|
||||||
OPM_Write('_');
|
OPM_Write('_');
|
||||||
}
|
}
|
||||||
OPC_DeclareObj(obj, vis == 3);
|
OPC_DeclareObj(obj, vis == 3);
|
||||||
|
|
@ -1044,7 +1044,7 @@ static void OPC_IdentList (OPT_Object obj, INTEGER vis)
|
||||||
OPC_Ident(obj);
|
OPC_Ident(obj);
|
||||||
OPM_WriteString((CHAR*)"__typ", 6);
|
OPM_WriteString((CHAR*)"__typ", 6);
|
||||||
base = NIL;
|
base = NIL;
|
||||||
} else if ((((((OPC_ptrinit && vis == 0)) && obj->mnolev > 0)) && obj->typ->form == 13)) {
|
} else if ((((((OPC_ptrinit && vis == 0)) && obj->mnolev > 0)) && obj->typ->form == 11)) {
|
||||||
OPM_WriteString((CHAR*)" = NIL", 7);
|
OPM_WriteString((CHAR*)" = NIL", 7);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1381,7 +1381,7 @@ void OPC_GenEnumPtrs (OPT_Object var)
|
||||||
OPC_BegBlk();
|
OPC_BegBlk();
|
||||||
}
|
}
|
||||||
OPC_BegStat();
|
OPC_BegStat();
|
||||||
if (typ->form == 13) {
|
if (typ->form == 11) {
|
||||||
OPM_WriteString((CHAR*)"P(", 3);
|
OPM_WriteString((CHAR*)"P(", 3);
|
||||||
OPC_Ident(var);
|
OPC_Ident(var);
|
||||||
OPM_Write(')');
|
OPM_Write(')');
|
||||||
|
|
@ -1400,7 +1400,7 @@ void OPC_GenEnumPtrs (OPT_Object var)
|
||||||
n = n * typ->n;
|
n = n * typ->n;
|
||||||
typ = typ->BaseTyp;
|
typ = typ->BaseTyp;
|
||||||
}
|
}
|
||||||
if (typ->form == 13) {
|
if (typ->form == 11) {
|
||||||
OPM_WriteString((CHAR*)"__ENUMP(", 9);
|
OPM_WriteString((CHAR*)"__ENUMP(", 9);
|
||||||
OPC_Ident(var);
|
OPC_Ident(var);
|
||||||
OPC_Str1((CHAR*)", #, P)", 8, n);
|
OPC_Str1((CHAR*)", #, P)", 8, n);
|
||||||
|
|
@ -1563,7 +1563,7 @@ void OPC_EnterProc (OPT_Object proc)
|
||||||
if (!OPC_ansi) {
|
if (!OPC_ansi) {
|
||||||
var = proc->link;
|
var = proc->link;
|
||||||
while (var != NIL) {
|
while (var != NIL) {
|
||||||
if ((var->typ->form == 7 && var->mode == 1)) {
|
if ((var->typ->form == 5 && var->mode == 1)) {
|
||||||
OPC_BegStat();
|
OPC_BegStat();
|
||||||
OPC_Ident(var->typ->strobj);
|
OPC_Ident(var->typ->strobj);
|
||||||
OPM_Write(' ');
|
OPM_Write(' ');
|
||||||
|
|
@ -1879,7 +1879,7 @@ void OPC_Case (LONGINT caseVal, INTEGER form)
|
||||||
case 3:
|
case 3:
|
||||||
OPC_CharacterLiteral(caseVal);
|
OPC_CharacterLiteral(caseVal);
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 4:
|
||||||
OPM_WriteInt(caseVal);
|
OPM_WriteInt(caseVal);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
@ -1977,16 +1977,16 @@ void OPC_Constant (OPT_Const con, INTEGER form)
|
||||||
case 3:
|
case 3:
|
||||||
OPC_CharacterLiteral(con->intval);
|
OPC_CharacterLiteral(con->intval);
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 4:
|
||||||
OPM_WriteInt(con->intval);
|
OPM_WriteInt(con->intval);
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 5:
|
||||||
OPM_WriteReal(con->realval, 'f');
|
OPM_WriteReal(con->realval, 'f');
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 6:
|
||||||
OPM_WriteReal(con->realval, 0x00);
|
OPM_WriteReal(con->realval, 0x00);
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 7:
|
||||||
OPM_WriteString((CHAR*)"0x", 3);
|
OPM_WriteString((CHAR*)"0x", 3);
|
||||||
skipLeading = 1;
|
skipLeading = 1;
|
||||||
s = con->setval;
|
s = con->setval;
|
||||||
|
|
@ -2009,10 +2009,10 @@ void OPC_Constant (OPT_Const con, INTEGER form)
|
||||||
OPM_Write('0');
|
OPM_Write('0');
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 8:
|
||||||
OPC_StringLiteral(*con->ext, 256, con->intval2 - 1);
|
OPC_StringLiteral(*con->ext, 256, con->intval2 - 1);
|
||||||
break;
|
break;
|
||||||
case 11:
|
case 9:
|
||||||
OPM_WriteString((CHAR*)"NIL", 4);
|
OPM_WriteString((CHAR*)"NIL", 4);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef OPC__h
|
#ifndef OPC__h
|
||||||
#define OPC__h
|
#define OPC__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#define LARGE
|
#define LARGE
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "Configuration.h"
|
#include "Configuration.h"
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef OPM__h
|
#ifndef OPM__h
|
||||||
#define OPM__h
|
#define OPM__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#define LARGE
|
#define LARGE
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "OPB.h"
|
#include "OPB.h"
|
||||||
|
|
@ -137,7 +137,7 @@ static void OPP_CheckSysFlag (INTEGER *sysflag, INTEGER default_)
|
||||||
OPP_err(135);
|
OPP_err(135);
|
||||||
}
|
}
|
||||||
OPP_ConstExpression(&x);
|
OPP_ConstExpression(&x);
|
||||||
if (x->typ->form == 5) {
|
if (x->typ->form == 4) {
|
||||||
sf = x->conval->intval;
|
sf = x->conval->intval;
|
||||||
if (sf < 0 || sf > 1) {
|
if (sf < 0 || sf > 1) {
|
||||||
OPP_err(220);
|
OPP_err(220);
|
||||||
|
|
@ -159,7 +159,7 @@ static void OPP_RecordType (OPT_Struct *typ, OPT_Struct *banned)
|
||||||
OPT_Object fld = NIL, first = NIL, last = NIL, base = NIL;
|
OPT_Object fld = NIL, first = NIL, last = NIL, base = NIL;
|
||||||
OPT_Struct ftyp = NIL;
|
OPT_Struct ftyp = NIL;
|
||||||
INTEGER sysflag;
|
INTEGER sysflag;
|
||||||
*typ = OPT_NewStr(15, 4);
|
*typ = OPT_NewStr(13, 4);
|
||||||
(*typ)->BaseTyp = NIL;
|
(*typ)->BaseTyp = NIL;
|
||||||
OPP_CheckSysFlag(&sysflag, -1);
|
OPP_CheckSysFlag(&sysflag, -1);
|
||||||
if (OPP_sym == 30) {
|
if (OPP_sym == 30) {
|
||||||
|
|
@ -254,7 +254,7 @@ static void OPP_ArrayType (OPT_Struct *typ, OPT_Struct *banned)
|
||||||
INTEGER sysflag;
|
INTEGER sysflag;
|
||||||
OPP_CheckSysFlag(&sysflag, 0);
|
OPP_CheckSysFlag(&sysflag, 0);
|
||||||
if (OPP_sym == 25) {
|
if (OPP_sym == 25) {
|
||||||
*typ = OPT_NewStr(15, 3);
|
*typ = OPT_NewStr(13, 3);
|
||||||
(*typ)->mno = 0;
|
(*typ)->mno = 0;
|
||||||
(*typ)->sysflag = sysflag;
|
(*typ)->sysflag = sysflag;
|
||||||
OPS_Get(&OPP_sym);
|
OPS_Get(&OPP_sym);
|
||||||
|
|
@ -266,10 +266,10 @@ static void OPP_ArrayType (OPT_Struct *typ, OPT_Struct *banned)
|
||||||
(*typ)->n = 0;
|
(*typ)->n = 0;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
*typ = OPT_NewStr(15, 2);
|
*typ = OPT_NewStr(13, 2);
|
||||||
(*typ)->sysflag = sysflag;
|
(*typ)->sysflag = sysflag;
|
||||||
OPP_ConstExpression(&x);
|
OPP_ConstExpression(&x);
|
||||||
if (x->typ->form == 5) {
|
if (x->typ->form == 4) {
|
||||||
n = x->conval->intval;
|
n = x->conval->intval;
|
||||||
if (n <= 0 || n > OPM_MaxIndex) {
|
if (n <= 0 || n > OPM_MaxIndex) {
|
||||||
OPP_err(63);
|
OPP_err(63);
|
||||||
|
|
@ -302,7 +302,7 @@ static void OPP_ArrayType (OPT_Struct *typ, OPT_Struct *banned)
|
||||||
static void OPP_PointerType (OPT_Struct *typ)
|
static void OPP_PointerType (OPT_Struct *typ)
|
||||||
{
|
{
|
||||||
OPT_Object id = NIL;
|
OPT_Object id = NIL;
|
||||||
*typ = OPT_NewStr(13, 1);
|
*typ = OPT_NewStr(11, 1);
|
||||||
OPP_CheckSysFlag(&(*typ)->sysflag, 0);
|
OPP_CheckSysFlag(&(*typ)->sysflag, 0);
|
||||||
OPP_CheckSym(28);
|
OPP_CheckSym(28);
|
||||||
if (OPP_sym == 38) {
|
if (OPP_sym == 38) {
|
||||||
|
|
@ -410,7 +410,7 @@ static void OPP_FormalParameters (OPT_Object *firstPar, OPT_Struct *resTyp)
|
||||||
if (OPP_sym == 38) {
|
if (OPP_sym == 38) {
|
||||||
OPP_qualident(&res);
|
OPP_qualident(&res);
|
||||||
if (res->mode == 5) {
|
if (res->mode == 5) {
|
||||||
if (res->typ->form < 15) {
|
if (res->typ->form < 13) {
|
||||||
*resTyp = res->typ;
|
*resTyp = res->typ;
|
||||||
} else {
|
} else {
|
||||||
OPP_err(54);
|
OPP_err(54);
|
||||||
|
|
@ -460,7 +460,7 @@ static void OPP_TypeDecl (OPT_Struct *typ, OPT_Struct *banned)
|
||||||
OPP_PointerType(&*typ);
|
OPP_PointerType(&*typ);
|
||||||
} else if (OPP_sym == 61) {
|
} else if (OPP_sym == 61) {
|
||||||
OPS_Get(&OPP_sym);
|
OPS_Get(&OPP_sym);
|
||||||
*typ = OPT_NewStr(14, 1);
|
*typ = OPT_NewStr(12, 1);
|
||||||
OPP_CheckSysFlag(&(*typ)->sysflag, 0);
|
OPP_CheckSysFlag(&(*typ)->sysflag, 0);
|
||||||
if (OPP_sym == 30) {
|
if (OPP_sym == 30) {
|
||||||
OPS_Get(&OPP_sym);
|
OPS_Get(&OPP_sym);
|
||||||
|
|
@ -489,7 +489,7 @@ static void OPP_TypeDecl (OPT_Struct *typ, OPT_Struct *banned)
|
||||||
static void OPP_Type (OPT_Struct *typ, OPT_Struct *banned)
|
static void OPP_Type (OPT_Struct *typ, OPT_Struct *banned)
|
||||||
{
|
{
|
||||||
OPP_TypeDecl(&*typ, &*banned);
|
OPP_TypeDecl(&*typ, &*banned);
|
||||||
if (((((*typ)->form == 13 && (*typ)->BaseTyp == OPT_undftyp)) && (*typ)->strobj == NIL)) {
|
if (((((*typ)->form == 11 && (*typ)->BaseTyp == OPT_undftyp)) && (*typ)->strobj == NIL)) {
|
||||||
OPP_err(0);
|
OPP_err(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -504,7 +504,7 @@ static void OPP_selector (OPT_Node *x)
|
||||||
if (OPP_sym == 31) {
|
if (OPP_sym == 31) {
|
||||||
OPS_Get(&OPP_sym);
|
OPS_Get(&OPP_sym);
|
||||||
for (;;) {
|
for (;;) {
|
||||||
if (((*x)->typ != NIL && (*x)->typ->form == 13)) {
|
if (((*x)->typ != NIL && (*x)->typ->form == 11)) {
|
||||||
OPB_DeRef(&*x);
|
OPB_DeRef(&*x);
|
||||||
}
|
}
|
||||||
OPP_Expression(&y);
|
OPP_Expression(&y);
|
||||||
|
|
@ -522,7 +522,7 @@ static void OPP_selector (OPT_Node *x)
|
||||||
__COPY(OPS_name, name, 256);
|
__COPY(OPS_name, name, 256);
|
||||||
OPS_Get(&OPP_sym);
|
OPS_Get(&OPP_sym);
|
||||||
if ((*x)->typ != NIL) {
|
if ((*x)->typ != NIL) {
|
||||||
if ((*x)->typ->form == 13) {
|
if ((*x)->typ->form == 11) {
|
||||||
OPB_DeRef(&*x);
|
OPB_DeRef(&*x);
|
||||||
}
|
}
|
||||||
if ((*x)->typ->comp == 4) {
|
if ((*x)->typ->comp == 4) {
|
||||||
|
|
@ -544,7 +544,7 @@ static void OPP_selector (OPT_Node *x)
|
||||||
OPP_err(75);
|
OPP_err(75);
|
||||||
}
|
}
|
||||||
typ = y->obj->typ;
|
typ = y->obj->typ;
|
||||||
if (typ->form == 13) {
|
if (typ->form == 11) {
|
||||||
typ = typ->BaseTyp;
|
typ = typ->BaseTyp;
|
||||||
}
|
}
|
||||||
OPT_FindField((*x)->obj->name, typ->BaseTyp, &proc);
|
OPT_FindField((*x)->obj->name, typ->BaseTyp, &proc);
|
||||||
|
|
@ -573,7 +573,7 @@ static void OPP_selector (OPT_Node *x)
|
||||||
} else if (OPP_sym == 17) {
|
} else if (OPP_sym == 17) {
|
||||||
OPS_Get(&OPP_sym);
|
OPS_Get(&OPP_sym);
|
||||||
OPB_DeRef(&*x);
|
OPB_DeRef(&*x);
|
||||||
} else if ((((((OPP_sym == 30 && (*x)->class < 7)) && (*x)->typ->form != 14)) && ((*x)->obj == NIL || (*x)->obj->mode != 13))) {
|
} else if ((((((OPP_sym == 30 && (*x)->class < 7)) && (*x)->typ->form != 12)) && ((*x)->obj == NIL || (*x)->obj->mode != 13))) {
|
||||||
OPS_Get(&OPP_sym);
|
OPS_Get(&OPP_sym);
|
||||||
if (OPP_sym == 38) {
|
if (OPP_sym == 38) {
|
||||||
OPP_qualident(&obj);
|
OPP_qualident(&obj);
|
||||||
|
|
@ -872,10 +872,10 @@ static void OPP_Receiver (SHORTINT *mode, OPS_Name name, OPT_Struct *typ, OPT_St
|
||||||
} else {
|
} else {
|
||||||
*typ = obj->typ;
|
*typ = obj->typ;
|
||||||
*rec = *typ;
|
*rec = *typ;
|
||||||
if ((*rec)->form == 13) {
|
if ((*rec)->form == 11) {
|
||||||
*rec = (*rec)->BaseTyp;
|
*rec = (*rec)->BaseTyp;
|
||||||
}
|
}
|
||||||
if (!((((*mode == 1 && (*typ)->form == 13)) && (*rec)->comp == 4) || (*mode == 2 && (*typ)->comp == 4))) {
|
if (!((((*mode == 1 && (*typ)->form == 11)) && (*rec)->comp == 4) || (*mode == 2 && (*typ)->comp == 4))) {
|
||||||
OPP_err(70);
|
OPP_err(70);
|
||||||
*rec = NIL;
|
*rec = NIL;
|
||||||
}
|
}
|
||||||
|
|
@ -889,7 +889,7 @@ static void OPP_Receiver (SHORTINT *mode, OPS_Name name, OPT_Struct *typ, OPT_St
|
||||||
}
|
}
|
||||||
OPP_CheckSym(22);
|
OPP_CheckSym(22);
|
||||||
if (*rec == NIL) {
|
if (*rec == NIL) {
|
||||||
*rec = OPT_NewStr(15, 4);
|
*rec = OPT_NewStr(13, 4);
|
||||||
(*rec)->BaseTyp = NIL;
|
(*rec)->BaseTyp = NIL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -897,7 +897,7 @@ static void OPP_Receiver (SHORTINT *mode, OPS_Name name, OPT_Struct *typ, OPT_St
|
||||||
static BOOLEAN OPP_Extends (OPT_Struct x, OPT_Struct b)
|
static BOOLEAN OPP_Extends (OPT_Struct x, OPT_Struct b)
|
||||||
{
|
{
|
||||||
BOOLEAN _o_result;
|
BOOLEAN _o_result;
|
||||||
if ((b->form == 13 && x->form == 13)) {
|
if ((b->form == 11 && x->form == 11)) {
|
||||||
b = b->BaseTyp;
|
b = b->BaseTyp;
|
||||||
x = x->BaseTyp;
|
x = x->BaseTyp;
|
||||||
}
|
}
|
||||||
|
|
@ -1174,14 +1174,14 @@ static void OPP_CaseLabelList (OPT_Node *lab, OPT_Struct LabelTyp, INTEGER *n, O
|
||||||
for (;;) {
|
for (;;) {
|
||||||
OPP_ConstExpression(&x);
|
OPP_ConstExpression(&x);
|
||||||
f = x->typ->form;
|
f = x->typ->form;
|
||||||
if (__IN(f, 0x28)) {
|
if (__IN(f, 0x18)) {
|
||||||
xval = x->conval->intval;
|
xval = x->conval->intval;
|
||||||
} else {
|
} else {
|
||||||
OPP_err(61);
|
OPP_err(61);
|
||||||
xval = 1;
|
xval = 1;
|
||||||
}
|
}
|
||||||
if (f == 5) {
|
if (f == 4) {
|
||||||
if (!(LabelTyp->form == 5) || LabelTyp->size < x->typ->size) {
|
if (!(LabelTyp->form == 4) || LabelTyp->size < x->typ->size) {
|
||||||
OPP_err(60);
|
OPP_err(60);
|
||||||
}
|
}
|
||||||
} else if (LabelTyp->form != f) {
|
} else if (LabelTyp->form != f) {
|
||||||
|
|
@ -1191,7 +1191,7 @@ static void OPP_CaseLabelList (OPT_Node *lab, OPT_Struct LabelTyp, INTEGER *n, O
|
||||||
OPS_Get(&OPP_sym);
|
OPS_Get(&OPP_sym);
|
||||||
OPP_ConstExpression(&y);
|
OPP_ConstExpression(&y);
|
||||||
yval = y->conval->intval;
|
yval = y->conval->intval;
|
||||||
if ((y->typ->form != f && !((f == 5 && y->typ->form == 5)))) {
|
if ((y->typ->form != f && !((f == 4 && y->typ->form == 4)))) {
|
||||||
OPP_err(60);
|
OPP_err(60);
|
||||||
}
|
}
|
||||||
if (yval < xval) {
|
if (yval < xval) {
|
||||||
|
|
@ -1254,7 +1254,7 @@ static void CasePart__31 (OPT_Node *x)
|
||||||
*StatSeq__30_s->pos = OPM_errpos;
|
*StatSeq__30_s->pos = OPM_errpos;
|
||||||
if ((*x)->class == 8 || (*x)->class == 9) {
|
if ((*x)->class == 8 || (*x)->class == 9) {
|
||||||
OPP_err(126);
|
OPP_err(126);
|
||||||
} else if (!__IN((*x)->typ->form, 0x38)) {
|
} else if (!__IN((*x)->typ->form, 0x18)) {
|
||||||
OPP_err(125);
|
OPP_err(125);
|
||||||
}
|
}
|
||||||
OPP_CheckSym(25);
|
OPP_CheckSym(25);
|
||||||
|
|
@ -1440,7 +1440,7 @@ static void OPP_StatSeq (OPT_Node *stat)
|
||||||
OPS_Get(&OPP_sym);
|
OPS_Get(&OPP_sym);
|
||||||
if (OPP_sym == 38) {
|
if (OPP_sym == 38) {
|
||||||
OPP_qualident(&id);
|
OPP_qualident(&id);
|
||||||
if (!(id->typ->form == 5)) {
|
if (!(id->typ->form == 4)) {
|
||||||
OPP_err(68);
|
OPP_err(68);
|
||||||
}
|
}
|
||||||
OPP_CheckSym(34);
|
OPP_CheckSym(34);
|
||||||
|
|
@ -1472,7 +1472,7 @@ static void OPP_StatSeq (OPT_Node *stat)
|
||||||
SetPos__35(z);
|
SetPos__35(z);
|
||||||
OPB_Link(&*stat, &last, z);
|
OPB_Link(&*stat, &last, z);
|
||||||
y = OPB_NewLeaf(t);
|
y = OPB_NewLeaf(t);
|
||||||
} else if (!(y->typ->form == 5) || y->typ->size > x->left->typ->size) {
|
} else if (!(y->typ->form == 4) || y->typ->size > x->left->typ->size) {
|
||||||
OPP_err(113);
|
OPP_err(113);
|
||||||
}
|
}
|
||||||
OPB_Link(&*stat, &last, x);
|
OPB_Link(&*stat, &last, x);
|
||||||
|
|
@ -1527,7 +1527,7 @@ static void OPP_StatSeq (OPT_Node *stat)
|
||||||
if (OPP_sym == 38) {
|
if (OPP_sym == 38) {
|
||||||
OPP_qualident(&id);
|
OPP_qualident(&id);
|
||||||
y = OPB_NewLeaf(id);
|
y = OPB_NewLeaf(id);
|
||||||
if ((((id != NIL && id->typ->form == 13)) && (id->mode == 2 || !id->leaf))) {
|
if ((((id != NIL && id->typ->form == 11)) && (id->mode == 2 || !id->leaf))) {
|
||||||
OPP_err(245);
|
OPP_err(245);
|
||||||
}
|
}
|
||||||
OPP_CheckSym(20);
|
OPP_CheckSym(20);
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef OPP__h
|
#ifndef OPP__h
|
||||||
#define OPP__h
|
#define OPP__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin tspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin tspkaSfF */
|
||||||
#define LARGE
|
#define LARGE
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "OPM.h"
|
#include "OPM.h"
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin tspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin tspkaSfF */
|
||||||
|
|
||||||
#ifndef OPS__h
|
#ifndef OPS__h
|
||||||
#define OPS__h
|
#define OPS__h
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
#define LARGE
|
#define LARGE
|
||||||
#include "SYSTEM.h"
|
#include "SYSTEM.h"
|
||||||
#include "OPM.h"
|
#include "OPM.h"
|
||||||
|
|
@ -174,7 +174,7 @@ OPT_Struct OPT_ShorterOrLongerType (OPT_Struct x, INTEGER dir)
|
||||||
{
|
{
|
||||||
OPT_Struct _o_result;
|
OPT_Struct _o_result;
|
||||||
INTEGER i;
|
INTEGER i;
|
||||||
__ASSERT(x->form == 5, 0);
|
__ASSERT(x->form == 4, 0);
|
||||||
__ASSERT(dir == 1 || dir == -1, 0);
|
__ASSERT(dir == 1 || dir == -1, 0);
|
||||||
__ASSERT(x->BaseTyp == OPT_undftyp, 0);
|
__ASSERT(x->BaseTyp == OPT_undftyp, 0);
|
||||||
i = 0;
|
i = 0;
|
||||||
|
|
@ -285,7 +285,7 @@ void OPT_Close (void)
|
||||||
OPT_GlbMod[__X(i, 64)] = NIL;
|
OPT_GlbMod[__X(i, 64)] = NIL;
|
||||||
i += 1;
|
i += 1;
|
||||||
}
|
}
|
||||||
i = 16;
|
i = 14;
|
||||||
while (i < 255) {
|
while (i < 255) {
|
||||||
OPT_impCtxt.ref[__X(i, 255)] = NIL;
|
OPT_impCtxt.ref[__X(i, 255)] = NIL;
|
||||||
OPT_impCtxt.old[__X(i, 255)] = NIL;
|
OPT_impCtxt.old[__X(i, 255)] = NIL;
|
||||||
|
|
@ -484,14 +484,14 @@ void OPT_IdFPrint (OPT_Struct typ)
|
||||||
OPT_FPrintName(&idfp, (void*)OPT_GlbMod[__X(typ->mno, 64)]->name, 256);
|
OPT_FPrintName(&idfp, (void*)OPT_GlbMod[__X(typ->mno, 64)]->name, 256);
|
||||||
OPT_FPrintName(&idfp, (void*)strobj->name, 256);
|
OPT_FPrintName(&idfp, (void*)strobj->name, 256);
|
||||||
}
|
}
|
||||||
if ((f == 13 || (c == 4 && btyp != NIL)) || c == 3) {
|
if ((f == 11 || (c == 4 && btyp != NIL)) || c == 3) {
|
||||||
OPT_IdFPrint(btyp);
|
OPT_IdFPrint(btyp);
|
||||||
OPM_FPrint(&idfp, btyp->idfp);
|
OPM_FPrint(&idfp, btyp->idfp);
|
||||||
} else if (c == 2) {
|
} else if (c == 2) {
|
||||||
OPT_IdFPrint(btyp);
|
OPT_IdFPrint(btyp);
|
||||||
OPM_FPrint(&idfp, btyp->idfp);
|
OPM_FPrint(&idfp, btyp->idfp);
|
||||||
OPM_FPrint(&idfp, typ->n);
|
OPM_FPrint(&idfp, typ->n);
|
||||||
} else if (f == 14) {
|
} else if (f == 12) {
|
||||||
OPT_FPrintSign(&idfp, btyp, typ->link);
|
OPT_FPrintSign(&idfp, btyp, typ->link);
|
||||||
}
|
}
|
||||||
typ->idfp = idfp;
|
typ->idfp = idfp;
|
||||||
|
|
@ -520,7 +520,7 @@ static void FPrintHdFld__15 (OPT_Struct typ, OPT_Object fld, LONGINT adr)
|
||||||
n = btyp->n * n;
|
n = btyp->n * n;
|
||||||
btyp = btyp->BaseTyp;
|
btyp = btyp->BaseTyp;
|
||||||
}
|
}
|
||||||
if (btyp->form == 13 || btyp->comp == 4) {
|
if (btyp->form == 11 || btyp->comp == 4) {
|
||||||
j = OPT_nofhdfld;
|
j = OPT_nofhdfld;
|
||||||
FPrintHdFld__15(btyp, fld, adr);
|
FPrintHdFld__15(btyp, fld, adr);
|
||||||
if (j != OPT_nofhdfld) {
|
if (j != OPT_nofhdfld) {
|
||||||
|
|
@ -532,8 +532,8 @@ static void FPrintHdFld__15 (OPT_Struct typ, OPT_Object fld, LONGINT adr)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (typ->form == 13 || __STRCMP(fld->name, "@ptr") == 0) {
|
} else if (typ->form == 11 || __STRCMP(fld->name, "@ptr") == 0) {
|
||||||
OPM_FPrint(&*FPrintStr__12_s->pvfp, 13);
|
OPM_FPrint(&*FPrintStr__12_s->pvfp, 11);
|
||||||
OPM_FPrint(&*FPrintStr__12_s->pvfp, adr);
|
OPM_FPrint(&*FPrintStr__12_s->pvfp, adr);
|
||||||
OPT_nofhdfld += 1;
|
OPT_nofhdfld += 1;
|
||||||
}
|
}
|
||||||
|
|
@ -596,7 +596,7 @@ void OPT_FPrintStr (OPT_Struct typ)
|
||||||
f = typ->form;
|
f = typ->form;
|
||||||
c = typ->comp;
|
c = typ->comp;
|
||||||
btyp = typ->BaseTyp;
|
btyp = typ->BaseTyp;
|
||||||
if (f == 13) {
|
if (f == 11) {
|
||||||
strobj = typ->strobj;
|
strobj = typ->strobj;
|
||||||
bstrobj = btyp->strobj;
|
bstrobj = btyp->strobj;
|
||||||
if (((strobj == NIL || strobj->name[0] == 0x00) || bstrobj == NIL) || bstrobj->name[0] == 0x00) {
|
if (((strobj == NIL || strobj->name[0] == 0x00) || bstrobj == NIL) || bstrobj->name[0] == 0x00) {
|
||||||
|
|
@ -604,7 +604,7 @@ void OPT_FPrintStr (OPT_Struct typ)
|
||||||
OPM_FPrint(&pbfp, btyp->pbfp);
|
OPM_FPrint(&pbfp, btyp->pbfp);
|
||||||
pvfp = pbfp;
|
pvfp = pbfp;
|
||||||
}
|
}
|
||||||
} else if (f == 14) {
|
} else if (f == 12) {
|
||||||
} else if (__IN(c, 0x0c)) {
|
} else if (__IN(c, 0x0c)) {
|
||||||
OPT_FPrintStr(btyp);
|
OPT_FPrintStr(btyp);
|
||||||
OPM_FPrint(&pbfp, btyp->pvfp);
|
OPM_FPrint(&pbfp, btyp->pvfp);
|
||||||
|
|
@ -650,23 +650,23 @@ void OPT_FPrintObj (OPT_Object obj)
|
||||||
f = obj->typ->form;
|
f = obj->typ->form;
|
||||||
OPM_FPrint(&fprint, f);
|
OPM_FPrint(&fprint, f);
|
||||||
switch (f) {
|
switch (f) {
|
||||||
case 2: case 3: case 5:
|
case 2: case 3: case 4:
|
||||||
OPM_FPrint(&fprint, obj->conval->intval);
|
OPM_FPrint(&fprint, obj->conval->intval);
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 7:
|
||||||
OPM_FPrintSet(&fprint, obj->conval->setval);
|
OPM_FPrintSet(&fprint, obj->conval->setval);
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 5:
|
||||||
rval = obj->conval->realval;
|
rval = obj->conval->realval;
|
||||||
OPM_FPrintReal(&fprint, rval);
|
OPM_FPrintReal(&fprint, rval);
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 6:
|
||||||
OPM_FPrintLReal(&fprint, obj->conval->realval);
|
OPM_FPrintLReal(&fprint, obj->conval->realval);
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 8:
|
||||||
OPT_FPrintName(&fprint, (void*)*obj->conval->ext, 256);
|
OPT_FPrintName(&fprint, (void*)*obj->conval->ext, 256);
|
||||||
break;
|
break;
|
||||||
case 11:
|
case 9:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
OPT_err(127);
|
OPT_err(127);
|
||||||
|
|
@ -851,22 +851,22 @@ static void OPT_InConstant (LONGINT f, OPT_Const conval)
|
||||||
OPM_SymRCh(&ch);
|
OPM_SymRCh(&ch);
|
||||||
conval->intval = ch;
|
conval->intval = ch;
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 4:
|
||||||
conval->intval = OPM_SymRInt();
|
conval->intval = OPM_SymRInt();
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 7:
|
||||||
OPM_SymRSet(&conval->setval);
|
OPM_SymRSet(&conval->setval);
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 5:
|
||||||
OPM_SymRReal(&rval);
|
OPM_SymRReal(&rval);
|
||||||
conval->realval = rval;
|
conval->realval = rval;
|
||||||
conval->intval = -1;
|
conval->intval = -1;
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 6:
|
||||||
OPM_SymRLReal(&conval->realval);
|
OPM_SymRLReal(&conval->realval);
|
||||||
conval->intval = -1;
|
conval->intval = -1;
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 8:
|
||||||
ext = OPT_NewExt();
|
ext = OPT_NewExt();
|
||||||
conval->ext = ext;
|
conval->ext = ext;
|
||||||
i = 0;
|
i = 0;
|
||||||
|
|
@ -878,7 +878,7 @@ static void OPT_InConstant (LONGINT f, OPT_Const conval)
|
||||||
conval->intval2 = i;
|
conval->intval2 = i;
|
||||||
conval->intval = -1;
|
conval->intval = -1;
|
||||||
break;
|
break;
|
||||||
case 11:
|
case 9:
|
||||||
conval->intval = 0;
|
conval->intval = 0;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
@ -980,7 +980,7 @@ static OPT_Object OPT_InTProc (SHORTINT mno)
|
||||||
static OPT_Struct OPT_InTyp (LONGINT tag)
|
static OPT_Struct OPT_InTyp (LONGINT tag)
|
||||||
{
|
{
|
||||||
OPT_Struct _o_result;
|
OPT_Struct _o_result;
|
||||||
if (tag == 5) {
|
if (tag == 4) {
|
||||||
_o_result = OPT_IntType(OPM_SymRInt());
|
_o_result = OPT_IntType(OPM_SymRInt());
|
||||||
return _o_result;
|
return _o_result;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -1055,20 +1055,20 @@ static void OPT_InStruct (OPT_Struct *typ)
|
||||||
}
|
}
|
||||||
switch (tag) {
|
switch (tag) {
|
||||||
case 36:
|
case 36:
|
||||||
(*typ)->form = 13;
|
(*typ)->form = 11;
|
||||||
(*typ)->size = OPM_PointerSize;
|
(*typ)->size = OPM_PointerSize;
|
||||||
(*typ)->n = 0;
|
(*typ)->n = 0;
|
||||||
OPT_InStruct(&(*typ)->BaseTyp);
|
OPT_InStruct(&(*typ)->BaseTyp);
|
||||||
break;
|
break;
|
||||||
case 37:
|
case 37:
|
||||||
(*typ)->form = 15;
|
(*typ)->form = 13;
|
||||||
(*typ)->comp = 2;
|
(*typ)->comp = 2;
|
||||||
OPT_InStruct(&(*typ)->BaseTyp);
|
OPT_InStruct(&(*typ)->BaseTyp);
|
||||||
(*typ)->n = OPM_SymRInt();
|
(*typ)->n = OPM_SymRInt();
|
||||||
(*OPT_typSize)(*typ);
|
(*OPT_typSize)(*typ);
|
||||||
break;
|
break;
|
||||||
case 38:
|
case 38:
|
||||||
(*typ)->form = 15;
|
(*typ)->form = 13;
|
||||||
(*typ)->comp = 3;
|
(*typ)->comp = 3;
|
||||||
OPT_InStruct(&(*typ)->BaseTyp);
|
OPT_InStruct(&(*typ)->BaseTyp);
|
||||||
if ((*typ)->BaseTyp->comp == 3) {
|
if ((*typ)->BaseTyp->comp == 3) {
|
||||||
|
|
@ -1079,7 +1079,7 @@ static void OPT_InStruct (OPT_Struct *typ)
|
||||||
(*OPT_typSize)(*typ);
|
(*OPT_typSize)(*typ);
|
||||||
break;
|
break;
|
||||||
case 39:
|
case 39:
|
||||||
(*typ)->form = 15;
|
(*typ)->form = 13;
|
||||||
(*typ)->comp = 4;
|
(*typ)->comp = 4;
|
||||||
OPT_InStruct(&(*typ)->BaseTyp);
|
OPT_InStruct(&(*typ)->BaseTyp);
|
||||||
if ((*typ)->BaseTyp == OPT_notyp) {
|
if ((*typ)->BaseTyp == OPT_notyp) {
|
||||||
|
|
@ -1113,7 +1113,7 @@ static void OPT_InStruct (OPT_Struct *typ)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 40:
|
case 40:
|
||||||
(*typ)->form = 14;
|
(*typ)->form = 12;
|
||||||
(*typ)->size = OPM_ProcSize;
|
(*typ)->size = OPM_ProcSize;
|
||||||
OPT_InSign(mno, &(*typ)->BaseTyp, &(*typ)->link);
|
OPT_InSign(mno, &(*typ)->BaseTyp, &(*typ)->link);
|
||||||
break;
|
break;
|
||||||
|
|
@ -1192,7 +1192,7 @@ static OPT_Object OPT_InObj (SHORTINT mno)
|
||||||
obj = OPT_NewObj();
|
obj = OPT_NewObj();
|
||||||
obj->mnolev = -mno;
|
obj->mnolev = -mno;
|
||||||
obj->vis = 1;
|
obj->vis = 1;
|
||||||
if (tag <= 13) {
|
if (tag <= 11) {
|
||||||
obj->mode = 3;
|
obj->mode = 3;
|
||||||
obj->conval = OPT_NewConst();
|
obj->conval = OPT_NewConst();
|
||||||
OPT_InConstant(tag, obj->conval);
|
OPT_InConstant(tag, obj->conval);
|
||||||
|
|
@ -1289,7 +1289,7 @@ void OPT_Import (OPS_Name aliasName, OPS_Name name, BOOLEAN *done)
|
||||||
obj->scope = OPT_syslink;
|
obj->scope = OPT_syslink;
|
||||||
obj->typ = OPT_notyp;
|
obj->typ = OPT_notyp;
|
||||||
} else {
|
} else {
|
||||||
OPT_impCtxt.nofr = 16;
|
OPT_impCtxt.nofr = 14;
|
||||||
OPT_impCtxt.minr = 255;
|
OPT_impCtxt.minr = 255;
|
||||||
OPT_impCtxt.nofm = 0;
|
OPT_impCtxt.nofm = 0;
|
||||||
OPT_impCtxt.self = __STRCMP(aliasName, "@self") == 0;
|
OPT_impCtxt.self = __STRCMP(aliasName, "@self") == 0;
|
||||||
|
|
@ -1356,7 +1356,7 @@ static void OPT_OutHdFld (OPT_Struct typ, OPT_Object fld, LONGINT adr)
|
||||||
n = btyp->n * n;
|
n = btyp->n * n;
|
||||||
btyp = btyp->BaseTyp;
|
btyp = btyp->BaseTyp;
|
||||||
}
|
}
|
||||||
if (btyp->form == 13 || btyp->comp == 4) {
|
if (btyp->form == 11 || btyp->comp == 4) {
|
||||||
j = OPT_nofhdfld;
|
j = OPT_nofhdfld;
|
||||||
OPT_OutHdFld(btyp, fld, adr);
|
OPT_OutHdFld(btyp, fld, adr);
|
||||||
if (j != OPT_nofhdfld) {
|
if (j != OPT_nofhdfld) {
|
||||||
|
|
@ -1368,7 +1368,7 @@ static void OPT_OutHdFld (OPT_Struct typ, OPT_Object fld, LONGINT adr)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (typ->form == 13 || __STRCMP(fld->name, "@ptr") == 0) {
|
} else if (typ->form == 11 || __STRCMP(fld->name, "@ptr") == 0) {
|
||||||
OPM_SymWInt(27);
|
OPM_SymWInt(27);
|
||||||
OPM_SymWInt(adr);
|
OPM_SymWInt(adr);
|
||||||
OPT_nofhdfld += 1;
|
OPT_nofhdfld += 1;
|
||||||
|
|
@ -1440,7 +1440,7 @@ static void OPT_OutStr (OPT_Struct typ)
|
||||||
OPT_Object strobj = NIL;
|
OPT_Object strobj = NIL;
|
||||||
if (typ->ref < OPT_expCtxt.ref) {
|
if (typ->ref < OPT_expCtxt.ref) {
|
||||||
OPM_SymWInt(-typ->ref);
|
OPM_SymWInt(-typ->ref);
|
||||||
if (typ->ref == 5) {
|
if (typ->ref == 4) {
|
||||||
OPM_SymWInt(typ->size);
|
OPM_SymWInt(typ->size);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -1475,15 +1475,15 @@ static void OPT_OutStr (OPT_Struct typ)
|
||||||
OPM_SymWInt(typ->sysflag);
|
OPM_SymWInt(typ->sysflag);
|
||||||
}
|
}
|
||||||
switch (typ->form) {
|
switch (typ->form) {
|
||||||
case 13:
|
case 11:
|
||||||
OPM_SymWInt(36);
|
OPM_SymWInt(36);
|
||||||
OPT_OutStr(typ->BaseTyp);
|
OPT_OutStr(typ->BaseTyp);
|
||||||
break;
|
break;
|
||||||
case 14:
|
case 12:
|
||||||
OPM_SymWInt(40);
|
OPM_SymWInt(40);
|
||||||
OPT_OutSign(typ->BaseTyp, typ->link);
|
OPT_OutSign(typ->BaseTyp, typ->link);
|
||||||
break;
|
break;
|
||||||
case 15:
|
case 13:
|
||||||
switch (typ->comp) {
|
switch (typ->comp) {
|
||||||
case 2:
|
case 2:
|
||||||
OPM_SymWInt(37);
|
OPM_SymWInt(37);
|
||||||
|
|
@ -1538,24 +1538,24 @@ static void OPT_OutConstant (OPT_Object obj)
|
||||||
case 2: case 3:
|
case 2: case 3:
|
||||||
OPM_SymWCh((CHAR)obj->conval->intval);
|
OPM_SymWCh((CHAR)obj->conval->intval);
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 4:
|
||||||
OPM_SymWInt(obj->conval->intval);
|
OPM_SymWInt(obj->conval->intval);
|
||||||
OPM_SymWInt(obj->typ->size);
|
OPM_SymWInt(obj->typ->size);
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 7:
|
||||||
OPM_SymWSet(obj->conval->setval);
|
OPM_SymWSet(obj->conval->setval);
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 5:
|
||||||
rval = obj->conval->realval;
|
rval = obj->conval->realval;
|
||||||
OPM_SymWReal(rval);
|
OPM_SymWReal(rval);
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 6:
|
||||||
OPM_SymWLReal(obj->conval->realval);
|
OPM_SymWLReal(obj->conval->realval);
|
||||||
break;
|
break;
|
||||||
case 10:
|
case 8:
|
||||||
OPT_OutName((void*)*obj->conval->ext, 256);
|
OPT_OutName((void*)*obj->conval->ext, 256);
|
||||||
break;
|
break;
|
||||||
case 11:
|
case 9:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
OPT_err(127);
|
OPT_err(127);
|
||||||
|
|
@ -1669,7 +1669,7 @@ void OPT_Export (BOOLEAN *ext, BOOLEAN *new)
|
||||||
OPM_SymWInt(16);
|
OPM_SymWInt(16);
|
||||||
OPT_OutName((void*)OPT_SelfName, 256);
|
OPT_OutName((void*)OPT_SelfName, 256);
|
||||||
OPT_expCtxt.reffp = 0;
|
OPT_expCtxt.reffp = 0;
|
||||||
OPT_expCtxt.ref = 16;
|
OPT_expCtxt.ref = 14;
|
||||||
OPT_expCtxt.nofm = 1;
|
OPT_expCtxt.nofm = 1;
|
||||||
OPT_expCtxt.locmno[0] = 0;
|
OPT_expCtxt.locmno[0] = 0;
|
||||||
i = 1;
|
i = 1;
|
||||||
|
|
@ -1845,16 +1845,16 @@ export void *OPT__init(void)
|
||||||
OPM_errpos = 0;
|
OPM_errpos = 0;
|
||||||
OPT_InitStruct(&OPT_undftyp, 0);
|
OPT_InitStruct(&OPT_undftyp, 0);
|
||||||
OPT_undftyp->BaseTyp = OPT_undftyp;
|
OPT_undftyp->BaseTyp = OPT_undftyp;
|
||||||
OPT_InitStruct(&OPT_notyp, 12);
|
OPT_InitStruct(&OPT_notyp, 10);
|
||||||
OPT_InitStruct(&OPT_stringtyp, 10);
|
OPT_InitStruct(&OPT_stringtyp, 8);
|
||||||
OPT_InitStruct(&OPT_niltyp, 11);
|
OPT_InitStruct(&OPT_niltyp, 9);
|
||||||
OPT_EnterTyp((CHAR*)"BYTE", 1, OPM_ByteSize, &OPT_bytetyp);
|
OPT_EnterTyp((CHAR*)"BYTE", 1, OPM_ByteSize, &OPT_bytetyp);
|
||||||
OPT_EnterTyp((CHAR*)"PTR", 13, OPM_PointerSize, &OPT_sysptrtyp);
|
OPT_EnterTyp((CHAR*)"PTR", 11, OPM_PointerSize, &OPT_sysptrtyp);
|
||||||
OPT_EnterTyp((CHAR*)"ADRINT", 5, OPM_PointerSize, &OPT_ainttyp);
|
OPT_EnterTyp((CHAR*)"ADRINT", 4, OPM_PointerSize, &OPT_ainttyp);
|
||||||
OPT_EnterTyp((CHAR*)"INT8", 5, 1, &OPT_int8typ);
|
OPT_EnterTyp((CHAR*)"INT8", 4, 1, &OPT_int8typ);
|
||||||
OPT_EnterTyp((CHAR*)"INT16", 5, 2, &OPT_int16typ);
|
OPT_EnterTyp((CHAR*)"INT16", 4, 2, &OPT_int16typ);
|
||||||
OPT_EnterTyp((CHAR*)"INT32", 5, 4, &OPT_int32typ);
|
OPT_EnterTyp((CHAR*)"INT32", 4, 4, &OPT_int32typ);
|
||||||
OPT_EnterTyp((CHAR*)"INT64", 5, 8, &OPT_int64typ);
|
OPT_EnterTyp((CHAR*)"INT64", 4, 8, &OPT_int64typ);
|
||||||
OPT_EnterProc((CHAR*)"ADR", 20);
|
OPT_EnterProc((CHAR*)"ADR", 20);
|
||||||
OPT_EnterProc((CHAR*)"CC", 21);
|
OPT_EnterProc((CHAR*)"CC", 21);
|
||||||
OPT_EnterProc((CHAR*)"LSH", 22);
|
OPT_EnterProc((CHAR*)"LSH", 22);
|
||||||
|
|
@ -1872,12 +1872,12 @@ export void *OPT__init(void)
|
||||||
OPT_topScope->right = NIL;
|
OPT_topScope->right = NIL;
|
||||||
OPT_EnterTyp((CHAR*)"BOOLEAN", 2, OPM_BoolSize, &OPT_booltyp);
|
OPT_EnterTyp((CHAR*)"BOOLEAN", 2, OPM_BoolSize, &OPT_booltyp);
|
||||||
OPT_EnterTyp((CHAR*)"CHAR", 3, OPM_CharSize, &OPT_chartyp);
|
OPT_EnterTyp((CHAR*)"CHAR", 3, OPM_CharSize, &OPT_chartyp);
|
||||||
OPT_EnterTyp((CHAR*)"SET", 9, OPM_SetSize, &OPT_settyp);
|
OPT_EnterTyp((CHAR*)"SET", 7, OPM_SetSize, &OPT_settyp);
|
||||||
OPT_EnterTyp((CHAR*)"REAL", 7, OPM_RealSize, &OPT_realtyp);
|
OPT_EnterTyp((CHAR*)"REAL", 5, OPM_RealSize, &OPT_realtyp);
|
||||||
OPT_EnterTyp((CHAR*)"INTEGER", 5, OPM_IntSize, &OPT_inttyp);
|
OPT_EnterTyp((CHAR*)"INTEGER", 4, OPM_IntSize, &OPT_inttyp);
|
||||||
OPT_EnterTyp((CHAR*)"LONGINT", 5, OPM_LIntSize, &OPT_linttyp);
|
OPT_EnterTyp((CHAR*)"LONGINT", 4, OPM_LIntSize, &OPT_linttyp);
|
||||||
OPT_EnterTyp((CHAR*)"LONGREAL", 8, OPM_LRealSize, &OPT_lrltyp);
|
OPT_EnterTyp((CHAR*)"LONGREAL", 6, OPM_LRealSize, &OPT_lrltyp);
|
||||||
OPT_EnterTyp((CHAR*)"SHORTINT", 5, OPM_SIntSize, &OPT_sinttyp);
|
OPT_EnterTyp((CHAR*)"SHORTINT", 4, OPM_SIntSize, &OPT_sinttyp);
|
||||||
OPT_EnterBoolConst((CHAR*)"FALSE", 0);
|
OPT_EnterBoolConst((CHAR*)"FALSE", 0);
|
||||||
OPT_EnterBoolConst((CHAR*)"TRUE", 1);
|
OPT_EnterBoolConst((CHAR*)"TRUE", 1);
|
||||||
OPT_EnterProc((CHAR*)"HALT", 0);
|
OPT_EnterProc((CHAR*)"HALT", 0);
|
||||||
|
|
@ -1905,14 +1905,14 @@ export void *OPT__init(void)
|
||||||
OPT_impCtxt.ref[1] = OPT_bytetyp;
|
OPT_impCtxt.ref[1] = OPT_bytetyp;
|
||||||
OPT_impCtxt.ref[2] = OPT_booltyp;
|
OPT_impCtxt.ref[2] = OPT_booltyp;
|
||||||
OPT_impCtxt.ref[3] = OPT_chartyp;
|
OPT_impCtxt.ref[3] = OPT_chartyp;
|
||||||
OPT_impCtxt.ref[5] = OPT_inttyp;
|
OPT_impCtxt.ref[4] = OPT_inttyp;
|
||||||
OPT_impCtxt.ref[7] = OPT_realtyp;
|
OPT_impCtxt.ref[5] = OPT_realtyp;
|
||||||
OPT_impCtxt.ref[8] = OPT_lrltyp;
|
OPT_impCtxt.ref[6] = OPT_lrltyp;
|
||||||
OPT_impCtxt.ref[9] = OPT_settyp;
|
OPT_impCtxt.ref[7] = OPT_settyp;
|
||||||
OPT_impCtxt.ref[10] = OPT_stringtyp;
|
OPT_impCtxt.ref[8] = OPT_stringtyp;
|
||||||
OPT_impCtxt.ref[11] = OPT_niltyp;
|
OPT_impCtxt.ref[9] = OPT_niltyp;
|
||||||
OPT_impCtxt.ref[12] = OPT_notyp;
|
OPT_impCtxt.ref[10] = OPT_notyp;
|
||||||
OPT_impCtxt.ref[13] = OPT_sysptrtyp;
|
OPT_impCtxt.ref[11] = OPT_sysptrtyp;
|
||||||
OPT_IntTypes[1] = OPT_sinttyp;
|
OPT_IntTypes[1] = OPT_sinttyp;
|
||||||
OPT_IntTypes[2] = OPT_inttyp;
|
OPT_IntTypes[2] = OPT_inttyp;
|
||||||
OPT_IntTypes[3] = OPT_linttyp;
|
OPT_IntTypes[3] = OPT_linttyp;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* voc 1.95 [2016/08/31] for gcc LP64 on cygwin xtspkaSfF */
|
/* voc 1.95 [2016/09/01] for gcc LP64 on cygwin xtspkaSfF */
|
||||||
|
|
||||||
#ifndef OPT__h
|
#ifndef OPT__h
|
||||||
#define OPT__h
|
#define OPT__h
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue