www.pudn.com > subpas.rar > parse.v


############################################################################# 
#                     U N R E G I S T E R E D   C O P Y 
#  
# You are on day 60 of your 30 day trial period. 
#  
# This file was produced by an UNREGISTERED COPY of Parser Generator. It is 
# for evaluation purposes only. If you continue to use Parser Generator 30 
# days after installation then you are required to purchase a license. For 
# more information see the online help or go to the Bumble-Bee Software 
# homepage at: 
#  
# http://www.bumblebeesoftware.com 
#  
# This notice must remain present in the file. It cannot be removed. 
############################################################################# 
 
############################################################################# 
# parse.v 
# YACC verbose file generated from parse.y. 
#  
# Date: 08/29/05 
# Time: 23:35:14 
#  
# AYACC Version: 2.07 
############################################################################# 
 
 
############################################################################## 
# Rules 
############################################################################## 
 
    0  $accept : program $end 
 
    1  $$1 : 
 
    2  program : PROGRAM ID $$1 LP identifier_list RP SEMI declarations subprogram_declarations compound_statement 
 
    3  identifier_list : ID 
    4                  | identifier_list COMMA id 
 
    5  id : ID 
 
    6  declarations : VAR declaration SEMI 
    7               | 
 
    8  declaration : declaration SEMI identifier_list COLON type 
    9              | identifier_list COLON type 
 
   10  type : standard_type 
 
   11  $$2 : 
 
   12  $$3 : 
 
   13  type : ARRAY LSP NUM $$2 DOT DOT NUM $$3 RSP OF standard_type 
 
   14  standard_type : INTEGER 
   15                | REAL 
   16                | BOOLEAN 
 
   17  subprogram_declarations : subprogram_declarations subprogram_declaration SEMI 
   18                          | 
 
   19  subprogram_declaration : subprogram_head declarations compound_statement 
 
   20  $$4 : 
 
   21  subprogram_head : FUNCTION ID $$4 arguments COLON standard_type SEMI 
 
   22  $$5 : 
 
   23  subprogram_head : PROCEDURE ID $$5 arguments SEMI 
 
   24  arguments : LP parameter_list RP 
   25            | 
 
   26  parameter_list : identifier_list COLON type 
   27                 | parameter_list SEMI identifier_list COLON type 
   28                 | VAR identifier_list COLON type 
   29                 | parameter_list SEMI VAR identifier_list COLON type 
   30                 | 
 
   31  compound_statement : MYBEGIN optional_statements END 
 
   32  optional_statements : statement_list SEMI 
   33                      | statement_list 
   34                      | 
 
   35  statement_list : statement 
   36                 | statement_list SEMI statement 
 
   37  $$6 : 
 
   38  statement : variable ASSIGNOP $$6 expression 
   39            | procedure_statement 
   40            | compound_statement 
   41            | IF expression THEN statement ELSE statement 
   42            | WHILE expression DO statement 
 
   43  variable : ID 
 
   44  $$7 : 
 
   45  variable : ID $$7 LSP expression RSP 
 
   46  procedure_statement : ID 
 
   47  $$8 : 
 
   48  procedure_statement : ID $$8 LP expression_list RP 
 
   49  expression_list : expression 
   50                  | expression_list COMMA expression 
   51                  | 
 
   52  expression : simple_expression 
   53             | simple_expression relop simple_expression 
 
   54  simple_expression : term 
   55                    | simple_expression addop term 
 
   56  term : factor 
   57       | sign factor 
   58       | term mulop factor 
 
   59  factor : ID 
 
   60  $$9 : 
 
   61  factor : ID $$9 LP expression_list RP 
 
   62  $$10 : 
 
   63  factor : ID $$10 LSP expression RSP 
   64         | NUM 
   65         | REALNUM 
   66         | MYTRUE 
   67         | MYFALSE 
   68         | LP expression RP 
   69         | NOT factor 
 
   70  relop : EQ 
   71        | NE 
   72        | LT 
   73        | LE 
   74        | GT 
   75        | GE 
 
   76  addop : PLUS 
   77        | MINUS 
   78        | OR 
 
   79  mulop : TIMES 
   80        | OVER 
   81        | DIV 
   82        | MOD 
   83        | AND 
 
   84  sign : PLUS 
   85       | MINUS 
 
 
