/********************************************************************
   Program :  Recursive Descent Compiler for PL/0
   Module  :  PL0GLOB - Global Types and Declarations
   File    :  pl0glob.h
   Compiler:  Borland C 3.1 - 4.5, GNU C 2.7.1
   Author  :  H. Weber
   Revision:  Aug. 1998
********************************************************************/

/*  symbols of PL/0  */
#define  lf         -1        /* new line in listing */
#define  nul         0
#define  ident       1
#define  number      2
#define  plus        3
#define  minus       4
#define  times       5
#define  slash       6
#define  oddsym      7
#define  eql         8
#define  neq         9
#define  lss        10
#define  leq        11
#define  gtr        12
#define  geq        13
#define  lparen     14
#define  rparen     15
#define  comma      16
#define  semicolon  17
#define  period     18
#define  becomes    19
#define  beginsym   20
#define  endsym     21
#define  ifsym      22
#define  thensym    23
#define  whilesym   24
#define  dosym      25
#define  callsym    26
#define  constsym   27
#define  varsym     28
#define  procsym    29
#define  readsym    30
#define  writesym   31
#define  writelnsym 32
#define  stringsym  33
#define  elsesym    39
#define  colon      40

/* list of reserved words */
char *word[] = { "null",
                 "begin",
                 "call",
                 "const",
                 "do",
                 "else",
                 "end",
                 "if",
                 "odd",
                 "procedure",
                 "read",
                 "then",
                 "var",
                 "while",
                 "write",
                 "writeln"
               };

/* list of internal repres. of res. words */
int  wsym[] =  { nul,
                 beginsym,
                 callsym,
                 constsym,
                 dosym,
                 elsesym,
                 endsym,
                 ifsym,
                 oddsym,
                 procsym,
                 readsym,
                 thensym,
                 varsym,
                 whilesym,
                 writesym,
                 writelnsym
               };

/* list of special symbols */
int ssym[256];

