PROGRAM BEGIN VAR IDENT: i ; IDENT: j ; IDENT: k IDENT IDENT: integer ; VAR IDENT: x ; IDENT: y ; IDENT: z IDENT IDENT: real ; VAR IDENT: s IDENT IDENT: string ; VAR IDENT: a ; IDENT: b ; IDENT: c IDENT IDENT: boolean ; PROCEDURE IDENT: f COLON IDENT: x IDENT IDENT: real ; COLON IDENT: s IDENT IDENT: string ; COLON IDENT: a IDENT IDENT: boolean IDENT IDENT: integer BEGIN null IF GTR AND IDENT: a IDENT: x INT: 0 IF EQ OR IDENT: a IDENT: x IDENT: abc ASSMNT IDENT: f IDENT: a ASSMNT IDENT: f PLUS IDENT: a INT: 1 null ; PROCEDURE IDENT: g null IDENT IDENT: IntArray BEGIN VAR IDENT: a0 ARRAY INT: 0 IDENT IDENT: integer ; VAR IDENT: a1 ARRAY INT: 10 IDENT IDENT: integer ; VAR IDENT: a2 ARRAY INT: 10 ARRAY INT: 20 ARRAY INT: 30 IDENT IDENT: integer ASSMNT IDENT: g IDENT: a0 ; EOF ASSMNT IDENT: i MINUS PLUS IDENT: j TIMES IDENT: k INT: 10 PROCEDURE IDENT: f IDENT: x ; IDENT: s ; IDENT: a ; PROCEDURE IDENT: print IDENT: i ; EOF Level 0 Symtab Contents: Symbol: a, Type: IDENT, is ref: false, mem loc: 0 Symbol: g, Type: IDENT Level 1 Symtab Contents: Symbol: a2, Type: ARRAY, is ref: false, mem loc: 0 Symbol: a1, Type: ARRAY, is ref: false, mem loc: 0 Symbol: a0, Type: ARRAY, is ref: false, mem loc: 0 Symbol: b, Type: IDENT, is ref: false, mem loc: 0 Symbol: f, Type: IDENT Formals: COLON IDENT: x IDENT IDENT: real ; COLON IDENT: s IDENT IDENT: string ; COLON IDENT: a IDENT IDENT: boolean Level 1 Symtab Contents: Symbol: a, Type: IDENT, is ref: false, mem loc: 0 Symbol: s, Type: IDENT, is ref: false, mem loc: 0 Symbol: x, Type: IDENT, is ref: false, mem loc: 0 Symbol: c, Type: IDENT, is ref: false, mem loc: 0 Symbol: z, Type: IDENT, is ref: false, mem loc: 0 Symbol: y, Type: IDENT, is ref: false, mem loc: 0 Symbol: x, Type: IDENT, is ref: false, mem loc: 0 Symbol: i, Type: IDENT, is ref: false, mem loc: 0 Symbol: s, Type: IDENT, is ref: false, mem loc: 0 Symbol: k, Type: IDENT, is ref: false, mem loc: 0 Symbol: j, Type: IDENT, is ref: false, mem loc: 0