############################################################################## 
# States 
############################################################################## 
 
state 0 
	$accept : . program $end 
 
	PROGRAM  shift 1 
 
	program  goto 2 
 
 
state 1 
	program : PROGRAM . ID $$1 LP identifier_list RP SEMI declarations subprogram_declarations compound_statement 
 
	ID  shift 3 
 
 
state 2 
	$accept : program . $end  (0) 
 
	$end  accept 
 
 
state 3 
	program : PROGRAM ID . $$1 LP identifier_list RP SEMI declarations subprogram_declarations compound_statement 
	$$1 : .  (1) 
 
	.  reduce 1 
 
	$$1  goto 4 
 
 
state 4 
	program : PROGRAM ID $$1 . LP identifier_list RP SEMI declarations subprogram_declarations compound_statement 
 
	LP  shift 5 
 
 
state 5 
	program : PROGRAM ID $$1 LP . identifier_list RP SEMI declarations subprogram_declarations compound_statement 
 
	ID  shift 6 
 
	identifier_list  goto 7 
 
 
state 6 
	identifier_list : ID .  (3) 
 
	.  reduce 3 
 
 
state 7 
	program : PROGRAM ID $$1 LP identifier_list . RP SEMI declarations subprogram_declarations compound_statement 
	identifier_list : identifier_list . COMMA id 
 
	COMMA  shift 8 
	RP  shift 9 
 
 
state 8 
	identifier_list : identifier_list COMMA . id 
 
	ID  shift 10 
 
	id  goto 11 
 
 
state 9 
	program : PROGRAM ID $$1 LP identifier_list RP . SEMI declarations subprogram_declarations compound_statement 
 
	SEMI  shift 12 
 
 
state 10 
	id : ID .  (5) 
 
	.  reduce 5 
 
 
state 11 
	identifier_list : identifier_list COMMA id .  (4) 
 
	.  reduce 4 
 
 
state 12 
	program : PROGRAM ID $$1 LP identifier_list RP SEMI . declarations subprogram_declarations compound_statement 
	declarations : .  (7) 
 
	VAR  shift 13 
	.  reduce 7 
 
	declarations  goto 14 
 
 
state 13 
	declarations : VAR . declaration SEMI 
 
	ID  shift 6 
 
	identifier_list  goto 15 
	declaration  goto 16 
 
 
state 14 
	program : PROGRAM ID $$1 LP identifier_list RP SEMI declarations . subprogram_declarations compound_statement 
	subprogram_declarations : .  (18) 
 
	.  reduce 18 
 
	subprogram_declarations  goto 17 
 
 
state 15 
	identifier_list : identifier_list . COMMA id 
	declaration : identifier_list . COLON type 
 
	COLON  shift 18 
	COMMA  shift 8 
 
 
state 16 
	declarations : VAR declaration . SEMI 
	declaration : declaration . SEMI identifier_list COLON type 
 
	SEMI  shift 19 
 
 
state 17 
	program : PROGRAM ID $$1 LP identifier_list RP SEMI declarations subprogram_declarations . compound_statement 
	subprogram_declarations : subprogram_declarations . subprogram_declaration SEMI 
 
	FUNCTION  shift 20 
	MYBEGIN  shift 21 
	PROCEDURE  shift 22 
 
	subprogram_declaration  goto 23 
	subprogram_head  goto 24 
	compound_statement  goto 25 
 
 
state 18 
	declaration : identifier_list COLON . type 
 
	ARRAY  shift 26 
	BOOLEAN  shift 27 
	INTEGER  shift 28 
	REAL  shift 29 
 
	type  goto 30 
	standard_type  goto 31 
 
 
state 19 
	declarations : VAR declaration SEMI .  (6) 
	declaration : declaration SEMI . identifier_list COLON type 
 
	ID  shift 6 
	.  reduce 6 
 
	identifier_list  goto 32 
 
 
state 20 
	subprogram_head : FUNCTION . ID $$4 arguments COLON standard_type SEMI 
 
	ID  shift 33 
 
 
state 21 
	compound_statement : MYBEGIN . optional_statements END 
	optional_statements : .  (34) 
 
	IF  shift 34 
	MYBEGIN  shift 21 
	WHILE  shift 35 
	ID  shift 36 
	.  reduce 34 
 
	compound_statement  goto 37 
	optional_statements  goto 38 
	statement_list  goto 39 
	statement  goto 40 
	variable  goto 41 
	procedure_statement  goto 42 
 
 
