PROGRAM PARSER(INPUT,OUTPUT); CONST NUL=0; IDENTIFIER=1; INTEGERCONSTANT=2; REALCONSTANT=3; CHARACTER=4; STRING=5; PLUS=6; MINUS=7; TIMES=8; SLASH=9; EQUAL=10; NOTEQUAL=11; LESS=12; LESSOREQUAL=13; GREATER=14; GREATEROREQUAL=15; LPARENT=16; RPARENT=17; LBRACKET=18; RBRACKET=19; BECOMES=20; PERIOD=21; COMMA=22; SEMICOLON=23; COLON=24; UPTO=25; ANDSYM=51; ARRAYSYM=52; BEGINSYM=53; CASESYM=54; CONSTSYM=55; DIVSYM=56; DOWNTOSYM=57; DOSYM=58; ELSESYM=59; ENDSYM=60; FORSYM=61; FUNKTIONSYM=62; IFSYM=63; MODSYM=64; NILSYM=65; NOTSYM=66; OFSYM=67; ORSYM=68; OTHERSSYM=69; PROZEDURESYM=70; PROGRAMSYM=71; RECORDSYM=72; REPEATSYM=73; THENSYM=74; TOSYM=75; TYPESYM=76; UNTILSYM=77; VARSYM=78; WHILESYM=79; NORW = 28; AL = 10; LLENG = 120; EMAX = 322; EMIN = -292; KMAX = 15; TMAX = 1000; BMAX = 20; CMAX = 850; SMAX = 600; LMAX = 10; ERRMAX = 60; XMAX = 2046; NMAX = 10000000000000; STACKSIZE = 100; TYPE SYMBOL = INTEGER; (*WERTE DER OBEN DEF. SYMBOLE*) ALFA = ARRAY[1..AL] OF CHAR; VAR EXIT:REAL; SYM:SYMBOL; ID:ALFA; IMUN:INTEGER; RMUN:REAL; SLENG:INTEGER; CH:CHAR; LINE: ARRAY[1..LLENG] OF CHAR; CC: INTEGER; LC: INTEGER; LL: INTEGER; ERRS: ARRAY [1..ERRMAX] OF BOOLEAN; ERRPOS: INTEGER; WORD: ARRAY[1..NORW] OF ALFA; STAB:ARRAY [1..SMAX] OF CHAR; PROCEDURE ERROR; BEGIN WRITE ("FEHLER") END; PROCEDURE FATAL(I:INTEGER); BEGIN WRITELN; WRITELN("FATALER FEHLER # ",I:2); EXIT:=1/0 END; BEGIN CH:=" " END.