home *** CD-ROM | disk | FTP | other *** search
- UNIT Init;
-
- INTERFACE
-
- USES Global, ScanCode;
-
- PROCEDURE InitStNames;
- PROCEDURE InitStandardTypes;
- PROCEDURE InitStdNames;
- PROCEDURE InitUndeclared;
- PROCEDURE InitScalars;
- PROCEDURE InitSets;
- PROCEDURE InitTables;
-
-
- IMPLEMENTATION
-
- PROCEDURE InitStNames;
-
- BEGIN
- Na[ 1] := 'FALSE '; Na[ 2] := 'TRUE '; Na[ 3] := 'INPUT ';
- Na[ 4] := 'OUTPUT '; Na[ 5] := 'GET '; Na[ 6] := 'PUT ';
- Na[ 7] := 'RESET '; Na[ 8] := 'REWRITE '; Na[ 9] := 'READ ';
- Na[10] := 'WRITE '; Na[11] := 'PACK '; Na[12] := 'UNPACK ';
- Na[13] := 'NEW '; Na[14] := 'RELEASE '; Na[15] := 'READLN ';
- Na[16] := 'WRITELN ';
- Na[17] := 'ABS '; Na[18] := 'SQR '; Na[19] := 'TRUNC ';
- Na[20] := 'ODD '; Na[21] := 'ORD '; Na[22] := 'CHR ';
- Na[23] := 'PRED '; Na[24] := 'SUCC '; Na[25] := 'EOF ';
- Na[26] := 'EOLN ';
- Na[27] := 'SIN '; Na[28] := 'COS '; Na[29] := 'EXP ';
- Na[30] := 'SQRT '; Na[31] := 'LN '; Na[32] := 'ARCTAN ';
- Na[33] := 'CLOSE '; Na[34] := 'ROUND '; Na[35] := 'MARK ';
- Na[36] := 'DISPOSE '; Na[37] := 'MAXINT ';
- END;
-
-
- PROCEDURE InitStandardTypes;
-
- VAR Sp: StP;
-
- BEGIN
- New(IntPtr);
- WITH IntPtr^ DO BEGIN
- Size := IntSize; Form := Scalar; ScalKind := Standard
- END;
- New(LongPtr);
- WITH LongPtr^ DO BEGIN
- Size := LongSize; Form := Scalar; ScalKind := Standard
- END;
- New(RealPtr);
- WITH RealPtr^ DO BEGIN
- Size := RealSize; Form := Scalar; ScalKind := Standard
- END;
- New(CharPtr);
- WITH CharPtr^ DO BEGIN
- Size := CharSize; Form := Scalar; ScalKind := Standard
- END;
- New(BooleanPtr);
- WITH BooleanPtr^ DO BEGIN
- Size := BoolSize; Form := Scalar; ScalKind := Declared
- END;
- New(NilPtr);
- WITH NilPtr^ DO BEGIN
- ElType := NIL; Size := PtrSize; Form := Pointers
- END;
- New(ParmPtr);
- WITH ParmPtr^ DO BEGIN
- Size := ParmSize; Form := Scalar; ScalKind := Standard
- END;
- New(TextPtr);
- WITH TextPtr^ DO BEGIN
- FileType := CharPtr; Size := CharSize+1; (* FILEHANDLE *)
- Form := Files
- END
- END;
-
-
- PROCEDURE InitStdNames;
-
- VAR cp, cp1: KonstP;
- i: INTEGER;
-
- BEGIN
- New(cp);
- WITH cp^ DO BEGIN
- Name := 'INTEGER '; BezType := IntPtr; Klass := TypeClass
- END;
- InsertID(cp);
- New(cp);
- WITH cp^ DO BEGIN
- Name := 'REAL '; BezType := RealPtr; Klass := TypeClass
- END;
- InsertID(cp);
- New(cp);
- WITH cp^ DO BEGIN
- Name := 'CHAR '; BezType := CharPtr; Klass := TypeClass
- END;
- InsertID(cp);
- New(cp);
- WITH cp^ DO BEGIN
- Name := 'BOOLEAN '; BezType := BooleanPtr; Klass := TypeClass
- END;
- InsertID(cp);
- New(cp);
- WITH cp^ DO BEGIN
- Name := 'LONGINT '; BezType := LongPtr; Klass := TypeClass
- END;
- InsertID(cp);
- New(cp);
- WITH cp^ DO BEGIN
- Name := 'TEXT '; BezType := TextPtr; Klass := TypeClass
- END;
- InsertID(cp);
- cp1 := NIL;
- FOR i := 1 TO 2 DO BEGIN
- New(cp);
- WITH cp^ DO BEGIN
- Name := Na[i]; BezType := BooleanPtr; Next := cp1;
- Values.GanzeZahl := i-1; Klass := KonstKlasse
- END;
- InsertID(cp); cp1 := cp;
- END;
- BooleanPtr^.ScalConst := cp;
- New(cp);
- WITH cp^ DO BEGIN
- Name := 'NIL ' ; BezType := NilPtr; Next := NIL;
- Values.GanzeZahl := 0; Klass := KonstKlasse
- END;
- InsertID(cp);
- FOR i := 3 TO 4 DO BEGIN
- New(cp);
- WITH cp^ DO BEGIN
- Name := Na[i]; BezType := TextPtr; Klass := VarClass;
- VarKind := Actual; Next := NIL; VarsBSt := 1;
- VarAddr := VirginLocStk + (i-3) * (CharMax+1);
- END;
- InsertID(cp)
- END;
- New(cp); (* CLOSE *)
- WITH cp^ DO BEGIN
- Name := Na[33]; BezType := NIL; Next := NIL;
- Key := 17; Klass := ProcClass; IsDeclDas := Standard;
- END;
- InsertID(cp);
- FOR i := 5 TO 16 DO BEGIN
- New(cp);
- WITH cp^ DO BEGIN
- Name := Na[i]; BezType := NIL; Next := NIL;
- Key := i-4; Klass := ProcClass; IsDeclDas := Standard
- END;
- InsertID(cp)
- END;
- New(cp);
- WITH cp^ DO BEGIN
- Name := Na[35]; BezType := NIL; Next := NIL;
- Key := 13; Klass := ProcClass; IsDeclDas := Standard
- END;
- InsertID(cp);
- New(cp); (* DISPOSE *)
- WITH cp^ DO BEGIN
- Name := Na[36]; BezType := NIL; Next := NIL;
- Key := 16; Klass := ProcClass; IsDeclDas := Standard
- END;
- InsertID(cp);
- FOR i := 17 TO 26 DO BEGIN
- New(cp);
- WITH cp^ DO BEGIN
- Name := Na[i]; BezType := NIL; Next := NIL;
- Key := i-16; Klass := FuncClass; IsDeclDas := Standard
- END;
- InsertID(cp)
- END;
- New(cp); (* ROUND *)
- WITH cp^ DO BEGIN
- Name := Na[34]; BezType := NIL; Next := NIL;
- Key := 11; Klass := FuncClass; IsDeclDas := Standard;
- END;
- InsertID(cp);
- New(cp);
- WITH cp^ DO BEGIN
- Name := ' '; BezType := RealPtr; Klass := VarClass;
- VarKind := Actual; Next := NIL; VarsBSt := 1; VarAddr := 0
- END;
- FOR i := 27 TO 32 DO BEGIN
- New(cp1);
- WITH cp1^ DO BEGIN
- Name := Na[i]; BezType := RealPtr; Next := cp;
- IsForwDecl := FALSE; Extern := TRUE; ProcBSt := 0; ProcLabel := i-12;
- Klass := FuncClass; IsDeclDas := Declared; IsKind := Actual
- END;
- InsertID(cp1)
- END;
- New(cp);
- WITH cp^ DO BEGIN
- Name := Na[37]; BezType := IntPtr; Next := NIL;
- Values.GanzeZahl := MaxInt; Klass := KonstKlasse
- END;
- InsertID(cp);
- END;
-
-
- PROCEDURE InitUndeclared;
-
- BEGIN
- New(UTypPtr);
- WITH UTypPtr^ DO BEGIN
- Name := ' '; BezType := NIL; Klass := TypeClass
- END;
- New(UCstPtr);
- WITH UCstPtr^ DO BEGIN
- Name := ' '; BezType := NIL; Next := NIL;
- Values.GanzeZahl := 0; Klass := KonstKlasse
- END;
- New(UVarPtr);
- WITH UVarPtr^ DO BEGIN
- Name := ' '; BezType := NIL; VarKind := Actual;
- Next := NIL; VarsBSt := 0; VarAddr := 0; Klass := VarClass
- END;
- New(UFldPtr);
- WITH UFldPtr^ DO BEGIN
- Name := ' '; BezType := NIL; Next := NIL;
- FieldAddress := 0; Klass := FieldClass
- END;
- New(UPrcPtr);
- WITH UPrcPtr^ DO BEGIN
- Name := ' '; BezType := NIL; IsForwDecl := FALSE;
- Next := NIL; Extern := FALSE; ProcBSt := 0; Glab(ProcLabel);
- Klass := ProcClass; IsDeclDas := Declared; IsKind := Actual
- END;
- New(UFctPtr);
- WITH UFctPtr^ DO BEGIN
- Name := ' '; BezType := NIL; Next := NIL;
- IsForwDecl := FALSE; Extern := FALSE; ProcBSt := 0; Glab(ProcLabel);
- Klass := FuncClass; IsDeclDas := Declared; IsKind := Actual
- END
- END;
-
-
- PROCEDURE InitScalars;
-
- BEGIN
- ForwDeclType := NIL; IsPrtCode := TRUE; Debug := FALSE;
- IsErrorText := TRUE; WasLoadErrorText := FALSE; NoOfErrors := 0;
- DP := TRUE; AllowsErrors := TRUE; ErrorIndex := 0;
- IntLabel := 0; LBezLaenge := 8; FExtFileP := NIL;
- LocStk := VirginLocStk + FileBuffer * CharMax;
- ICount := 3; EoL := TRUE; LineCount := 0; LinePos := 1;
- Zeichen := ' '; IthChar := 0; GlobTestP := NIL;
- MxInt10 := MaxInt DIV 10; MaxZiffer := StringLength-1
- END;
-
-
- PROCEDURE InitSets;
-
- BEGIN
- KonstStartSy := [AddOpr,LongConst,IntConst,RealConst,StringConst,Bezeich];
- SimpleStartSymb := [lBraces] + KonstStartSy;
- TypeStartSymb := [Pointer,PackedSymb,ArraySymb,RecordSymb,
- SetSymb,FileSymb] + SimpleStartSymb;
- TypeDels := [ArraySymb,RecordSymb,SetSymb,FileSymb];
- BlockStartSy := [LabelSymb,ConstSymb,TypeSymb,VarSymb,ProcSymb,
- FuncSymb,BeginSymb];
- SelectSys := [Pointer,UpTo,lBrack];
- FactorStartSymb := [LongConst,IntConst,RealConst,StringConst,
- Bezeich,lBraces,lBrack,NotSymb];
- StatStartSymb := [BeginSymb,GotoSymb,IfSymb,WhileSymb,
- RepeatSymb,ForSymb,WithSymb,CaseSymb]
- END;
-
-
- PROCEDURE InitTables;
-
- PROCEDURE InitResWords;
-
- BEGIN
- ResWord[ 1] := 'IF '; ResWord[ 2] := 'DO ';
- ResWord[ 3] := 'OF '; ResWord[ 4] := 'TO ';
- ResWord[ 5] := 'IN '; ResWord[ 6] := 'OR ';
- ResWord[ 7] := 'END '; ResWord[ 8] := 'FOR ';
- ResWord[ 9] := 'VAR '; ResWord[10] := 'DIV ';
- ResWord[11] := 'MOD '; ResWord[12] := 'SET ';
- ResWord[13] := 'AND '; ResWord[14] := 'NOT ';
- ResWord[15] := 'THEN '; ResWord[16] := 'ELSE ';
- ResWord[17] := 'WITH '; ResWord[18] := 'GOTO ';
- ResWord[19] := 'CASE '; ResWord[20] := 'TYPE ';
- ResWord[21] := 'FILE '; ResWord[22] := 'BIOS ';
- ResWord[23] := 'BEGIN '; ResWord[24] := 'UNTIL ';
- ResWord[25] := 'WHILE '; ResWord[26] := 'ARRAY ';
- ResWord[27] := 'CONST '; ResWord[28] := 'LABEL ';
- ResWord[29] := 'XBIOS '; ResWord[30] := 'REPEAT ';
- ResWord[31] := 'RECORD '; ResWord[32] := 'DOWNTO ';
- ResWord[33] := 'PACKED '; ResWord[34] := 'GEMDOS ';
- ResWord[35] := 'VDIAES '; ResWord[36] := 'FORWARD ';
- ResWord[37] := 'PROGRAM '; ResWord[38] := 'FUNCTION';
- ResWord[39] := 'PROCEDUR';
- RWindex[1] := 1; RWindex[2] := 1;
- RWindex[3] := 7; RWindex[4] := 15;
- RWindex[5] := 23; RWindex[6] := 30;
- RWindex[7] := 36; RWindex[8] := 38;
- RWindex[9] := 40
- END;
-
-
- PROCEDURE Symbols;
-
- BEGIN
- ReSymb[ 1] := IfSymb; ReSymb[ 2] := DoSymb;
- ReSymb[ 3] := OfSymb; ReSymb[ 4] := ToSymb;
- ReSymb[ 5] := VergleichOp; ReSymb[ 6] := AddOpr;
- ReSymb[ 7] := EndSymb; ReSymb[ 8] := ForSymb;
- ReSymb[ 9] := VarSymb; ReSymb[10] := MultOpr;
- ReSymb[11] := MultOpr; ReSymb[12] := SetSymb;
- ReSymb[13] := MultOpr; ReSymb[14] := NotSymb;
- ReSymb[15] := ThenSy; ReSymb[16] := ElseSymb;
- ReSymb[17] := WithSymb; ReSymb[18] := GotoSymb;
- ReSymb[19] := CaseSymb; ReSymb[20] := TypeSymb;
- ReSymb[21] := FileSymb; ReSymb[22] := BiosSy;
- ReSymb[23] := BeginSymb; ReSymb[24] := UntilSymb;
- ReSymb[25] := WhileSymb; ReSymb[26] := ArraySymb;
- ReSymb[27] := ConstSymb; ReSymb[28] := LabelSymb;
- ReSymb[29] := XBiosSy; ReSymb[30] := RepeatSymb;
- ReSymb[31] := RecordSymb; ReSymb[32] := DownToSymb;
- ReSymb[33] := PackedSymb; ReSymb[34] := GemDosSy;
- ReSymb[35] := VdiAesSy; ReSymb[36] := ForwardSymb;
- ReSymb[37] := ProgSymb; ReSymb[38] := FuncSymb;
- ReSymb[39] := ProcSymb;
- StdSymb['+'] := AddOpr; StdSymb['-'] := AddOpr;
- StdSymb['*'] := MultOpr; StdSymb['/'] := MultOpr;
- StdSymb['('] := lBraces; StdSymb[')'] := rBrace;
- StdSymb['$'] := OtherSymb; StdSymb['='] := VergleichOp;
- StdSymb[' '] := OtherSymb; StdSymb[','] := CommaSymb;
- StdSymb['.'] := UpTo; StdSymb[''''] := OtherSymb;
- StdSymb['['] := lBrack; StdSymb[']'] := rBrack;
- StdSymb[':'] := ColonSymb; StdSymb['^'] := Pointer;
- StdSymb['<'] := VergleichOp; StdSymb['>'] := VergleichOp;
- StdSymb[';'] := Semicolon;
- END;
-
-
- PROCEDURE InitOperators;
-
- VAR i: INTEGER; Zeichen: CHAR;
-
- BEGIN
- FOR i := 1 TO 39 DO ROp[i] := NoOp;
- ROp[5] := InOp; ROp[10] := IDiv; ROp[11] := IMod;
- ROp[6] := OrOpr; ROp[13] := AndOp;
- FOR i := OrdMinChar TO OrdMaxChar DO OpS[Chr(i)] := NoOp;
- OpS['+'] := Plus; OpS['-'] := Minus;
- OpS['*'] := Mult; OpS['/'] := RDiv;
- OpS['='] := EqualOp; OpS['<'] := LessThanOp;
- OpS['>'] := GrThanOp;
- END;
-
-
- PROCEDURE InitStdProcs;
-
- BEGIN
- StdNames[ 1] := ' get'; StdNames[ 2] := ' put';
- StdNames[ 3] := ' rdi'; StdNames[ 4] := ' rdr';
- StdNames[ 5] := ' rdc'; StdNames[ 6] := ' wri';
- StdNames[ 7] := ' wro'; StdNames[ 8] := ' wrr';
- StdNames[ 9] := ' wrc'; StdNames[10] := ' wrs';
- StdNames[11] := ' pak'; StdNames[12] := ' new';
- StdNames[13] := ' rst'; StdNames[14] := ' eln';
- StdNames[15] := ' sin'; StdNames[16] := ' cos';
- StdNames[17] := ' exp'; StdNames[18] := ' sqt';
- StdNames[19] := ' log'; StdNames[20] := ' atn';
- StdNames[21] := ' rln'; StdNames[22] := ' wln';
- StdNames[23] := ' sav'; StdNames[24] := ' gmd';
- StdNames[25] := ' bio'; StdNames[26] := ' xbi';
- StdNames[27] := ' vdi'; StdNames[28] := ' dsp';
- StdNames[29] := ' rdl'; StdNames[30] := ' wrl';
- StdNames[31] := ' rwr'; StdNames[32] := ' res';
- StdNames[33] := ' cls'; StdNames[34] := ' rnd';
- END;
-
-
- PROCEDURE InitPCodeInstruction;
-
- BEGIN
- PCo[ 0] := ' abi'; PCo[ 1] := ' abr'; PCo[ 2] := ' adi';
- PCo[ 3] := ' adr'; PCo[ 4] := ' and'; PCo[ 5] := ' dif';
- PCo[ 6] := ' dvi'; PCo[ 7] := ' dvr'; PCo[ 8] := ' eof';
- PCo[ 9] := ' flo'; PCo[10] := ' flt'; PCo[11] := ' inn';
- PCo[12] := ' int'; PCo[13] := ' ior'; PCo[14] := ' mod';
- PCo[15] := ' mpi'; PCo[16] := ' mpr'; PCo[17] := ' ngi';
- PCo[18] := ' ngr'; PCo[19] := ' not'; PCo[20] := ' odd';
- PCo[21] := ' sbi'; PCo[22] := ' sbr'; PCo[23] := ' sgs';
- PCo[24] := ' sqi'; PCo[25] := ' sqr'; PCo[26] := ' sto';
- PCo[27] := ' trc'; PCo[28] := ' uni'; PCo[29] := ' stp';
- PCo[30] := ' csp'; PCo[31] := ' dec'; PCo[32] := ' ent';
- PCo[33] := ' fjp'; PCo[34] := ' inc'; PCo[35] := ' ind';
- PCo[36] := ' ixa'; PCo[37] := ' lao'; PCo[38] := ' lca';
- PCo[39] := ' ldo'; PCo[40] := ' mov'; PCo[41] := ' mst';
- PCo[42] := ' ret'; PCo[43] := ' sro'; PCo[44] := ' xjp';
- PCo[45] := ' chk'; PCo[46] := ' cup'; PCo[47] := ' equ';
- PCo[48] := ' geq'; PCo[49] := ' grt'; PCo[50] := ' lda';
- PCo[51] := ' ldc'; PCo[52] := ' leq'; PCo[53] := ' les';
- PCo[54] := ' lod'; PCo[55] := ' neq'; PCo[56] := ' str';
- PCo[57] := ' ujp'; PCo[58] := ' ord'; PCo[59] := ' chr';
- PCo[60] := ' ujc'; PCo[61] := ' sgm'; PCo[62] := ' adl';
- PCo[63] := ' sbl'; PCo[64] := ' dvl'; PCo[65] := ' mdl';
- PCo[66] := ' ilo'; PCo[67] := ' ilt'; PCo[68] := ' mpl';
- PCo[69] := ' ngl'; PCo[70] := ' lfo'; PCo[71] := ' lft';
- END;
-
-
- PROCEDURE AssignCharKind;
-
- VAR i: INTEGER;
-
- BEGIN
- FOR i := OrdMinChar TO OrdMaxChar DO CharKind[Chr(i)] := Illegal;
- CharKind['A'] := Buchst; CharKind['B'] := Buchst;
- CharKind['C'] := Buchst; CharKind['D'] := Buchst;
- CharKind['E'] := Buchst; CharKind['F'] := Buchst;
- CharKind['G'] := Buchst; CharKind['H'] := Buchst;
- CharKind['I'] := Buchst; CharKind['J'] := Buchst;
- CharKind['K'] := Buchst; CharKind['L'] := Buchst;
- CharKind['M'] := Buchst; CharKind['N'] := Buchst;
- CharKind['O'] := Buchst; CharKind['P'] := Buchst;
- CharKind['Q'] := Buchst; CharKind['R'] := Buchst;
- CharKind['S'] := Buchst; CharKind['T'] := Buchst;
- CharKind['U'] := Buchst; CharKind['V'] := Buchst;
- CharKind['W'] := Buchst; CharKind['X'] := Buchst;
- CharKind['Y'] := Buchst; CharKind['Z'] := Buchst;
- CharKind['0'] := Zahl; CharKind['1'] := Zahl;
- CharKind['2'] := Zahl; CharKind['3'] := Zahl;
- CharKind['4'] := Zahl; CharKind['5'] := Zahl;
- CharKind['6'] := Zahl; CharKind['7'] := Zahl;
- CharKind['8'] := Zahl; CharKind['9'] := Zahl;
- CharKind['+'] := Special; CharKind['-'] := Special;
- CharKind['*'] := Special; CharKind['/'] := Special;
- CharKind['('] := oBrace; CharKind[')'] := Special;
- CharKind['$'] := Special; CharKind['='] := Special;
- CharKind[' '] := Blank; CharKind[','] := Special;
- CharKind['.'] := Period; CharKind['''']:= QuotMark;
- CharKind['['] := Special; CharKind[']'] := Special;
- CharKind[':'] := Colon; CharKind['^'] := Special;
- CharKind[';'] := Special; CharKind['<'] := LessThan;
- CharKind['>'] := GreaterThan;
- CharKind['{'] := lBrace;
- END;
-
-
- PROCEDURE InitStkMov;
-
- BEGIN
- StkMov[0] := 0; StkMov[1] := 0; StkMov[2] := -1;
- StkMov[3] := -1; StkMov[4] := -1; StkMov[5] := -1;
- StkMov[6] := -1; StkMov[7] := -1; StkMov[8] := 0;
- StkMov[9] := 0; StkMov[10] := 0; StkMov[11] := -1;
- StkMov[12] := -1; StkMov[13] := -1; StkMov[14] := -1;
- StkMov[15] := -1; StkMov[16] := -1; StkMov[17] := 0;
- StkMov[18] := 0; StkMov[19] := 0; StkMov[20] := 0;
- StkMov[21] := -1; StkMov[22] := -1; StkMov[23] := 0;
- StkMov[24] := 0; StkMov[25] := 0; StkMov[26] := -2;
- StkMov[27] := 0; StkMov[28] := -1; StkMov[29] := 0;
- StkMov[30] := 0; StkMov[31] := 0; StkMov[32] := 0;
- StkMov[33] := -1; StkMov[34] := 0; StkMov[35] := 0;
- StkMov[36] := -1; StkMov[37] := 1; StkMov[38] := 1;
- StkMov[39] := 1; StkMov[40] := -2; StkMov[41] := 0;
- StkMov[42] := 0; StkMov[43] := -1; StkMov[44] := -1;
- StkMov[45] := 0; StkMov[46] := 0; StkMov[47] := -1;
- StkMov[48] := -1; StkMov[49] := -1; StkMov[50] := 1;
- StkMov[51] := 1; StkMov[52] := -1; StkMov[53] := -1;
- StkMov[54] := 1; StkMov[55] := -1; StkMov[56] := -1;
- StkMov[57] := 0; StkMov[58] := 0; StkMov[59] := 0;
- StkMov[60] := 0; StkMov[61] := 0; StkMov[62] := -1;
- StkMov[63] := -1; StkMov[64] := -1; StkMov[65] := -1;
- StkMov[66] := 0; StkMov[67] := 0; StkMov[68] := -1;
- StkMov[69] := 0; StkMov[70] := 0; StkMov[71] := 0;
- StdStkMov[ 1] := -1; StdStkMov[ 2] := -1; StdStkMov[ 3] := -2;
- StdStkMov[ 4] := -2; StdStkMov[ 5] := -2; StdStkMov[ 6] := -3;
- StdStkMov[ 7] := -3; StdStkMov[ 8] := -3; StdStkMov[ 9] := -3;
- StdStkMov[10] := -4; StdStkMov[11] := 0; StdStkMov[12] := -2;
- StdStkMov[13] := -1; StdStkMov[14] := 0; StdStkMov[15] := 0;
- StdStkMov[16] := 0; StdStkMov[17] := 0; StdStkMov[18] := 0;
- StdStkMov[19] := 0; StdStkMov[20] := 0; StdStkMov[21] := -1;
- StdStkMov[22] := -1; StdStkMov[23] := -1; StdStkMov[24] := 0;
- StdStkMov[25] := 0; StdStkMov[26] := 0; StdStkMov[27] := 0;
- StdStkMov[28] := -1; StdStkMov[29] := -2; StdStkMov[30] := -3;
- StdStkMov[31] := -3; StdStkMov[32] := -2; StdStkMov[33] := -1;
- StdStkMov[34] := 0;
- END;
-
-
- BEGIN
- InitResWords; Symbols; InitOperators;
- InitPCodeInstruction; InitStdProcs;
- AssignCharKind; InitStkMov
- END;
-
-
- BEGIN
- END.