state 22 
	subprogram_head : PROCEDURE . ID $$5 arguments SEMI 
 
	ID  shift 43 
 
 
state 23 
	subprogram_declarations : subprogram_declarations subprogram_declaration . SEMI 
 
	SEMI  shift 44 
 
 
state 24 
	subprogram_declaration : subprogram_head . declarations compound_statement 
	declarations : .  (7) 
 
	VAR  shift 13 
	.  reduce 7 
 
	declarations  goto 45 
 
 
state 25 
	program : PROGRAM ID $$1 LP identifier_list RP SEMI declarations subprogram_declarations compound_statement .  (2) 
 
	.  reduce 2 
 
 
state 26 
	type : ARRAY . LSP NUM $$2 DOT DOT NUM $$3 RSP OF standard_type 
 
	LSP  shift 46 
 
 
state 27 
	standard_type : BOOLEAN .  (16) 
 
	.  reduce 16 
 
 
state 28 
	standard_type : INTEGER .  (14) 
 
	.  reduce 14 
 
 
state 29 
	standard_type : REAL .  (15) 
 
	.  reduce 15 
 
 
state 30 
	declaration : identifier_list COLON type .  (9) 
 
	.  reduce 9 
 
 
state 31 
	type : standard_type .  (10) 
 
	.  reduce 10 
 
 
state 32 
	identifier_list : identifier_list . COMMA id 
	declaration : declaration SEMI identifier_list . COLON type 
 
	COLON  shift 47 
	COMMA  shift 8 
 
 
state 33 
	subprogram_head : FUNCTION ID . $$4 arguments COLON standard_type SEMI 
	$$4 : .  (20) 
 
	.  reduce 20 
 
	$$4  goto 48 
 
 
state 34 
	statement : IF . expression THEN statement ELSE statement 
 
	MYFALSE  shift 49 
	NOT  shift 50 
	MYTRUE  shift 51 
	ID  shift 52 
	NUM  shift 53 
	REALNUM  shift 54 
	LP  shift 55 
	PLUS  shift 56 
	MINUS  shift 57 
 
	expression  goto 58 
	simple_expression  goto 59 
	term  goto 60 
	factor  goto 61 
	sign  goto 62 
 
 
state 35 
	statement : WHILE . expression DO statement 
 
	MYFALSE  shift 49 
	NOT  shift 50 
	MYTRUE  shift 51 
	ID  shift 52 
	NUM  shift 53 
	REALNUM  shift 54 
	LP  shift 55 
	PLUS  shift 56 
	MINUS  shift 57 
 
	expression  goto 63 
	simple_expression  goto 59 
	term  goto 60 
	factor  goto 61 
	sign  goto 62 
 
 
state 36 
	variable : ID .  (43) 
	variable : ID . $$7 LSP expression RSP 
	procedure_statement : ID .  (46) 
	procedure_statement : ID . $$8 LP expression_list RP 
	$$7 : .  (44) 
	$$8 : .  (47) 
 
	ASSIGNOP  reduce 43 
	LSP  reduce 44 
	LP  reduce 47 
	.  reduce 46 
 
	$$7  goto 64 
	$$8  goto 65 
 
 
state 37 
	statement : compound_statement .  (40) 
 
	.  reduce 40 
 
 
state 38 
	compound_statement : MYBEGIN optional_statements . END 
 
	END  shift 66 
 
 
state 39 
	optional_statements : statement_list . SEMI 
	optional_statements : statement_list .  (33) 
	statement_list : statement_list . SEMI statement 
 
	SEMI  shift 67 
	.  reduce 33 
 
 
state 40 
	statement_list : statement .  (35) 
 
	.  reduce 35 
 
 
state 41 
	statement : variable . ASSIGNOP $$6 expression 
 
	ASSIGNOP  shift 68 
 
 
state 42 
	statement : procedure_statement .  (39) 
 
	.  reduce 39 
 
 
state 43 
	subprogram_head : PROCEDURE ID . $$5 arguments SEMI 
	$$5 : .  (22) 
 
	.  reduce 22 
 
	$$5  goto 69 
 
 
state 44 
	subprogram_declarations : subprogram_declarations subprogram_declaration SEMI .  (17) 
 
	.  reduce 17 
 
 
state 45 
	subprogram_declaration : subprogram_head declarations . compound_statement 
 
	MYBEGIN  shift 21 
 
	compound_statement  goto 70 
 
 
state 46 
	type : ARRAY LSP . NUM $$2 DOT DOT NUM $$3 RSP OF standard_type 
 
	NUM  shift 71 
 
 
state 47 
	declaration : declaration SEMI identifier_list COLON . type 
 
	ARRAY  shift 26 
	BOOLEAN  shift 27 
	INTEGER  shift 28 
	REAL  shift 29 
 
	type  goto 72 
	standard_type  goto 31 
 
 
state 48 
	subprogram_head : FUNCTION ID $$4 . arguments COLON standard_type SEMI 
	arguments : .  (25) 
 
	LP  shift 73 
	.  reduce 25 
 
	arguments  goto 74 
 
 
state 49 
	factor : MYFALSE .  (67) 
 
	.  reduce 67 
 
 
state 50 
	factor : NOT . factor 
 
	MYFALSE  shift 49 
	NOT  shift 50 
	MYTRUE  shift 51 
	ID  shift 52 
	NUM  shift 53 
	REALNUM  shift 54 
	LP  shift 55 
 
	factor  goto 75 
 
 
state 51 
	factor : MYTRUE .  (66) 
 
	.  reduce 66 
 
 
state 52 
	factor : ID .  (59) 
	factor : ID . $$9 LP expression_list RP 
	factor : ID . $$10 LSP expression RSP 
	$$9 : .  (60) 
	$$10 : .  (62) 
 
	LSP  reduce 62 
	LP  reduce 60 
	.  reduce 59 
 
	$$9  goto 76 
	$$10  goto 77 
 
 
state 53 
	factor : NUM .  (64) 
 
	.  reduce 64 
 
 
state 54 
	factor : REALNUM .  (65) 
 
	.  reduce 65 
 
 
state 55 
	factor : LP . expression RP 
 
	MYFALSE  shift 49 
	NOT  shift 50 
	MYTRUE  shift 51 
	ID  shift 52 
	NUM  shift 53 
	REALNUM  shift 54 
	LP  shift 55 
	PLUS  shift 56 
	MINUS  shift 57 
 
	expression  goto 78 
	simple_expression  goto 59 
	term  goto 60 
	factor  goto 61 
	sign  goto 62 
 
 
state 56 
	sign : PLUS .  (84) 
 
	.  reduce 84 
 
 
state 57 
	sign : MINUS .  (85) 
 
	.  reduce 85 
 
 
state 58 
	statement : IF expression . THEN statement ELSE statement 
 
	THEN  shift 79 
 
 
state 59 
	expression : simple_expression .  (52) 
	expression : simple_expression . relop simple_expression 
	simple_expression : simple_expression . addop term 
 
	OR  shift 80 
	EQ  shift 81 
	NE  shift 82 
	LT  shift 83 
	LE  shift 84 
	GT  shift 85 
	GE  shift 86 
	PLUS  shift 87 
	MINUS  shift 88 
	.  reduce 52 
 
	relop  goto 89 
	addop  goto 90 
 
 
state 60 
	simple_expression : term .  (54) 
	term : term . mulop factor 
 
	AND  shift 91 
	TIMES  shift 92 
	OVER  shift 93 
	DIV  shift 94 
	MOD  shift 95 
	.  reduce 54 
 
	mulop  goto 96 
 
 
state 61 
	term : factor .  (56) 
 
	.  reduce 56 
 
 
state 62 
	term : sign . factor 
 
	MYFALSE  shift 49 
	NOT  shift 50 
	MYTRUE  shift 51 
	ID  shift 52 
	NUM  shift 53 
	REALNUM  shift 54 
	LP  shift 55 
 
	factor  goto 97 
 
 
state 63 
	statement : WHILE expression . DO statement 
 
	DO  shift 98 
 
 
state 64 
	variable : ID $$7 . LSP expression RSP 
 
	LSP  shift 99 
 
 
state 65 
	procedure_statement : ID $$8 . LP expression_list RP 
 
	LP  shift 100 
 
 
state 66 
	compound_statement : MYBEGIN optional_statements END .  (31) 
 
	.  reduce 31 
 
 
state 67 
	optional_statements : statement_list SEMI .  (32) 
	statement_list : statement_list SEMI . statement 
 
	IF  shift 34 
	MYBEGIN  shift 21 
	WHILE  shift 35 
	ID  shift 36 
	.  reduce 32 
 
	compound_statement  goto 37 
	statement  goto 101 
	variable  goto 41 
	procedure_statement  goto 42 
 
 
state 68 
	statement : variable ASSIGNOP . $$6 expression 
	$$6 : .  (37) 
 
	.  reduce 37 
 
	$$6  goto 102 
 
 
state 69 
	subprogram_head : PROCEDURE ID $$5 . arguments SEMI 
	arguments : .  (25) 
 
	LP  shift 73 
	.  reduce 25 
 
	arguments  goto 103 
 
 
state 70 
	subprogram_declaration : subprogram_head declarations compound_statement .  (19) 
 
	.  reduce 19 
 
 
state 71 
	type : ARRAY LSP NUM . $$2 DOT DOT NUM $$3 RSP OF standard_type 
	$$2 : .  (11) 
 
	.  reduce 11 
 
	$$2  goto 104 
 
 
state 72 
	declaration : declaration SEMI identifier_list COLON type .  (8) 
 
	.  reduce 8 
 
 
state 73 
	arguments : LP . parameter_list RP 
	parameter_list : .  (30) 
 
	VAR  shift 105 
	ID  shift 6 
	.  reduce 30 
 
	identifier_list  goto 106 
	parameter_list  goto 107 
 
 
state 74 
	subprogram_head : FUNCTION ID $$4 arguments . COLON standard_type SEMI 
 
	COLON  shift 108 
 
 
state 75 
	factor : NOT factor .  (69) 
 
	.  reduce 69 
 
 
state 76 
	factor : ID $$9 . LP expression_list RP 
 
	LP  shift 109 
 
 
state 77 
	factor : ID $$10 . LSP expression RSP 
 
	LSP  shift 110 
 
 
state 78 
	factor : LP expression . RP 
 
	RP  shift 111 
 
 
state 79 
	statement : IF expression THEN . statement ELSE statement 
 
	IF  shift 34 
	MYBEGIN  shift 21 
	WHILE  shift 35 
	ID  shift 36 
 
	compound_statement  goto 37 
	statement  goto 112 
	variable  goto 41 
	procedure_statement  goto 42 
 
 
state 80 
	addop : OR .  (78) 
 
	.  reduce 78 
 
 
state 81 
	relop : EQ .  (70) 
 
	.  reduce 70 
 
 
state 82 
	relop : NE .  (71) 
 
	.  reduce 71 
 
 
state 83 
	relop : LT .  (72) 
 
	.  reduce 72 
 
 
state 84 
	relop : LE .  (73) 
 
	.  reduce 73 
 
 
state 85 
	relop : GT .  (74) 
 
	.  reduce 74 
 
 
state 86 
	relop : GE .  (75) 
 
	.  reduce 75 
 
 
state 87 
	addop : PLUS .  (76) 
 
	.  reduce 76 
 
 
state 88 
	addop : MINUS .  (77) 
 
	.  reduce 77 
 
 
state 89 
	expression : simple_expression relop . simple_expression 
 
	MYFALSE  shift 49 
	NOT  shift 50 
	MYTRUE  shift 51 
	ID  shift 52 
	NUM  shift 53 
	REALNUM  shift 54 
	LP  shift 55 
	PLUS  shift 56 
	MINUS  shift 57 
 
	simple_expression  goto 113 
	term  goto 60 
	factor  goto 61 
	sign  goto 62 
 
 
state 90 
	simple_expression : simple_expression addop . term 
 
	MYFALSE  shift 49 
	NOT  shift 50 
	MYTRUE  shift 51 
	ID  shift 52 
	NUM  shift 53 
	REALNUM  shift 54 
	LP  shift 55 
	PLUS  shift 56 
	MINUS  shift 57 
 
	term  goto 114 
	factor  goto 61 
	sign  goto 62 
 
 
state 91 
	mulop : AND .  (83) 
 
	.  reduce 83 
 
 
state 92 
	mulop : TIMES .  (79) 
 
	.  reduce 79 
 
 
state 93 
	mulop : OVER .  (80) 
 
	.  reduce 80 
 
 
state 94 
	mulop : DIV .  (81) 
 
	.  reduce 81 
 
 
state 95 
	mulop : MOD .  (82) 
 
	.  reduce 82 
 
 
state 96 
	term : term mulop . factor 
 
	MYFALSE  shift 49 
	NOT  shift 50 
	MYTRUE  shift 51 
	ID  shift 52 
	NUM  shift 53 
	REALNUM  shift 54 
	LP  shift 55 
 
	factor  goto 115 
 
 
state 97 
	term : sign factor .  (57) 
 
	.  reduce 57 
 
 
state 98 
	statement : WHILE expression DO . statement 
 
	IF  shift 34 
	MYBEGIN  shift 21 
	WHILE  shift 35 
	ID  shift 36 
 
	compound_statement  goto 37 
	statement  goto 116 
	variable  goto 41 
	procedure_statement  goto 42 
 
 
state 99 
	variable : ID $$7 LSP . expression RSP 
 
	MYFALSE  shift 49 
	NOT  shift 50 
	MYTRUE  shift 51 
	ID  shift 52 
	NUM  shift 53 
	REALNUM  shift 54 
	LP  shift 55 
	PLUS  shift 56 
	MINUS  shift 57 
 
	expression  goto 117 
	simple_expression  goto 59 
	term  goto 60 
	factor  goto 61 
	sign  goto 62 
 
 
state 100 
	procedure_statement : ID $$8 LP . expression_list RP 
	expression_list : .  (51) 
 
	MYFALSE  shift 49 
	NOT  shift 50 
	MYTRUE  shift 51 
	ID  shift 52 
	NUM  shift 53 
	REALNUM  shift 54 
	LP  shift 55 
	PLUS  shift 56 
	MINUS  shift 57 
	.  reduce 51 
 
	expression_list  goto 118 
	expression  goto 119 
	simple_expression  goto 59 
	term  goto 60 
	factor  goto 61 
	sign  goto 62 
 
 
state 101 
	statement_list : statement_list SEMI statement .  (36) 
 
	.  reduce 36 
 
 
state 102 
	statement : variable ASSIGNOP $$6 . expression 
 
	MYFALSE  shift 49 
	NOT  shift 50 
	MYTRUE  shift 51 
	ID  shift 52 
	NUM  shift 53 
	REALNUM  shift 54 
	LP  shift 55 
	PLUS  shift 56 
	MINUS  shift 57 
 
	expression  goto 120 
	simple_expression  goto 59 
	term  goto 60 
	factor  goto 61 
	sign  goto 62 
 
 
state 103 
	subprogram_head : PROCEDURE ID $$5 arguments . SEMI 
 
	SEMI  shift 121 
 
 
state 104 
	type : ARRAY LSP NUM $$2 . DOT DOT NUM $$3 RSP OF standard_type 
 
	DOT  shift 122 
 
 
state 105 
	parameter_list : VAR . identifier_list COLON type 
 
	ID  shift 6 
 
	identifier_list  goto 123 
 
 
state 106 
	identifier_list : identifier_list . COMMA id 
	parameter_list : identifier_list . COLON type 
 
	COLON  shift 124 
	COMMA  shift 8 
 
 
state 107 
	arguments : LP parameter_list . RP 
	parameter_list : parameter_list . SEMI identifier_list COLON type 
	parameter_list : parameter_list . SEMI VAR identifier_list COLON type 
 
	SEMI  shift 125 
	RP  shift 126 
 
 
state 108 
	subprogram_head : FUNCTION ID $$4 arguments COLON . standard_type SEMI 
 
	BOOLEAN  shift 27 
	INTEGER  shift 28 
	REAL  shift 29 
 
	standard_type  goto 127 
 
 
state 109 
	factor : ID $$9 LP . expression_list RP 
	expression_list : .  (51) 
 
	MYFALSE  shift 49 
	NOT  shift 50 
	MYTRUE  shift 51 
	ID  shift 52 
	NUM  shift 53 
	REALNUM  shift 54 
	LP  shift 55 
	PLUS  shift 56 
	MINUS  shift 57 
	.  reduce 51 
 
	expression_list  goto 128 
	expression  goto 119 
	simple_expression  goto 59 
	term  goto 60 
	factor  goto 61 
	sign  goto 62 
 
 
state 110 
	factor : ID $$10 LSP . expression RSP 
 
	MYFALSE  shift 49 
	NOT  shift 50 
	MYTRUE  shift 51 
	ID  shift 52 
	NUM  shift 53 
	REALNUM  shift 54 
	LP  shift 55 
	PLUS  shift 56 
	MINUS  shift 57 
 
	expression  goto 129 
	simple_expression  goto 59 
	term  goto 60 
	factor  goto 61 
	sign  goto 62 
 
 
state 111 
	factor : LP expression RP .  (68) 
 
	.  reduce 68 
 
 
state 112 
	statement : IF expression THEN statement . ELSE statement 
 
	ELSE  shift 130 
 
 
state 113 
	expression : simple_expression relop simple_expression .  (53) 
	simple_expression : simple_expression . addop term 
 
	OR  shift 80 
	PLUS  shift 87 
	MINUS  shift 88 
	.  reduce 53 
 
	addop  goto 90 
 
 
state 114 
	simple_expression : simple_expression addop term .  (55) 
	term : term . mulop factor 
 
	AND  shift 91 
	TIMES  shift 92 
	OVER  shift 93 
	DIV  shift 94 
	MOD  shift 95 
	.  reduce 55 
 
	mulop  goto 96 
 
 
state 115 
	term : term mulop factor .  (58) 
 
	.  reduce 58 
 
 
state 116 
	statement : WHILE expression DO statement .  (42) 
 
	.  reduce 42 
 
 
state 117 
	variable : ID $$7 LSP expression . RSP 
 
	RSP  shift 131 
 
 
state 118 
	procedure_statement : ID $$8 LP expression_list . RP 
	expression_list : expression_list . COMMA expression 
 
	COMMA  shift 132 
	RP  shift 133 
 
 
state 119 
	expression_list : expression .  (49) 
 
	.  reduce 49 
 
 
state 120 
	statement : variable ASSIGNOP $$6 expression .  (38) 
 
	.  reduce 38 
 
 
state 121 
	subprogram_head : PROCEDURE ID $$5 arguments SEMI .  (23) 
 
	.  reduce 23 
 
 
state 122 
	type : ARRAY LSP NUM $$2 DOT . DOT NUM $$3 RSP OF standard_type 
 
	DOT  shift 134 
 
 
state 123 
	identifier_list : identifier_list . COMMA id 
	parameter_list : VAR identifier_list . COLON type 
 
	COLON  shift 135 
	COMMA  shift 8 
 
 
state 124 
	parameter_list : identifier_list COLON . type 
 
	ARRAY  shift 26 
	BOOLEAN  shift 27 
	INTEGER  shift 28 
	REAL  shift 29 
 
	type  goto 136 
	standard_type  goto 31 
 
 
state 125 
	parameter_list : parameter_list SEMI . identifier_list COLON type 
	parameter_list : parameter_list SEMI . VAR identifier_list COLON type 
 
	VAR  shift 137 
	ID  shift 6 
 
	identifier_list  goto 138 
 
 
state 126 
	arguments : LP parameter_list RP .  (24) 
 
	.  reduce 24 
 
 
state 127 
	subprogram_head : FUNCTION ID $$4 arguments COLON standard_type . SEMI 
 
	SEMI  shift 139 
 
 
state 128 
	expression_list : expression_list . COMMA expression 
	factor : ID $$9 LP expression_list . RP 
 
	COMMA  shift 132 
	RP  shift 140 
 
 
state 129 
	factor : ID $$10 LSP expression . RSP 
 
	RSP  shift 141 
 
 
state 130 
	statement : IF expression THEN statement ELSE . statement 
 
	IF  shift 34 
	MYBEGIN  shift 21 
	WHILE  shift 35 
	ID  shift 36 
 
	compound_statement  goto 37 
	statement  goto 142 
	variable  goto 41 
	procedure_statement  goto 42 
 
 
state 131 
	variable : ID $$7 LSP expression RSP .  (45) 
 
	.  reduce 45 
 
 
state 132 
	expression_list : expression_list COMMA . expression 
 
	MYFALSE  shift 49 
	NOT  shift 50 
	MYTRUE  shift 51 
	ID  shift 52 
	NUM  shift 53 
	REALNUM  shift 54 
	LP  shift 55 
	PLUS  shift 56 
	MINUS  shift 57 
 
	expression  goto 143 
	simple_expression  goto 59 
	term  goto 60 
	factor  goto 61 
	sign  goto 62 
 
 
state 133 
	procedure_statement : ID $$8 LP expression_list RP .  (48) 
 
	.  reduce 48 
 
 
state 134 
	type : ARRAY LSP NUM $$2 DOT DOT . NUM $$3 RSP OF standard_type 
 
	NUM  shift 144 
 
 
state 135 
	parameter_list : VAR identifier_list COLON . type 
 
	ARRAY  shift 26 
	BOOLEAN  shift 27 
	INTEGER  shift 28 
	REAL  shift 29 
 
	type  goto 145 
	standard_type  goto 31 
 
 
state 136 
	parameter_list : identifier_list COLON type .  (26) 
 
	.  reduce 26 
 
 
state 137 
	parameter_list : parameter_list SEMI VAR . identifier_list COLON type 
 
	ID  shift 6 
 
	identifier_list  goto 146 
 
 
state 138 
	identifier_list : identifier_list . COMMA id 
	parameter_list : parameter_list SEMI identifier_list . COLON type 
 
	COLON  shift 147 
	COMMA  shift 8 
 
 
state 139 
	subprogram_head : FUNCTION ID $$4 arguments COLON standard_type SEMI .  (21) 
 
	.  reduce 21 
 
 
state 140 
	factor : ID $$9 LP expression_list RP .  (61) 
 
	.  reduce 61 
 
 
state 141 
	factor : ID $$10 LSP expression RSP .  (63) 
 
	.  reduce 63 
 
 
state 142 
	statement : IF expression THEN statement ELSE statement .  (41) 
 
	.  reduce 41 
 
 
state 143 
	expression_list : expression_list COMMA expression .  (50) 
 
	.  reduce 50 
 
 
state 144 
	type : ARRAY LSP NUM $$2 DOT DOT NUM . $$3 RSP OF standard_type 
	$$3 : .  (12) 
 
	.  reduce 12 
 
	$$3  goto 148 
 
 
state 145 
	parameter_list : VAR identifier_list COLON type .  (28) 
 
	.  reduce 28 
 
 
state 146 
	identifier_list : identifier_list . COMMA id 
	parameter_list : parameter_list SEMI VAR identifier_list . COLON type 
 
	COLON  shift 149 
	COMMA  shift 8 
 
 
state 147 
	parameter_list : parameter_list SEMI identifier_list COLON . type 
 
	ARRAY  shift 26 
	BOOLEAN  shift 27 
	INTEGER  shift 28 
	REAL  shift 29 
 
	type  goto 150 
	standard_type  goto 31 
 
 
state 148 
	type : ARRAY LSP NUM $$2 DOT DOT NUM $$3 . RSP OF standard_type 
 
	RSP  shift 151 
 
 
state 149 
	parameter_list : parameter_list SEMI VAR identifier_list COLON . type 
 
	ARRAY  shift 26 
	BOOLEAN  shift 27 
	INTEGER  shift 28 
	REAL  shift 29 
 
	type  goto 152 
	standard_type  goto 31 
 
 
state 150 
	parameter_list : parameter_list SEMI identifier_list COLON type .  (27) 
 
	.  reduce 27 
 
 
state 151 
	type : ARRAY LSP NUM $$2 DOT DOT NUM $$3 RSP . OF standard_type 
 
	OF  shift 153 
 
 
state 152 
	parameter_list : parameter_list SEMI VAR identifier_list COLON type .  (29) 
 
	.  reduce 29 
 
 
state 153 
	type : ARRAY LSP NUM $$2 DOT DOT NUM $$3 RSP OF . standard_type 
 
	BOOLEAN  shift 27 
	INTEGER  shift 28 
	REAL  shift 29 
 
	standard_type  goto 154 
 
 
state 154 
	type : ARRAY LSP NUM $$2 DOT DOT NUM $$3 RSP OF standard_type .  (13) 
 
	.  reduce 13 
 
 
############################################################################## 
# Summary 
############################################################################## 
 
47 token(s), 38 nonterminal(s) 
86 grammar rule(s), 155 state(s) 
 
 
############################################################################## 
# End of File 
##############################################################################