Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- State 74 conflicts: 1 shift/reduce
- Grammar
- 0 $accept: Program $end
- 1 Program: DeclList
- 2 DeclList: DeclList Decl
- 3 | Decl
- 4 Decl: VariableDecl
- 5 | FunctionDecl
- 6 | ClassDecl
- 7 | InterfaceDecl
- 8 VariableDecl: Variable ';'
- 9 Variable: Type T_Identifier
- 10 VariableList: VariableList ',' Variable
- 11 | Variable
- 12 Type: T_Int
- 13 | T_Double
- 14 | T_Bool
- 15 | T_String
- 16 | T_Identifier
- 17 | Type T_Dims
- 18 Epsilon: /* empty */
- 19 FunctionDecl: Type T_Identifier '(' Formals ')' StmtBlock
- 20 | T_Void T_Identifier '(' Formals ')' StmtBlock
- 21 Formals: VariableList
- 22 | Epsilon
- 23 ClassDecl: T_Class T_Identifier T_Extends T_Identifier T_Implements IdentifierList '{' FieldList '}'
- 24 | T_Class T_Identifier '{' FieldList '}'
- 25 | T_Class T_Identifier T_Extends T_Identifier '{' FieldList '}'
- 26 | T_Class T_Identifier T_Implements IdentifierList '{' FieldList '}'
- 27 IdentifierList: IdentifierList ',' T_Identifier
- 28 | T_Identifier
- 29 Field: VariableDecl
- 30 | FunctionDecl
- 31 FieldList: FieldList Field
- 32 | Field
- 33 InterfaceDecl: T_Interface T_Identifier '{' PrototypeList '}'
- 34 Prototype: Type T_Identifier '(' Formals ')' ';'
- 35 | T_Void T_Identifier '(' Formals ')' ';'
- 36 PrototypeList: PrototypeList Prototype
- 37 | Prototype
- 38 StmtBlock: '{' VariableDeclList StmtList '}'
- 39 VariableDeclList: VariableDeclList VariableDecl
- 40 | Epsilon
- 41 Stmt: Expr ';'
- 42 | ';'
- 43 | IfStmt
- 44 | WhileStmt
- 45 | ForStmt
- 46 | BreakStmt
- 47 | ReturnStmt
- 48 | PrintStmt
- 49 | StmtBlock
- 50 StmtList: StmtList Stmt
- 51 | Epsilon
- 52 IfStmt: T_If '(' Expr ')' Stmt
- 53 | T_If '(' Expr ')' Stmt T_Else Stmt
- 54 WhileStmt: T_While '(' Expr ')' Stmt
- 55 ForStmt: T_For '(' Expr ';' Expr ';' Expr ')' Stmt
- 56 | T_For '(' ';' Expr ';' ')' Stmt
- 57 | T_For '(' Expr ';' Expr ';' ')' Stmt
- 58 | T_For '(' ';' Expr ';' Expr ')' Stmt
- 59 ReturnStmt: T_Return Expr ';'
- 60 | T_Return ';'
- 61 BreakStmt: T_Break ';'
- 62 PrintStmt: T_Print '(' ExprList ')' ';'
- 63 Expr: LValue '=' Expr
- 64 | Constant
- 65 | LValue
- 66 | T_This
- 67 | Call
- 68 | '(' Expr ')'
- 69 | Expr '+' Expr
- 70 | Expr '-' Expr
- 71 | Expr '*' Expr
- 72 | Expr '/' Expr
- 73 | Expr '%' Expr
- 74 | '-' Expr
- 75 | Expr '<' Expr
- 76 | Expr T_LessEqual Expr
- 77 | Expr '>' Expr
- 78 | Expr T_GreaterEqual Expr
- 79 | Expr T_Equal Expr
- 80 | Expr T_NotEqual Expr
- 81 | Expr T_And Expr
- 82 | Expr T_Or Expr
- 83 | '!' Expr
- 84 | T_ReadInteger '(' ')'
- 85 | T_ReadLine '(' ')'
- 86 | T_New '(' T_Identifier ')'
- 87 | T_NewArray '(' Expr ',' Type ')'
- 88 ExprList: ExprList ',' Expr
- 89 | Expr
- 90 LValue: T_Identifier
- 91 | Expr '.' T_Identifier
- 92 | Expr '[' Expr ']'
- 93 Call: T_Identifier '(' Actuals ')'
- 94 | Expr '.' T_Identifier '(' Actuals ')'
- 95 Actuals: ExprList
- 96 | Epsilon
- 97 Constant: T_IntConstant
- 98 | T_DoubleConstant
- 99 | T_BoolConstant
- 100 | T_StringConstant
- 101 | T_Null
- Terminals, with rules where they appear
- $end (0) 0
- '!' (33) 83
- '%' (37) 73
- '(' (40) 19 20 34 35 52 53 54 55 56 57 58 62 68 84 85 86 87 93 94
- ')' (41) 19 20 34 35 52 53 54 55 56 57 58 62 68 84 85 86 87 93 94
- '*' (42) 71
- '+' (43) 69
- ',' (44) 10 27 87 88
- '-' (45) 70 74
- '.' (46) 91 94
- '/' (47) 72
- ';' (59) 8 34 35 41 42 55 56 57 58 59 60 61 62
- '<' (60) 75
- '=' (61) 63
- '>' (62) 77
- '[' (91) 92
- ']' (93) 92
- '{' (123) 23 24 25 26 33 38
- '}' (125) 23 24 25 26 33 38
- error (256)
- T_Void (258) 20 35
- T_Bool (259) 14
- T_Int (260) 12
- T_Double (261) 13
- T_String (262) 15
- T_Class (263) 23 24 25 26
- T_LessEqual (264) 76
- T_GreaterEqual (265) 78
- T_Equal (266) 79
- T_NotEqual (267) 80
- T_Dims (268) 17
- T_And (269) 81
- T_Or (270) 82
- T_Null (271) 101
- T_Extends (272) 23 25
- T_This (273) 66
- T_Interface (274) 33
- T_Implements (275) 23 26
- T_While (276) 54
- T_For (277) 55 56 57 58
- T_If (278) 52 53
- T_Else (279) 53
- T_Return (280) 59 60
- T_Break (281) 61
- T_New (282) 86
- T_NewArray (283) 87
- T_Print (284) 62
- T_ReadInteger (285) 84
- T_ReadLine (286) 85
- T_Identifier (287) 9 16 19 20 23 24 25 26 27 28 33 34 35 86 90 91 93
- 94
- T_StringConstant (288) 100
- T_IntConstant (289) 97
- T_DoubleConstant (290) 98
- T_BoolConstant (291) 99
- LOWER_THAN_ELSE (292)
- Nonterminals, with rules where they appear
- $accept (56)
- on left: 0
- Program (57)
- on left: 1, on right: 0
- DeclList (58)
- on left: 2 3, on right: 1 2
- Decl (59)
- on left: 4 5 6 7, on right: 2 3
- VariableDecl (60)
- on left: 8, on right: 4 29 39
- Variable (61)
- on left: 9, on right: 8 10 11
- VariableList (62)
- on left: 10 11, on right: 10 21
- Type (63)
- on left: 12 13 14 15 16 17, on right: 9 17 19 34 87
- Epsilon (64)
- on left: 18, on right: 22 40 51 96
- FunctionDecl (65)
- on left: 19 20, on right: 5 30
- Formals (66)
- on left: 21 22, on right: 19 20 34 35
- ClassDecl (67)
- on left: 23 24 25 26, on right: 6
- IdentifierList (68)
- on left: 27 28, on right: 23 26 27
- Field (69)
- on left: 29 30, on right: 31 32
- FieldList (70)
- on left: 31 32, on right: 23 24 25 26 31
- InterfaceDecl (71)
- on left: 33, on right: 7
- Prototype (72)
- on left: 34 35, on right: 36 37
- PrototypeList (73)
- on left: 36 37, on right: 33 36
- StmtBlock (74)
- on left: 38, on right: 19 20 49
- VariableDeclList (75)
- on left: 39 40, on right: 38 39
- Stmt (76)
- on left: 41 42 43 44 45 46 47 48 49, on right: 50 52 53 54 55 56
- 57 58
- StmtList (77)
- on left: 50 51, on right: 38 50
- IfStmt (78)
- on left: 52 53, on right: 43
- WhileStmt (79)
- on left: 54, on right: 44
- ForStmt (80)
- on left: 55 56 57 58, on right: 45
- ReturnStmt (81)
- on left: 59 60, on right: 47
- BreakStmt (82)
- on left: 61, on right: 46
- PrintStmt (83)
- on left: 62, on right: 48
- Expr (84)
- on left: 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
- 81 82 83 84 85 86 87, on right: 41 52 53 54 55 56 57 58 59 63 68
- 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 87 88 89 91 92 94
- ExprList (85)
- on left: 88 89, on right: 62 88 95
- LValue (86)
- on left: 90 91 92, on right: 63 65
- Call (87)
- on left: 93 94, on right: 67
- Actuals (88)
- on left: 95 96, on right: 93 94
- Constant (89)
- on left: 97 98 99 100 101, on right: 64
- state 0
- 0 $accept: . Program $end
- T_Void shift, and go to state 1
- T_Bool shift, and go to state 2
- T_Int shift, and go to state 3
- T_Double shift, and go to state 4
- T_String shift, and go to state 5
- T_Class shift, and go to state 6
- T_Interface shift, and go to state 7
- T_Identifier shift, and go to state 8
- Program go to state 9
- DeclList go to state 10
- Decl go to state 11
- VariableDecl go to state 12
- Variable go to state 13
- Type go to state 14
- FunctionDecl go to state 15
- ClassDecl go to state 16
- InterfaceDecl go to state 17
- state 1
- 20 FunctionDecl: T_Void . T_Identifier '(' Formals ')' StmtBlock
- T_Identifier shift, and go to state 18
- state 2
- 14 Type: T_Bool .
- $default reduce using rule 14 (Type)
- state 3
- 12 Type: T_Int .
- $default reduce using rule 12 (Type)
- state 4
- 13 Type: T_Double .
- $default reduce using rule 13 (Type)
- state 5
- 15 Type: T_String .
- $default reduce using rule 15 (Type)
- state 6
- 23 ClassDecl: T_Class . T_Identifier T_Extends T_Identifier T_Implements IdentifierList '{' FieldList '}'
- 24 | T_Class . T_Identifier '{' FieldList '}'
- 25 | T_Class . T_Identifier T_Extends T_Identifier '{' FieldList '}'
- 26 | T_Class . T_Identifier T_Implements IdentifierList '{' FieldList '}'
- T_Identifier shift, and go to state 19
- state 7
- 33 InterfaceDecl: T_Interface . T_Identifier '{' PrototypeList '}'
- T_Identifier shift, and go to state 20
- state 8
- 16 Type: T_Identifier .
- $default reduce using rule 16 (Type)
- state 9
- 0 $accept: Program . $end
- $end shift, and go to state 21
- state 10
- 1 Program: DeclList .
- 2 DeclList: DeclList . Decl
- T_Void shift, and go to state 1
- T_Bool shift, and go to state 2
- T_Int shift, and go to state 3
- T_Double shift, and go to state 4
- T_String shift, and go to state 5
- T_Class shift, and go to state 6
- T_Interface shift, and go to state 7
- T_Identifier shift, and go to state 8
- $default reduce using rule 1 (Program)
- Decl go to state 22
- VariableDecl go to state 12
- Variable go to state 13
- Type go to state 14
- FunctionDecl go to state 15
- ClassDecl go to state 16
- InterfaceDecl go to state 17
- state 11
- 3 DeclList: Decl .
- $default reduce using rule 3 (DeclList)
- state 12
- 4 Decl: VariableDecl .
- $default reduce using rule 4 (Decl)
- state 13
- 8 VariableDecl: Variable . ';'
- ';' shift, and go to state 23
- state 14
- 9 Variable: Type . T_Identifier
- 17 Type: Type . T_Dims
- 19 FunctionDecl: Type . T_Identifier '(' Formals ')' StmtBlock
- T_Dims shift, and go to state 24
- T_Identifier shift, and go to state 25
- state 15
- 5 Decl: FunctionDecl .
- $default reduce using rule 5 (Decl)
- state 16
- 6 Decl: ClassDecl .
- $default reduce using rule 6 (Decl)
- state 17
- 7 Decl: InterfaceDecl .
- $default reduce using rule 7 (Decl)
- state 18
- 20 FunctionDecl: T_Void T_Identifier . '(' Formals ')' StmtBlock
- '(' shift, and go to state 26
- state 19
- 23 ClassDecl: T_Class T_Identifier . T_Extends T_Identifier T_Implements IdentifierList '{' FieldList '}'
- 24 | T_Class T_Identifier . '{' FieldList '}'
- 25 | T_Class T_Identifier . T_Extends T_Identifier '{' FieldList '}'
- 26 | T_Class T_Identifier . T_Implements IdentifierList '{' FieldList '}'
- T_Extends shift, and go to state 27
- T_Implements shift, and go to state 28
- '{' shift, and go to state 29
- state 20
- 33 InterfaceDecl: T_Interface T_Identifier . '{' PrototypeList '}'
- '{' shift, and go to state 30
- state 21
- 0 $accept: Program $end .
- $default accept
- state 22
- 2 DeclList: DeclList Decl .
- $default reduce using rule 2 (DeclList)
- state 23
- 8 VariableDecl: Variable ';' .
- $default reduce using rule 8 (VariableDecl)
- state 24
- 17 Type: Type T_Dims .
- $default reduce using rule 17 (Type)
- state 25
- 9 Variable: Type T_Identifier .
- 19 FunctionDecl: Type T_Identifier . '(' Formals ')' StmtBlock
- '(' shift, and go to state 31
- $default reduce using rule 9 (Variable)
- state 26
- 20 FunctionDecl: T_Void T_Identifier '(' . Formals ')' StmtBlock
- T_Bool shift, and go to state 2
- T_Int shift, and go to state 3
- T_Double shift, and go to state 4
- T_String shift, and go to state 5
- T_Identifier shift, and go to state 8
- $default reduce using rule 18 (Epsilon)
- Variable go to state 32
- VariableList go to state 33
- Type go to state 34
- Epsilon go to state 35
- Formals go to state 36
- state 27
- 23 ClassDecl: T_Class T_Identifier T_Extends . T_Identifier T_Implements IdentifierList '{' FieldList '}'
- 25 | T_Class T_Identifier T_Extends . T_Identifier '{' FieldList '}'
- T_Identifier shift, and go to state 37
- state 28
- 26 ClassDecl: T_Class T_Identifier T_Implements . IdentifierList '{' FieldList '}'
- T_Identifier shift, and go to state 38
- IdentifierList go to state 39
- state 29
- 24 ClassDecl: T_Class T_Identifier '{' . FieldList '}'
- T_Void shift, and go to state 1
- T_Bool shift, and go to state 2
- T_Int shift, and go to state 3
- T_Double shift, and go to state 4
- T_String shift, and go to state 5
- T_Identifier shift, and go to state 8
- VariableDecl go to state 40
- Variable go to state 13
- Type go to state 14
- FunctionDecl go to state 41
- Field go to state 42
- FieldList go to state 43
- state 30
- 33 InterfaceDecl: T_Interface T_Identifier '{' . PrototypeList '}'
- T_Void shift, and go to state 44
- T_Bool shift, and go to state 2
- T_Int shift, and go to state 3
- T_Double shift, and go to state 4
- T_String shift, and go to state 5
- T_Identifier shift, and go to state 8
- Type go to state 45
- Prototype go to state 46
- PrototypeList go to state 47
- state 31
- 19 FunctionDecl: Type T_Identifier '(' . Formals ')' StmtBlock
- T_Bool shift, and go to state 2
- T_Int shift, and go to state 3
- T_Double shift, and go to state 4
- T_String shift, and go to state 5
- T_Identifier shift, and go to state 8
- $default reduce using rule 18 (Epsilon)
- Variable go to state 32
- VariableList go to state 33
- Type go to state 34
- Epsilon go to state 35
- Formals go to state 48
- state 32
- 11 VariableList: Variable .
- $default reduce using rule 11 (VariableList)
- state 33
- 10 VariableList: VariableList . ',' Variable
- 21 Formals: VariableList .
- ',' shift, and go to state 49
- $default reduce using rule 21 (Formals)
- state 34
- 9 Variable: Type . T_Identifier
- 17 Type: Type . T_Dims
- T_Dims shift, and go to state 24
- T_Identifier shift, and go to state 50
- state 35
- 22 Formals: Epsilon .
- $default reduce using rule 22 (Formals)
- state 36
- 20 FunctionDecl: T_Void T_Identifier '(' Formals . ')' StmtBlock
- ')' shift, and go to state 51
- state 37
- 23 ClassDecl: T_Class T_Identifier T_Extends T_Identifier . T_Implements IdentifierList '{' FieldList '}'
- 25 | T_Class T_Identifier T_Extends T_Identifier . '{' FieldList '}'
- T_Implements shift, and go to state 52
- '{' shift, and go to state 53
- state 38
- 28 IdentifierList: T_Identifier .
- $default reduce using rule 28 (IdentifierList)
- state 39
- 26 ClassDecl: T_Class T_Identifier T_Implements IdentifierList . '{' FieldList '}'
- 27 IdentifierList: IdentifierList . ',' T_Identifier
- ',' shift, and go to state 54
- '{' shift, and go to state 55
- state 40
- 29 Field: VariableDecl .
- $default reduce using rule 29 (Field)
- state 41
- 30 Field: FunctionDecl .
- $default reduce using rule 30 (Field)
- state 42
- 32 FieldList: Field .
- $default reduce using rule 32 (FieldList)
- state 43
- 24 ClassDecl: T_Class T_Identifier '{' FieldList . '}'
- 31 FieldList: FieldList . Field
- T_Void shift, and go to state 1
- T_Bool shift, and go to state 2
- T_Int shift, and go to state 3
- T_Double shift, and go to state 4
- T_String shift, and go to state 5
- T_Identifier shift, and go to state 8
- '}' shift, and go to state 56
- VariableDecl go to state 40
- Variable go to state 13
- Type go to state 14
- FunctionDecl go to state 41
- Field go to state 57
- state 44
- 35 Prototype: T_Void . T_Identifier '(' Formals ')' ';'
- T_Identifier shift, and go to state 58
- state 45
- 17 Type: Type . T_Dims
- 34 Prototype: Type . T_Identifier '(' Formals ')' ';'
- T_Dims shift, and go to state 24
- T_Identifier shift, and go to state 59
- state 46
- 37 PrototypeList: Prototype .
- $default reduce using rule 37 (PrototypeList)
- state 47
- 33 InterfaceDecl: T_Interface T_Identifier '{' PrototypeList . '}'
- 36 PrototypeList: PrototypeList . Prototype
- T_Void shift, and go to state 44
- T_Bool shift, and go to state 2
- T_Int shift, and go to state 3
- T_Double shift, and go to state 4
- T_String shift, and go to state 5
- T_Identifier shift, and go to state 8
- '}' shift, and go to state 60
- Type go to state 45
- Prototype go to state 61
- state 48
- 19 FunctionDecl: Type T_Identifier '(' Formals . ')' StmtBlock
- ')' shift, and go to state 62
- state 49
- 10 VariableList: VariableList ',' . Variable
- T_Bool shift, and go to state 2
- T_Int shift, and go to state 3
- T_Double shift, and go to state 4
- T_String shift, and go to state 5
- T_Identifier shift, and go to state 8
- Variable go to state 63
- Type go to state 34
- state 50
- 9 Variable: Type T_Identifier .
- $default reduce using rule 9 (Variable)
- state 51
- 20 FunctionDecl: T_Void T_Identifier '(' Formals ')' . StmtBlock
- '{' shift, and go to state 64
- StmtBlock go to state 65
- state 52
- 23 ClassDecl: T_Class T_Identifier T_Extends T_Identifier T_Implements . IdentifierList '{' FieldList '}'
- T_Identifier shift, and go to state 38
- IdentifierList go to state 66
- state 53
- 25 ClassDecl: T_Class T_Identifier T_Extends T_Identifier '{' . FieldList '}'
- T_Void shift, and go to state 1
- T_Bool shift, and go to state 2
- T_Int shift, and go to state 3
- T_Double shift, and go to state 4
- T_String shift, and go to state 5
- T_Identifier shift, and go to state 8
- VariableDecl go to state 40
- Variable go to state 13
- Type go to state 14
- FunctionDecl go to state 41
- Field go to state 42
- FieldList go to state 67
- state 54
- 27 IdentifierList: IdentifierList ',' . T_Identifier
- T_Identifier shift, and go to state 68
- state 55
- 26 ClassDecl: T_Class T_Identifier T_Implements IdentifierList '{' . FieldList '}'
- T_Void shift, and go to state 1
- T_Bool shift, and go to state 2
- T_Int shift, and go to state 3
- T_Double shift, and go to state 4
- T_String shift, and go to state 5
- T_Identifier shift, and go to state 8
- VariableDecl go to state 40
- Variable go to state 13
- Type go to state 14
- FunctionDecl go to state 41
- Field go to state 42
- FieldList go to state 69
- state 56
- 24 ClassDecl: T_Class T_Identifier '{' FieldList '}' .
- $default reduce using rule 24 (ClassDecl)
- state 57
- 31 FieldList: FieldList Field .
- $default reduce using rule 31 (FieldList)
- state 58
- 35 Prototype: T_Void T_Identifier . '(' Formals ')' ';'
- '(' shift, and go to state 70
- state 59
- 34 Prototype: Type T_Identifier . '(' Formals ')' ';'
- '(' shift, and go to state 71
- state 60
- 33 InterfaceDecl: T_Interface T_Identifier '{' PrototypeList '}' .
- $default reduce using rule 33 (InterfaceDecl)
- state 61
- 36 PrototypeList: PrototypeList Prototype .
- $default reduce using rule 36 (PrototypeList)
- state 62
- 19 FunctionDecl: Type T_Identifier '(' Formals ')' . StmtBlock
- '{' shift, and go to state 64
- StmtBlock go to state 72
- state 63
- 10 VariableList: VariableList ',' Variable .
- $default reduce using rule 10 (VariableList)
- state 64
- 38 StmtBlock: '{' . VariableDeclList StmtList '}'
- $default reduce using rule 18 (Epsilon)
- Epsilon go to state 73
- VariableDeclList go to state 74
- state 65
- 20 FunctionDecl: T_Void T_Identifier '(' Formals ')' StmtBlock .
- $default reduce using rule 20 (FunctionDecl)
- state 66
- 23 ClassDecl: T_Class T_Identifier T_Extends T_Identifier T_Implements IdentifierList . '{' FieldList '}'
- 27 IdentifierList: IdentifierList . ',' T_Identifier
- ',' shift, and go to state 54
- '{' shift, and go to state 75
- state 67
- 25 ClassDecl: T_Class T_Identifier T_Extends T_Identifier '{' FieldList . '}'
- 31 FieldList: FieldList . Field
- T_Void shift, and go to state 1
- T_Bool shift, and go to state 2
- T_Int shift, and go to state 3
- T_Double shift, and go to state 4
- T_String shift, and go to state 5
- T_Identifier shift, and go to state 8
- '}' shift, and go to state 76
- VariableDecl go to state 40
- Variable go to state 13
- Type go to state 14
- FunctionDecl go to state 41
- Field go to state 57
- state 68
- 27 IdentifierList: IdentifierList ',' T_Identifier .
- $default reduce using rule 27 (IdentifierList)
- state 69
- 26 ClassDecl: T_Class T_Identifier T_Implements IdentifierList '{' FieldList . '}'
- 31 FieldList: FieldList . Field
- T_Void shift, and go to state 1
- T_Bool shift, and go to state 2
- T_Int shift, and go to state 3
- T_Double shift, and go to state 4
- T_String shift, and go to state 5
- T_Identifier shift, and go to state 8
- '}' shift, and go to state 77
- VariableDecl go to state 40
- Variable go to state 13
- Type go to state 14
- FunctionDecl go to state 41
- Field go to state 57
- state 70
- 35 Prototype: T_Void T_Identifier '(' . Formals ')' ';'
- T_Bool shift, and go to state 2
- T_Int shift, and go to state 3
- T_Double shift, and go to state 4
- T_String shift, and go to state 5
- T_Identifier shift, and go to state 8
- $default reduce using rule 18 (Epsilon)
- Variable go to state 32
- VariableList go to state 33
- Type go to state 34
- Epsilon go to state 35
- Formals go to state 78
- state 71
- 34 Prototype: Type T_Identifier '(' . Formals ')' ';'
- T_Bool shift, and go to state 2
- T_Int shift, and go to state 3
- T_Double shift, and go to state 4
- T_String shift, and go to state 5
- T_Identifier shift, and go to state 8
- $default reduce using rule 18 (Epsilon)
- Variable go to state 32
- VariableList go to state 33
- Type go to state 34
- Epsilon go to state 35
- Formals go to state 79
- state 72
- 19 FunctionDecl: Type T_Identifier '(' Formals ')' StmtBlock .
- $default reduce using rule 19 (FunctionDecl)
- state 73
- 40 VariableDeclList: Epsilon .
- $default reduce using rule 40 (VariableDeclList)
- state 74
- 38 StmtBlock: '{' VariableDeclList . StmtList '}'
- 39 VariableDeclList: VariableDeclList . VariableDecl
- T_Bool shift, and go to state 2
- T_Int shift, and go to state 3
- T_Double shift, and go to state 4
- T_String shift, and go to state 5
- T_Identifier shift, and go to state 8
- T_Identifier [reduce using rule 18 (Epsilon)]
- $default reduce using rule 18 (Epsilon)
- VariableDecl go to state 80
- Variable go to state 13
- Type go to state 34
- Epsilon go to state 81
- StmtList go to state 82
- state 75
- 23 ClassDecl: T_Class T_Identifier T_Extends T_Identifier T_Implements IdentifierList '{' . FieldList '}'
- T_Void shift, and go to state 1
- T_Bool shift, and go to state 2
- T_Int shift, and go to state 3
- T_Double shift, and go to state 4
- T_String shift, and go to state 5
- T_Identifier shift, and go to state 8
- VariableDecl go to state 40
- Variable go to state 13
- Type go to state 14
- FunctionDecl go to state 41
- Field go to state 42
- FieldList go to state 83
- state 76
- 25 ClassDecl: T_Class T_Identifier T_Extends T_Identifier '{' FieldList '}' .
- $default reduce using rule 25 (ClassDecl)
- state 77
- 26 ClassDecl: T_Class T_Identifier T_Implements IdentifierList '{' FieldList '}' .
- $default reduce using rule 26 (ClassDecl)
- state 78
- 35 Prototype: T_Void T_Identifier '(' Formals . ')' ';'
- ')' shift, and go to state 84
- state 79
- 34 Prototype: Type T_Identifier '(' Formals . ')' ';'
- ')' shift, and go to state 85
- state 80
- 39 VariableDeclList: VariableDeclList VariableDecl .
- $default reduce using rule 39 (VariableDeclList)
- state 81
- 51 StmtList: Epsilon .
- $default reduce using rule 51 (StmtList)
- state 82
- 38 StmtBlock: '{' VariableDeclList StmtList . '}'
- 50 StmtList: StmtList . Stmt
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_While shift, and go to state 88
- T_For shift, and go to state 89
- T_If shift, and go to state 90
- T_Return shift, and go to state 91
- T_Break shift, and go to state 92
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_Print shift, and go to state 95
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- ';' shift, and go to state 105
- '(' shift, and go to state 106
- '{' shift, and go to state 64
- '}' shift, and go to state 107
- StmtBlock go to state 108
- Stmt go to state 109
- IfStmt go to state 110
- WhileStmt go to state 111
- ForStmt go to state 112
- ReturnStmt go to state 113
- BreakStmt go to state 114
- PrintStmt go to state 115
- Expr go to state 116
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 83
- 23 ClassDecl: T_Class T_Identifier T_Extends T_Identifier T_Implements IdentifierList '{' FieldList . '}'
- 31 FieldList: FieldList . Field
- T_Void shift, and go to state 1
- T_Bool shift, and go to state 2
- T_Int shift, and go to state 3
- T_Double shift, and go to state 4
- T_String shift, and go to state 5
- T_Identifier shift, and go to state 8
- '}' shift, and go to state 120
- VariableDecl go to state 40
- Variable go to state 13
- Type go to state 14
- FunctionDecl go to state 41
- Field go to state 57
- state 84
- 35 Prototype: T_Void T_Identifier '(' Formals ')' . ';'
- ';' shift, and go to state 121
- state 85
- 34 Prototype: Type T_Identifier '(' Formals ')' . ';'
- ';' shift, and go to state 122
- state 86
- 101 Constant: T_Null .
- $default reduce using rule 101 (Constant)
- state 87
- 66 Expr: T_This .
- $default reduce using rule 66 (Expr)
- state 88
- 54 WhileStmt: T_While . '(' Expr ')' Stmt
- '(' shift, and go to state 123
- state 89
- 55 ForStmt: T_For . '(' Expr ';' Expr ';' Expr ')' Stmt
- 56 | T_For . '(' ';' Expr ';' ')' Stmt
- 57 | T_For . '(' Expr ';' Expr ';' ')' Stmt
- 58 | T_For . '(' ';' Expr ';' Expr ')' Stmt
- '(' shift, and go to state 124
- state 90
- 52 IfStmt: T_If . '(' Expr ')' Stmt
- 53 | T_If . '(' Expr ')' Stmt T_Else Stmt
- '(' shift, and go to state 125
- state 91
- 59 ReturnStmt: T_Return . Expr ';'
- 60 | T_Return . ';'
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- ';' shift, and go to state 126
- '(' shift, and go to state 106
- Expr go to state 127
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 92
- 61 BreakStmt: T_Break . ';'
- ';' shift, and go to state 128
- state 93
- 86 Expr: T_New . '(' T_Identifier ')'
- '(' shift, and go to state 129
- state 94
- 87 Expr: T_NewArray . '(' Expr ',' Type ')'
- '(' shift, and go to state 130
- state 95
- 62 PrintStmt: T_Print . '(' ExprList ')' ';'
- '(' shift, and go to state 131
- state 96
- 84 Expr: T_ReadInteger . '(' ')'
- '(' shift, and go to state 132
- state 97
- 85 Expr: T_ReadLine . '(' ')'
- '(' shift, and go to state 133
- state 98
- 90 LValue: T_Identifier .
- 93 Call: T_Identifier . '(' Actuals ')'
- '(' shift, and go to state 134
- $default reduce using rule 90 (LValue)
- state 99
- 100 Constant: T_StringConstant .
- $default reduce using rule 100 (Constant)
- state 100
- 97 Constant: T_IntConstant .
- $default reduce using rule 97 (Constant)
- state 101
- 98 Constant: T_DoubleConstant .
- $default reduce using rule 98 (Constant)
- state 102
- 99 Constant: T_BoolConstant .
- $default reduce using rule 99 (Constant)
- state 103
- 74 Expr: '-' . Expr
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- '(' shift, and go to state 106
- Expr go to state 135
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 104
- 83 Expr: '!' . Expr
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- '(' shift, and go to state 106
- Expr go to state 136
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 105
- 42 Stmt: ';' .
- $default reduce using rule 42 (Stmt)
- state 106
- 68 Expr: '(' . Expr ')'
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- '(' shift, and go to state 106
- Expr go to state 137
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 107
- 38 StmtBlock: '{' VariableDeclList StmtList '}' .
- $default reduce using rule 38 (StmtBlock)
- state 108
- 49 Stmt: StmtBlock .
- $default reduce using rule 49 (Stmt)
- state 109
- 50 StmtList: StmtList Stmt .
- $default reduce using rule 50 (StmtList)
- state 110
- 43 Stmt: IfStmt .
- $default reduce using rule 43 (Stmt)
- state 111
- 44 Stmt: WhileStmt .
- $default reduce using rule 44 (Stmt)
- state 112
- 45 Stmt: ForStmt .
- $default reduce using rule 45 (Stmt)
- state 113
- 47 Stmt: ReturnStmt .
- $default reduce using rule 47 (Stmt)
- state 114
- 46 Stmt: BreakStmt .
- $default reduce using rule 46 (Stmt)
- state 115
- 48 Stmt: PrintStmt .
- $default reduce using rule 48 (Stmt)
- state 116
- 41 Stmt: Expr . ';'
- 69 Expr: Expr . '+' Expr
- 70 | Expr . '-' Expr
- 71 | Expr . '*' Expr
- 72 | Expr . '/' Expr
- 73 | Expr . '%' Expr
- 75 | Expr . '<' Expr
- 76 | Expr . T_LessEqual Expr
- 77 | Expr . '>' Expr
- 78 | Expr . T_GreaterEqual Expr
- 79 | Expr . T_Equal Expr
- 80 | Expr . T_NotEqual Expr
- 81 | Expr . T_And Expr
- 82 | Expr . T_Or Expr
- 91 LValue: Expr . '.' T_Identifier
- 92 | Expr . '[' Expr ']'
- 94 Call: Expr . '.' T_Identifier '(' Actuals ')'
- T_LessEqual shift, and go to state 138
- T_GreaterEqual shift, and go to state 139
- T_Equal shift, and go to state 140
- T_NotEqual shift, and go to state 141
- T_And shift, and go to state 142
- T_Or shift, and go to state 143
- '<' shift, and go to state 144
- '>' shift, and go to state 145
- '+' shift, and go to state 146
- '-' shift, and go to state 147
- '*' shift, and go to state 148
- '/' shift, and go to state 149
- '%' shift, and go to state 150
- '[' shift, and go to state 151
- '.' shift, and go to state 152
- ';' shift, and go to state 153
- state 117
- 63 Expr: LValue . '=' Expr
- 65 | LValue .
- '=' shift, and go to state 154
- $default reduce using rule 65 (Expr)
- state 118
- 67 Expr: Call .
- $default reduce using rule 67 (Expr)
- state 119
- 64 Expr: Constant .
- $default reduce using rule 64 (Expr)
- state 120
- 23 ClassDecl: T_Class T_Identifier T_Extends T_Identifier T_Implements IdentifierList '{' FieldList '}' .
- $default reduce using rule 23 (ClassDecl)
- state 121
- 35 Prototype: T_Void T_Identifier '(' Formals ')' ';' .
- $default reduce using rule 35 (Prototype)
- state 122
- 34 Prototype: Type T_Identifier '(' Formals ')' ';' .
- $default reduce using rule 34 (Prototype)
- state 123
- 54 WhileStmt: T_While '(' . Expr ')' Stmt
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- '(' shift, and go to state 106
- Expr go to state 155
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 124
- 55 ForStmt: T_For '(' . Expr ';' Expr ';' Expr ')' Stmt
- 56 | T_For '(' . ';' Expr ';' ')' Stmt
- 57 | T_For '(' . Expr ';' Expr ';' ')' Stmt
- 58 | T_For '(' . ';' Expr ';' Expr ')' Stmt
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- ';' shift, and go to state 156
- '(' shift, and go to state 106
- Expr go to state 157
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 125
- 52 IfStmt: T_If '(' . Expr ')' Stmt
- 53 | T_If '(' . Expr ')' Stmt T_Else Stmt
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- '(' shift, and go to state 106
- Expr go to state 158
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 126
- 60 ReturnStmt: T_Return ';' .
- $default reduce using rule 60 (ReturnStmt)
- state 127
- 59 ReturnStmt: T_Return Expr . ';'
- 69 Expr: Expr . '+' Expr
- 70 | Expr . '-' Expr
- 71 | Expr . '*' Expr
- 72 | Expr . '/' Expr
- 73 | Expr . '%' Expr
- 75 | Expr . '<' Expr
- 76 | Expr . T_LessEqual Expr
- 77 | Expr . '>' Expr
- 78 | Expr . T_GreaterEqual Expr
- 79 | Expr . T_Equal Expr
- 80 | Expr . T_NotEqual Expr
- 81 | Expr . T_And Expr
- 82 | Expr . T_Or Expr
- 91 LValue: Expr . '.' T_Identifier
- 92 | Expr . '[' Expr ']'
- 94 Call: Expr . '.' T_Identifier '(' Actuals ')'
- T_LessEqual shift, and go to state 138
- T_GreaterEqual shift, and go to state 139
- T_Equal shift, and go to state 140
- T_NotEqual shift, and go to state 141
- T_And shift, and go to state 142
- T_Or shift, and go to state 143
- '<' shift, and go to state 144
- '>' shift, and go to state 145
- '+' shift, and go to state 146
- '-' shift, and go to state 147
- '*' shift, and go to state 148
- '/' shift, and go to state 149
- '%' shift, and go to state 150
- '[' shift, and go to state 151
- '.' shift, and go to state 152
- ';' shift, and go to state 159
- state 128
- 61 BreakStmt: T_Break ';' .
- $default reduce using rule 61 (BreakStmt)
- state 129
- 86 Expr: T_New '(' . T_Identifier ')'
- T_Identifier shift, and go to state 160
- state 130
- 87 Expr: T_NewArray '(' . Expr ',' Type ')'
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- '(' shift, and go to state 106
- Expr go to state 161
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 131
- 62 PrintStmt: T_Print '(' . ExprList ')' ';'
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- '(' shift, and go to state 106
- Expr go to state 162
- ExprList go to state 163
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 132
- 84 Expr: T_ReadInteger '(' . ')'
- ')' shift, and go to state 164
- state 133
- 85 Expr: T_ReadLine '(' . ')'
- ')' shift, and go to state 165
- state 134
- 93 Call: T_Identifier '(' . Actuals ')'
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- '(' shift, and go to state 106
- $default reduce using rule 18 (Epsilon)
- Epsilon go to state 166
- Expr go to state 162
- ExprList go to state 167
- LValue go to state 117
- Call go to state 118
- Actuals go to state 168
- Constant go to state 119
- state 135
- 69 Expr: Expr . '+' Expr
- 70 | Expr . '-' Expr
- 71 | Expr . '*' Expr
- 72 | Expr . '/' Expr
- 73 | Expr . '%' Expr
- 74 | '-' Expr .
- 75 | Expr . '<' Expr
- 76 | Expr . T_LessEqual Expr
- 77 | Expr . '>' Expr
- 78 | Expr . T_GreaterEqual Expr
- 79 | Expr . T_Equal Expr
- 80 | Expr . T_NotEqual Expr
- 81 | Expr . T_And Expr
- 82 | Expr . T_Or Expr
- 91 LValue: Expr . '.' T_Identifier
- 92 | Expr . '[' Expr ']'
- 94 Call: Expr . '.' T_Identifier '(' Actuals ')'
- '*' shift, and go to state 148
- '/' shift, and go to state 149
- '%' shift, and go to state 150
- '[' shift, and go to state 151
- '.' shift, and go to state 152
- $default reduce using rule 74 (Expr)
- state 136
- 69 Expr: Expr . '+' Expr
- 70 | Expr . '-' Expr
- 71 | Expr . '*' Expr
- 72 | Expr . '/' Expr
- 73 | Expr . '%' Expr
- 75 | Expr . '<' Expr
- 76 | Expr . T_LessEqual Expr
- 77 | Expr . '>' Expr
- 78 | Expr . T_GreaterEqual Expr
- 79 | Expr . T_Equal Expr
- 80 | Expr . T_NotEqual Expr
- 81 | Expr . T_And Expr
- 82 | Expr . T_Or Expr
- 83 | '!' Expr .
- 91 LValue: Expr . '.' T_Identifier
- 92 | Expr . '[' Expr ']'
- 94 Call: Expr . '.' T_Identifier '(' Actuals ')'
- '[' shift, and go to state 151
- '.' shift, and go to state 152
- $default reduce using rule 83 (Expr)
- state 137
- 68 Expr: '(' Expr . ')'
- 69 | Expr . '+' Expr
- 70 | Expr . '-' Expr
- 71 | Expr . '*' Expr
- 72 | Expr . '/' Expr
- 73 | Expr . '%' Expr
- 75 | Expr . '<' Expr
- 76 | Expr . T_LessEqual Expr
- 77 | Expr . '>' Expr
- 78 | Expr . T_GreaterEqual Expr
- 79 | Expr . T_Equal Expr
- 80 | Expr . T_NotEqual Expr
- 81 | Expr . T_And Expr
- 82 | Expr . T_Or Expr
- 91 LValue: Expr . '.' T_Identifier
- 92 | Expr . '[' Expr ']'
- 94 Call: Expr . '.' T_Identifier '(' Actuals ')'
- T_LessEqual shift, and go to state 138
- T_GreaterEqual shift, and go to state 139
- T_Equal shift, and go to state 140
- T_NotEqual shift, and go to state 141
- T_And shift, and go to state 142
- T_Or shift, and go to state 143
- '<' shift, and go to state 144
- '>' shift, and go to state 145
- '+' shift, and go to state 146
- '-' shift, and go to state 147
- '*' shift, and go to state 148
- '/' shift, and go to state 149
- '%' shift, and go to state 150
- '[' shift, and go to state 151
- '.' shift, and go to state 152
- ')' shift, and go to state 169
- state 138
- 76 Expr: Expr T_LessEqual . Expr
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- '(' shift, and go to state 106
- Expr go to state 170
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 139
- 78 Expr: Expr T_GreaterEqual . Expr
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- '(' shift, and go to state 106
- Expr go to state 171
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 140
- 79 Expr: Expr T_Equal . Expr
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- '(' shift, and go to state 106
- Expr go to state 172
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 141
- 80 Expr: Expr T_NotEqual . Expr
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- '(' shift, and go to state 106
- Expr go to state 173
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 142
- 81 Expr: Expr T_And . Expr
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- '(' shift, and go to state 106
- Expr go to state 174
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 143
- 82 Expr: Expr T_Or . Expr
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- '(' shift, and go to state 106
- Expr go to state 175
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 144
- 75 Expr: Expr '<' . Expr
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- '(' shift, and go to state 106
- Expr go to state 176
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 145
- 77 Expr: Expr '>' . Expr
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- '(' shift, and go to state 106
- Expr go to state 177
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 146
- 69 Expr: Expr '+' . Expr
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- '(' shift, and go to state 106
- Expr go to state 178
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 147
- 70 Expr: Expr '-' . Expr
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- '(' shift, and go to state 106
- Expr go to state 179
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 148
- 71 Expr: Expr '*' . Expr
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- '(' shift, and go to state 106
- Expr go to state 180
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 149
- 72 Expr: Expr '/' . Expr
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- '(' shift, and go to state 106
- Expr go to state 181
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 150
- 73 Expr: Expr '%' . Expr
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- '(' shift, and go to state 106
- Expr go to state 182
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 151
- 92 LValue: Expr '[' . Expr ']'
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- '(' shift, and go to state 106
- Expr go to state 183
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 152
- 91 LValue: Expr '.' . T_Identifier
- 94 Call: Expr '.' . T_Identifier '(' Actuals ')'
- T_Identifier shift, and go to state 184
- state 153
- 41 Stmt: Expr ';' .
- $default reduce using rule 41 (Stmt)
- state 154
- 63 Expr: LValue '=' . Expr
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- '(' shift, and go to state 106
- Expr go to state 185
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 155
- 54 WhileStmt: T_While '(' Expr . ')' Stmt
- 69 Expr: Expr . '+' Expr
- 70 | Expr . '-' Expr
- 71 | Expr . '*' Expr
- 72 | Expr . '/' Expr
- 73 | Expr . '%' Expr
- 75 | Expr . '<' Expr
- 76 | Expr . T_LessEqual Expr
- 77 | Expr . '>' Expr
- 78 | Expr . T_GreaterEqual Expr
- 79 | Expr . T_Equal Expr
- 80 | Expr . T_NotEqual Expr
- 81 | Expr . T_And Expr
- 82 | Expr . T_Or Expr
- 91 LValue: Expr . '.' T_Identifier
- 92 | Expr . '[' Expr ']'
- 94 Call: Expr . '.' T_Identifier '(' Actuals ')'
- T_LessEqual shift, and go to state 138
- T_GreaterEqual shift, and go to state 139
- T_Equal shift, and go to state 140
- T_NotEqual shift, and go to state 141
- T_And shift, and go to state 142
- T_Or shift, and go to state 143
- '<' shift, and go to state 144
- '>' shift, and go to state 145
- '+' shift, and go to state 146
- '-' shift, and go to state 147
- '*' shift, and go to state 148
- '/' shift, and go to state 149
- '%' shift, and go to state 150
- '[' shift, and go to state 151
- '.' shift, and go to state 152
- ')' shift, and go to state 186
- state 156
- 56 ForStmt: T_For '(' ';' . Expr ';' ')' Stmt
- 58 | T_For '(' ';' . Expr ';' Expr ')' Stmt
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- '(' shift, and go to state 106
- Expr go to state 187
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 157
- 55 ForStmt: T_For '(' Expr . ';' Expr ';' Expr ')' Stmt
- 57 | T_For '(' Expr . ';' Expr ';' ')' Stmt
- 69 Expr: Expr . '+' Expr
- 70 | Expr . '-' Expr
- 71 | Expr . '*' Expr
- 72 | Expr . '/' Expr
- 73 | Expr . '%' Expr
- 75 | Expr . '<' Expr
- 76 | Expr . T_LessEqual Expr
- 77 | Expr . '>' Expr
- 78 | Expr . T_GreaterEqual Expr
- 79 | Expr . T_Equal Expr
- 80 | Expr . T_NotEqual Expr
- 81 | Expr . T_And Expr
- 82 | Expr . T_Or Expr
- 91 LValue: Expr . '.' T_Identifier
- 92 | Expr . '[' Expr ']'
- 94 Call: Expr . '.' T_Identifier '(' Actuals ')'
- T_LessEqual shift, and go to state 138
- T_GreaterEqual shift, and go to state 139
- T_Equal shift, and go to state 140
- T_NotEqual shift, and go to state 141
- T_And shift, and go to state 142
- T_Or shift, and go to state 143
- '<' shift, and go to state 144
- '>' shift, and go to state 145
- '+' shift, and go to state 146
- '-' shift, and go to state 147
- '*' shift, and go to state 148
- '/' shift, and go to state 149
- '%' shift, and go to state 150
- '[' shift, and go to state 151
- '.' shift, and go to state 152
- ';' shift, and go to state 188
- state 158
- 52 IfStmt: T_If '(' Expr . ')' Stmt
- 53 | T_If '(' Expr . ')' Stmt T_Else Stmt
- 69 Expr: Expr . '+' Expr
- 70 | Expr . '-' Expr
- 71 | Expr . '*' Expr
- 72 | Expr . '/' Expr
- 73 | Expr . '%' Expr
- 75 | Expr . '<' Expr
- 76 | Expr . T_LessEqual Expr
- 77 | Expr . '>' Expr
- 78 | Expr . T_GreaterEqual Expr
- 79 | Expr . T_Equal Expr
- 80 | Expr . T_NotEqual Expr
- 81 | Expr . T_And Expr
- 82 | Expr . T_Or Expr
- 91 LValue: Expr . '.' T_Identifier
- 92 | Expr . '[' Expr ']'
- 94 Call: Expr . '.' T_Identifier '(' Actuals ')'
- T_LessEqual shift, and go to state 138
- T_GreaterEqual shift, and go to state 139
- T_Equal shift, and go to state 140
- T_NotEqual shift, and go to state 141
- T_And shift, and go to state 142
- T_Or shift, and go to state 143
- '<' shift, and go to state 144
- '>' shift, and go to state 145
- '+' shift, and go to state 146
- '-' shift, and go to state 147
- '*' shift, and go to state 148
- '/' shift, and go to state 149
- '%' shift, and go to state 150
- '[' shift, and go to state 151
- '.' shift, and go to state 152
- ')' shift, and go to state 189
- state 159
- 59 ReturnStmt: T_Return Expr ';' .
- $default reduce using rule 59 (ReturnStmt)
- state 160
- 86 Expr: T_New '(' T_Identifier . ')'
- ')' shift, and go to state 190
- state 161
- 69 Expr: Expr . '+' Expr
- 70 | Expr . '-' Expr
- 71 | Expr . '*' Expr
- 72 | Expr . '/' Expr
- 73 | Expr . '%' Expr
- 75 | Expr . '<' Expr
- 76 | Expr . T_LessEqual Expr
- 77 | Expr . '>' Expr
- 78 | Expr . T_GreaterEqual Expr
- 79 | Expr . T_Equal Expr
- 80 | Expr . T_NotEqual Expr
- 81 | Expr . T_And Expr
- 82 | Expr . T_Or Expr
- 87 | T_NewArray '(' Expr . ',' Type ')'
- 91 LValue: Expr . '.' T_Identifier
- 92 | Expr . '[' Expr ']'
- 94 Call: Expr . '.' T_Identifier '(' Actuals ')'
- T_LessEqual shift, and go to state 138
- T_GreaterEqual shift, and go to state 139
- T_Equal shift, and go to state 140
- T_NotEqual shift, and go to state 141
- T_And shift, and go to state 142
- T_Or shift, and go to state 143
- '<' shift, and go to state 144
- '>' shift, and go to state 145
- '+' shift, and go to state 146
- '-' shift, and go to state 147
- '*' shift, and go to state 148
- '/' shift, and go to state 149
- '%' shift, and go to state 150
- '[' shift, and go to state 151
- '.' shift, and go to state 152
- ',' shift, and go to state 191
- state 162
- 69 Expr: Expr . '+' Expr
- 70 | Expr . '-' Expr
- 71 | Expr . '*' Expr
- 72 | Expr . '/' Expr
- 73 | Expr . '%' Expr
- 75 | Expr . '<' Expr
- 76 | Expr . T_LessEqual Expr
- 77 | Expr . '>' Expr
- 78 | Expr . T_GreaterEqual Expr
- 79 | Expr . T_Equal Expr
- 80 | Expr . T_NotEqual Expr
- 81 | Expr . T_And Expr
- 82 | Expr . T_Or Expr
- 89 ExprList: Expr .
- 91 LValue: Expr . '.' T_Identifier
- 92 | Expr . '[' Expr ']'
- 94 Call: Expr . '.' T_Identifier '(' Actuals ')'
- T_LessEqual shift, and go to state 138
- T_GreaterEqual shift, and go to state 139
- T_Equal shift, and go to state 140
- T_NotEqual shift, and go to state 141
- T_And shift, and go to state 142
- T_Or shift, and go to state 143
- '<' shift, and go to state 144
- '>' shift, and go to state 145
- '+' shift, and go to state 146
- '-' shift, and go to state 147
- '*' shift, and go to state 148
- '/' shift, and go to state 149
- '%' shift, and go to state 150
- '[' shift, and go to state 151
- '.' shift, and go to state 152
- $default reduce using rule 89 (ExprList)
- state 163
- 62 PrintStmt: T_Print '(' ExprList . ')' ';'
- 88 ExprList: ExprList . ',' Expr
- ',' shift, and go to state 192
- ')' shift, and go to state 193
- state 164
- 84 Expr: T_ReadInteger '(' ')' .
- $default reduce using rule 84 (Expr)
- state 165
- 85 Expr: T_ReadLine '(' ')' .
- $default reduce using rule 85 (Expr)
- state 166
- 96 Actuals: Epsilon .
- $default reduce using rule 96 (Actuals)
- state 167
- 88 ExprList: ExprList . ',' Expr
- 95 Actuals: ExprList .
- ',' shift, and go to state 192
- $default reduce using rule 95 (Actuals)
- state 168
- 93 Call: T_Identifier '(' Actuals . ')'
- ')' shift, and go to state 194
- state 169
- 68 Expr: '(' Expr ')' .
- $default reduce using rule 68 (Expr)
- state 170
- 69 Expr: Expr . '+' Expr
- 70 | Expr . '-' Expr
- 71 | Expr . '*' Expr
- 72 | Expr . '/' Expr
- 73 | Expr . '%' Expr
- 75 | Expr . '<' Expr
- 76 | Expr . T_LessEqual Expr
- 76 | Expr T_LessEqual Expr .
- 77 | Expr . '>' Expr
- 78 | Expr . T_GreaterEqual Expr
- 79 | Expr . T_Equal Expr
- 80 | Expr . T_NotEqual Expr
- 81 | Expr . T_And Expr
- 82 | Expr . T_Or Expr
- 91 LValue: Expr . '.' T_Identifier
- 92 | Expr . '[' Expr ']'
- 94 Call: Expr . '.' T_Identifier '(' Actuals ')'
- '+' shift, and go to state 146
- '-' shift, and go to state 147
- '*' shift, and go to state 148
- '/' shift, and go to state 149
- '%' shift, and go to state 150
- '[' shift, and go to state 151
- '.' shift, and go to state 152
- $default reduce using rule 76 (Expr)
- state 171
- 69 Expr: Expr . '+' Expr
- 70 | Expr . '-' Expr
- 71 | Expr . '*' Expr
- 72 | Expr . '/' Expr
- 73 | Expr . '%' Expr
- 75 | Expr . '<' Expr
- 76 | Expr . T_LessEqual Expr
- 77 | Expr . '>' Expr
- 78 | Expr . T_GreaterEqual Expr
- 78 | Expr T_GreaterEqual Expr .
- 79 | Expr . T_Equal Expr
- 80 | Expr . T_NotEqual Expr
- 81 | Expr . T_And Expr
- 82 | Expr . T_Or Expr
- 91 LValue: Expr . '.' T_Identifier
- 92 | Expr . '[' Expr ']'
- 94 Call: Expr . '.' T_Identifier '(' Actuals ')'
- '+' shift, and go to state 146
- '-' shift, and go to state 147
- '*' shift, and go to state 148
- '/' shift, and go to state 149
- '%' shift, and go to state 150
- '[' shift, and go to state 151
- '.' shift, and go to state 152
- $default reduce using rule 78 (Expr)
- state 172
- 69 Expr: Expr . '+' Expr
- 70 | Expr . '-' Expr
- 71 | Expr . '*' Expr
- 72 | Expr . '/' Expr
- 73 | Expr . '%' Expr
- 75 | Expr . '<' Expr
- 76 | Expr . T_LessEqual Expr
- 77 | Expr . '>' Expr
- 78 | Expr . T_GreaterEqual Expr
- 79 | Expr . T_Equal Expr
- 79 | Expr T_Equal Expr .
- 80 | Expr . T_NotEqual Expr
- 81 | Expr . T_And Expr
- 82 | Expr . T_Or Expr
- 91 LValue: Expr . '.' T_Identifier
- 92 | Expr . '[' Expr ']'
- 94 Call: Expr . '.' T_Identifier '(' Actuals ')'
- T_LessEqual shift, and go to state 138
- T_GreaterEqual shift, and go to state 139
- '<' shift, and go to state 144
- '>' shift, and go to state 145
- '+' shift, and go to state 146
- '-' shift, and go to state 147
- '*' shift, and go to state 148
- '/' shift, and go to state 149
- '%' shift, and go to state 150
- '[' shift, and go to state 151
- '.' shift, and go to state 152
- $default reduce using rule 79 (Expr)
- state 173
- 69 Expr: Expr . '+' Expr
- 70 | Expr . '-' Expr
- 71 | Expr . '*' Expr
- 72 | Expr . '/' Expr
- 73 | Expr . '%' Expr
- 75 | Expr . '<' Expr
- 76 | Expr . T_LessEqual Expr
- 77 | Expr . '>' Expr
- 78 | Expr . T_GreaterEqual Expr
- 79 | Expr . T_Equal Expr
- 80 | Expr . T_NotEqual Expr
- 80 | Expr T_NotEqual Expr .
- 81 | Expr . T_And Expr
- 82 | Expr . T_Or Expr
- 91 LValue: Expr . '.' T_Identifier
- 92 | Expr . '[' Expr ']'
- 94 Call: Expr . '.' T_Identifier '(' Actuals ')'
- T_LessEqual shift, and go to state 138
- T_GreaterEqual shift, and go to state 139
- '<' shift, and go to state 144
- '>' shift, and go to state 145
- '+' shift, and go to state 146
- '-' shift, and go to state 147
- '*' shift, and go to state 148
- '/' shift, and go to state 149
- '%' shift, and go to state 150
- '[' shift, and go to state 151
- '.' shift, and go to state 152
- $default reduce using rule 80 (Expr)
- state 174
- 69 Expr: Expr . '+' Expr
- 70 | Expr . '-' Expr
- 71 | Expr . '*' Expr
- 72 | Expr . '/' Expr
- 73 | Expr . '%' Expr
- 75 | Expr . '<' Expr
- 76 | Expr . T_LessEqual Expr
- 77 | Expr . '>' Expr
- 78 | Expr . T_GreaterEqual Expr
- 79 | Expr . T_Equal Expr
- 80 | Expr . T_NotEqual Expr
- 81 | Expr . T_And Expr
- 81 | Expr T_And Expr .
- 82 | Expr . T_Or Expr
- 91 LValue: Expr . '.' T_Identifier
- 92 | Expr . '[' Expr ']'
- 94 Call: Expr . '.' T_Identifier '(' Actuals ')'
- T_LessEqual shift, and go to state 138
- T_GreaterEqual shift, and go to state 139
- T_Equal shift, and go to state 140
- T_NotEqual shift, and go to state 141
- '<' shift, and go to state 144
- '>' shift, and go to state 145
- '+' shift, and go to state 146
- '-' shift, and go to state 147
- '*' shift, and go to state 148
- '/' shift, and go to state 149
- '%' shift, and go to state 150
- '[' shift, and go to state 151
- '.' shift, and go to state 152
- $default reduce using rule 81 (Expr)
- state 175
- 69 Expr: Expr . '+' Expr
- 70 | Expr . '-' Expr
- 71 | Expr . '*' Expr
- 72 | Expr . '/' Expr
- 73 | Expr . '%' Expr
- 75 | Expr . '<' Expr
- 76 | Expr . T_LessEqual Expr
- 77 | Expr . '>' Expr
- 78 | Expr . T_GreaterEqual Expr
- 79 | Expr . T_Equal Expr
- 80 | Expr . T_NotEqual Expr
- 81 | Expr . T_And Expr
- 82 | Expr . T_Or Expr
- 82 | Expr T_Or Expr .
- 91 LValue: Expr . '.' T_Identifier
- 92 | Expr . '[' Expr ']'
- 94 Call: Expr . '.' T_Identifier '(' Actuals ')'
- T_LessEqual shift, and go to state 138
- T_GreaterEqual shift, and go to state 139
- T_Equal shift, and go to state 140
- T_NotEqual shift, and go to state 141
- T_And shift, and go to state 142
- '<' shift, and go to state 144
- '>' shift, and go to state 145
- '+' shift, and go to state 146
- '-' shift, and go to state 147
- '*' shift, and go to state 148
- '/' shift, and go to state 149
- '%' shift, and go to state 150
- '[' shift, and go to state 151
- '.' shift, and go to state 152
- $default reduce using rule 82 (Expr)
- state 176
- 69 Expr: Expr . '+' Expr
- 70 | Expr . '-' Expr
- 71 | Expr . '*' Expr
- 72 | Expr . '/' Expr
- 73 | Expr . '%' Expr
- 75 | Expr . '<' Expr
- 75 | Expr '<' Expr .
- 76 | Expr . T_LessEqual Expr
- 77 | Expr . '>' Expr
- 78 | Expr . T_GreaterEqual Expr
- 79 | Expr . T_Equal Expr
- 80 | Expr . T_NotEqual Expr
- 81 | Expr . T_And Expr
- 82 | Expr . T_Or Expr
- 91 LValue: Expr . '.' T_Identifier
- 92 | Expr . '[' Expr ']'
- 94 Call: Expr . '.' T_Identifier '(' Actuals ')'
- '+' shift, and go to state 146
- '-' shift, and go to state 147
- '*' shift, and go to state 148
- '/' shift, and go to state 149
- '%' shift, and go to state 150
- '[' shift, and go to state 151
- '.' shift, and go to state 152
- $default reduce using rule 75 (Expr)
- state 177
- 69 Expr: Expr . '+' Expr
- 70 | Expr . '-' Expr
- 71 | Expr . '*' Expr
- 72 | Expr . '/' Expr
- 73 | Expr . '%' Expr
- 75 | Expr . '<' Expr
- 76 | Expr . T_LessEqual Expr
- 77 | Expr . '>' Expr
- 77 | Expr '>' Expr .
- 78 | Expr . T_GreaterEqual Expr
- 79 | Expr . T_Equal Expr
- 80 | Expr . T_NotEqual Expr
- 81 | Expr . T_And Expr
- 82 | Expr . T_Or Expr
- 91 LValue: Expr . '.' T_Identifier
- 92 | Expr . '[' Expr ']'
- 94 Call: Expr . '.' T_Identifier '(' Actuals ')'
- '+' shift, and go to state 146
- '-' shift, and go to state 147
- '*' shift, and go to state 148
- '/' shift, and go to state 149
- '%' shift, and go to state 150
- '[' shift, and go to state 151
- '.' shift, and go to state 152
- $default reduce using rule 77 (Expr)
- state 178
- 69 Expr: Expr . '+' Expr
- 69 | Expr '+' Expr .
- 70 | Expr . '-' Expr
- 71 | Expr . '*' Expr
- 72 | Expr . '/' Expr
- 73 | Expr . '%' Expr
- 75 | Expr . '<' Expr
- 76 | Expr . T_LessEqual Expr
- 77 | Expr . '>' Expr
- 78 | Expr . T_GreaterEqual Expr
- 79 | Expr . T_Equal Expr
- 80 | Expr . T_NotEqual Expr
- 81 | Expr . T_And Expr
- 82 | Expr . T_Or Expr
- 91 LValue: Expr . '.' T_Identifier
- 92 | Expr . '[' Expr ']'
- 94 Call: Expr . '.' T_Identifier '(' Actuals ')'
- '*' shift, and go to state 148
- '/' shift, and go to state 149
- '%' shift, and go to state 150
- '[' shift, and go to state 151
- '.' shift, and go to state 152
- $default reduce using rule 69 (Expr)
- state 179
- 69 Expr: Expr . '+' Expr
- 70 | Expr . '-' Expr
- 70 | Expr '-' Expr .
- 71 | Expr . '*' Expr
- 72 | Expr . '/' Expr
- 73 | Expr . '%' Expr
- 75 | Expr . '<' Expr
- 76 | Expr . T_LessEqual Expr
- 77 | Expr . '>' Expr
- 78 | Expr . T_GreaterEqual Expr
- 79 | Expr . T_Equal Expr
- 80 | Expr . T_NotEqual Expr
- 81 | Expr . T_And Expr
- 82 | Expr . T_Or Expr
- 91 LValue: Expr . '.' T_Identifier
- 92 | Expr . '[' Expr ']'
- 94 Call: Expr . '.' T_Identifier '(' Actuals ')'
- '*' shift, and go to state 148
- '/' shift, and go to state 149
- '%' shift, and go to state 150
- '[' shift, and go to state 151
- '.' shift, and go to state 152
- $default reduce using rule 70 (Expr)
- state 180
- 69 Expr: Expr . '+' Expr
- 70 | Expr . '-' Expr
- 71 | Expr . '*' Expr
- 71 | Expr '*' Expr .
- 72 | Expr . '/' Expr
- 73 | Expr . '%' Expr
- 75 | Expr . '<' Expr
- 76 | Expr . T_LessEqual Expr
- 77 | Expr . '>' Expr
- 78 | Expr . T_GreaterEqual Expr
- 79 | Expr . T_Equal Expr
- 80 | Expr . T_NotEqual Expr
- 81 | Expr . T_And Expr
- 82 | Expr . T_Or Expr
- 91 LValue: Expr . '.' T_Identifier
- 92 | Expr . '[' Expr ']'
- 94 Call: Expr . '.' T_Identifier '(' Actuals ')'
- '[' shift, and go to state 151
- '.' shift, and go to state 152
- $default reduce using rule 71 (Expr)
- state 181
- 69 Expr: Expr . '+' Expr
- 70 | Expr . '-' Expr
- 71 | Expr . '*' Expr
- 72 | Expr . '/' Expr
- 72 | Expr '/' Expr .
- 73 | Expr . '%' Expr
- 75 | Expr . '<' Expr
- 76 | Expr . T_LessEqual Expr
- 77 | Expr . '>' Expr
- 78 | Expr . T_GreaterEqual Expr
- 79 | Expr . T_Equal Expr
- 80 | Expr . T_NotEqual Expr
- 81 | Expr . T_And Expr
- 82 | Expr . T_Or Expr
- 91 LValue: Expr . '.' T_Identifier
- 92 | Expr . '[' Expr ']'
- 94 Call: Expr . '.' T_Identifier '(' Actuals ')'
- '[' shift, and go to state 151
- '.' shift, and go to state 152
- $default reduce using rule 72 (Expr)
- state 182
- 69 Expr: Expr . '+' Expr
- 70 | Expr . '-' Expr
- 71 | Expr . '*' Expr
- 72 | Expr . '/' Expr
- 73 | Expr . '%' Expr
- 73 | Expr '%' Expr .
- 75 | Expr . '<' Expr
- 76 | Expr . T_LessEqual Expr
- 77 | Expr . '>' Expr
- 78 | Expr . T_GreaterEqual Expr
- 79 | Expr . T_Equal Expr
- 80 | Expr . T_NotEqual Expr
- 81 | Expr . T_And Expr
- 82 | Expr . T_Or Expr
- 91 LValue: Expr . '.' T_Identifier
- 92 | Expr . '[' Expr ']'
- 94 Call: Expr . '.' T_Identifier '(' Actuals ')'
- '[' shift, and go to state 151
- '.' shift, and go to state 152
- $default reduce using rule 73 (Expr)
- state 183
- 69 Expr: Expr . '+' Expr
- 70 | Expr . '-' Expr
- 71 | Expr . '*' Expr
- 72 | Expr . '/' Expr
- 73 | Expr . '%' Expr
- 75 | Expr . '<' Expr
- 76 | Expr . T_LessEqual Expr
- 77 | Expr . '>' Expr
- 78 | Expr . T_GreaterEqual Expr
- 79 | Expr . T_Equal Expr
- 80 | Expr . T_NotEqual Expr
- 81 | Expr . T_And Expr
- 82 | Expr . T_Or Expr
- 91 LValue: Expr . '.' T_Identifier
- 92 | Expr . '[' Expr ']'
- 92 | Expr '[' Expr . ']'
- 94 Call: Expr . '.' T_Identifier '(' Actuals ')'
- T_LessEqual shift, and go to state 138
- T_GreaterEqual shift, and go to state 139
- T_Equal shift, and go to state 140
- T_NotEqual shift, and go to state 141
- T_And shift, and go to state 142
- T_Or shift, and go to state 143
- '<' shift, and go to state 144
- '>' shift, and go to state 145
- '+' shift, and go to state 146
- '-' shift, and go to state 147
- '*' shift, and go to state 148
- '/' shift, and go to state 149
- '%' shift, and go to state 150
- '[' shift, and go to state 151
- '.' shift, and go to state 152
- ']' shift, and go to state 195
- state 184
- 91 LValue: Expr '.' T_Identifier .
- 94 Call: Expr '.' T_Identifier . '(' Actuals ')'
- '(' shift, and go to state 196
- $default reduce using rule 91 (LValue)
- state 185
- 63 Expr: LValue '=' Expr .
- 69 | Expr . '+' Expr
- 70 | Expr . '-' Expr
- 71 | Expr . '*' Expr
- 72 | Expr . '/' Expr
- 73 | Expr . '%' Expr
- 75 | Expr . '<' Expr
- 76 | Expr . T_LessEqual Expr
- 77 | Expr . '>' Expr
- 78 | Expr . T_GreaterEqual Expr
- 79 | Expr . T_Equal Expr
- 80 | Expr . T_NotEqual Expr
- 81 | Expr . T_And Expr
- 82 | Expr . T_Or Expr
- 91 LValue: Expr . '.' T_Identifier
- 92 | Expr . '[' Expr ']'
- 94 Call: Expr . '.' T_Identifier '(' Actuals ')'
- T_LessEqual shift, and go to state 138
- T_GreaterEqual shift, and go to state 139
- T_Equal shift, and go to state 140
- T_NotEqual shift, and go to state 141
- T_And shift, and go to state 142
- T_Or shift, and go to state 143
- '<' shift, and go to state 144
- '>' shift, and go to state 145
- '+' shift, and go to state 146
- '-' shift, and go to state 147
- '*' shift, and go to state 148
- '/' shift, and go to state 149
- '%' shift, and go to state 150
- '[' shift, and go to state 151
- '.' shift, and go to state 152
- $default reduce using rule 63 (Expr)
- state 186
- 54 WhileStmt: T_While '(' Expr ')' . Stmt
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_While shift, and go to state 88
- T_For shift, and go to state 89
- T_If shift, and go to state 90
- T_Return shift, and go to state 91
- T_Break shift, and go to state 92
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_Print shift, and go to state 95
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- ';' shift, and go to state 105
- '(' shift, and go to state 106
- '{' shift, and go to state 64
- StmtBlock go to state 108
- Stmt go to state 197
- IfStmt go to state 110
- WhileStmt go to state 111
- ForStmt go to state 112
- ReturnStmt go to state 113
- BreakStmt go to state 114
- PrintStmt go to state 115
- Expr go to state 116
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 187
- 56 ForStmt: T_For '(' ';' Expr . ';' ')' Stmt
- 58 | T_For '(' ';' Expr . ';' Expr ')' Stmt
- 69 Expr: Expr . '+' Expr
- 70 | Expr . '-' Expr
- 71 | Expr . '*' Expr
- 72 | Expr . '/' Expr
- 73 | Expr . '%' Expr
- 75 | Expr . '<' Expr
- 76 | Expr . T_LessEqual Expr
- 77 | Expr . '>' Expr
- 78 | Expr . T_GreaterEqual Expr
- 79 | Expr . T_Equal Expr
- 80 | Expr . T_NotEqual Expr
- 81 | Expr . T_And Expr
- 82 | Expr . T_Or Expr
- 91 LValue: Expr . '.' T_Identifier
- 92 | Expr . '[' Expr ']'
- 94 Call: Expr . '.' T_Identifier '(' Actuals ')'
- T_LessEqual shift, and go to state 138
- T_GreaterEqual shift, and go to state 139
- T_Equal shift, and go to state 140
- T_NotEqual shift, and go to state 141
- T_And shift, and go to state 142
- T_Or shift, and go to state 143
- '<' shift, and go to state 144
- '>' shift, and go to state 145
- '+' shift, and go to state 146
- '-' shift, and go to state 147
- '*' shift, and go to state 148
- '/' shift, and go to state 149
- '%' shift, and go to state 150
- '[' shift, and go to state 151
- '.' shift, and go to state 152
- ';' shift, and go to state 198
- state 188
- 55 ForStmt: T_For '(' Expr ';' . Expr ';' Expr ')' Stmt
- 57 | T_For '(' Expr ';' . Expr ';' ')' Stmt
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- '(' shift, and go to state 106
- Expr go to state 199
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 189
- 52 IfStmt: T_If '(' Expr ')' . Stmt
- 53 | T_If '(' Expr ')' . Stmt T_Else Stmt
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_While shift, and go to state 88
- T_For shift, and go to state 89
- T_If shift, and go to state 90
- T_Return shift, and go to state 91
- T_Break shift, and go to state 92
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_Print shift, and go to state 95
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- ';' shift, and go to state 105
- '(' shift, and go to state 106
- '{' shift, and go to state 64
- StmtBlock go to state 108
- Stmt go to state 200
- IfStmt go to state 110
- WhileStmt go to state 111
- ForStmt go to state 112
- ReturnStmt go to state 113
- BreakStmt go to state 114
- PrintStmt go to state 115
- Expr go to state 116
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 190
- 86 Expr: T_New '(' T_Identifier ')' .
- $default reduce using rule 86 (Expr)
- state 191
- 87 Expr: T_NewArray '(' Expr ',' . Type ')'
- T_Bool shift, and go to state 2
- T_Int shift, and go to state 3
- T_Double shift, and go to state 4
- T_String shift, and go to state 5
- T_Identifier shift, and go to state 8
- Type go to state 201
- state 192
- 88 ExprList: ExprList ',' . Expr
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- '(' shift, and go to state 106
- Expr go to state 202
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 193
- 62 PrintStmt: T_Print '(' ExprList ')' . ';'
- ';' shift, and go to state 203
- state 194
- 93 Call: T_Identifier '(' Actuals ')' .
- $default reduce using rule 93 (Call)
- state 195
- 92 LValue: Expr '[' Expr ']' .
- $default reduce using rule 92 (LValue)
- state 196
- 94 Call: Expr '.' T_Identifier '(' . Actuals ')'
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- '(' shift, and go to state 106
- $default reduce using rule 18 (Epsilon)
- Epsilon go to state 166
- Expr go to state 162
- ExprList go to state 167
- LValue go to state 117
- Call go to state 118
- Actuals go to state 204
- Constant go to state 119
- state 197
- 54 WhileStmt: T_While '(' Expr ')' Stmt .
- $default reduce using rule 54 (WhileStmt)
- state 198
- 56 ForStmt: T_For '(' ';' Expr ';' . ')' Stmt
- 58 | T_For '(' ';' Expr ';' . Expr ')' Stmt
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- '(' shift, and go to state 106
- ')' shift, and go to state 205
- Expr go to state 206
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 199
- 55 ForStmt: T_For '(' Expr ';' Expr . ';' Expr ')' Stmt
- 57 | T_For '(' Expr ';' Expr . ';' ')' Stmt
- 69 Expr: Expr . '+' Expr
- 70 | Expr . '-' Expr
- 71 | Expr . '*' Expr
- 72 | Expr . '/' Expr
- 73 | Expr . '%' Expr
- 75 | Expr . '<' Expr
- 76 | Expr . T_LessEqual Expr
- 77 | Expr . '>' Expr
- 78 | Expr . T_GreaterEqual Expr
- 79 | Expr . T_Equal Expr
- 80 | Expr . T_NotEqual Expr
- 81 | Expr . T_And Expr
- 82 | Expr . T_Or Expr
- 91 LValue: Expr . '.' T_Identifier
- 92 | Expr . '[' Expr ']'
- 94 Call: Expr . '.' T_Identifier '(' Actuals ')'
- T_LessEqual shift, and go to state 138
- T_GreaterEqual shift, and go to state 139
- T_Equal shift, and go to state 140
- T_NotEqual shift, and go to state 141
- T_And shift, and go to state 142
- T_Or shift, and go to state 143
- '<' shift, and go to state 144
- '>' shift, and go to state 145
- '+' shift, and go to state 146
- '-' shift, and go to state 147
- '*' shift, and go to state 148
- '/' shift, and go to state 149
- '%' shift, and go to state 150
- '[' shift, and go to state 151
- '.' shift, and go to state 152
- ';' shift, and go to state 207
- state 200
- 52 IfStmt: T_If '(' Expr ')' Stmt .
- 53 | T_If '(' Expr ')' Stmt . T_Else Stmt
- T_Else shift, and go to state 208
- $default reduce using rule 52 (IfStmt)
- state 201
- 17 Type: Type . T_Dims
- 87 Expr: T_NewArray '(' Expr ',' Type . ')'
- T_Dims shift, and go to state 24
- ')' shift, and go to state 209
- state 202
- 69 Expr: Expr . '+' Expr
- 70 | Expr . '-' Expr
- 71 | Expr . '*' Expr
- 72 | Expr . '/' Expr
- 73 | Expr . '%' Expr
- 75 | Expr . '<' Expr
- 76 | Expr . T_LessEqual Expr
- 77 | Expr . '>' Expr
- 78 | Expr . T_GreaterEqual Expr
- 79 | Expr . T_Equal Expr
- 80 | Expr . T_NotEqual Expr
- 81 | Expr . T_And Expr
- 82 | Expr . T_Or Expr
- 88 ExprList: ExprList ',' Expr .
- 91 LValue: Expr . '.' T_Identifier
- 92 | Expr . '[' Expr ']'
- 94 Call: Expr . '.' T_Identifier '(' Actuals ')'
- T_LessEqual shift, and go to state 138
- T_GreaterEqual shift, and go to state 139
- T_Equal shift, and go to state 140
- T_NotEqual shift, and go to state 141
- T_And shift, and go to state 142
- T_Or shift, and go to state 143
- '<' shift, and go to state 144
- '>' shift, and go to state 145
- '+' shift, and go to state 146
- '-' shift, and go to state 147
- '*' shift, and go to state 148
- '/' shift, and go to state 149
- '%' shift, and go to state 150
- '[' shift, and go to state 151
- '.' shift, and go to state 152
- $default reduce using rule 88 (ExprList)
- state 203
- 62 PrintStmt: T_Print '(' ExprList ')' ';' .
- $default reduce using rule 62 (PrintStmt)
- state 204
- 94 Call: Expr '.' T_Identifier '(' Actuals . ')'
- ')' shift, and go to state 210
- state 205
- 56 ForStmt: T_For '(' ';' Expr ';' ')' . Stmt
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_While shift, and go to state 88
- T_For shift, and go to state 89
- T_If shift, and go to state 90
- T_Return shift, and go to state 91
- T_Break shift, and go to state 92
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_Print shift, and go to state 95
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- ';' shift, and go to state 105
- '(' shift, and go to state 106
- '{' shift, and go to state 64
- StmtBlock go to state 108
- Stmt go to state 211
- IfStmt go to state 110
- WhileStmt go to state 111
- ForStmt go to state 112
- ReturnStmt go to state 113
- BreakStmt go to state 114
- PrintStmt go to state 115
- Expr go to state 116
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 206
- 58 ForStmt: T_For '(' ';' Expr ';' Expr . ')' Stmt
- 69 Expr: Expr . '+' Expr
- 70 | Expr . '-' Expr
- 71 | Expr . '*' Expr
- 72 | Expr . '/' Expr
- 73 | Expr . '%' Expr
- 75 | Expr . '<' Expr
- 76 | Expr . T_LessEqual Expr
- 77 | Expr . '>' Expr
- 78 | Expr . T_GreaterEqual Expr
- 79 | Expr . T_Equal Expr
- 80 | Expr . T_NotEqual Expr
- 81 | Expr . T_And Expr
- 82 | Expr . T_Or Expr
- 91 LValue: Expr . '.' T_Identifier
- 92 | Expr . '[' Expr ']'
- 94 Call: Expr . '.' T_Identifier '(' Actuals ')'
- T_LessEqual shift, and go to state 138
- T_GreaterEqual shift, and go to state 139
- T_Equal shift, and go to state 140
- T_NotEqual shift, and go to state 141
- T_And shift, and go to state 142
- T_Or shift, and go to state 143
- '<' shift, and go to state 144
- '>' shift, and go to state 145
- '+' shift, and go to state 146
- '-' shift, and go to state 147
- '*' shift, and go to state 148
- '/' shift, and go to state 149
- '%' shift, and go to state 150
- '[' shift, and go to state 151
- '.' shift, and go to state 152
- ')' shift, and go to state 212
- state 207
- 55 ForStmt: T_For '(' Expr ';' Expr ';' . Expr ')' Stmt
- 57 | T_For '(' Expr ';' Expr ';' . ')' Stmt
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- '(' shift, and go to state 106
- ')' shift, and go to state 213
- Expr go to state 214
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 208
- 53 IfStmt: T_If '(' Expr ')' Stmt T_Else . Stmt
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_While shift, and go to state 88
- T_For shift, and go to state 89
- T_If shift, and go to state 90
- T_Return shift, and go to state 91
- T_Break shift, and go to state 92
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_Print shift, and go to state 95
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- ';' shift, and go to state 105
- '(' shift, and go to state 106
- '{' shift, and go to state 64
- StmtBlock go to state 108
- Stmt go to state 215
- IfStmt go to state 110
- WhileStmt go to state 111
- ForStmt go to state 112
- ReturnStmt go to state 113
- BreakStmt go to state 114
- PrintStmt go to state 115
- Expr go to state 116
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 209
- 87 Expr: T_NewArray '(' Expr ',' Type ')' .
- $default reduce using rule 87 (Expr)
- state 210
- 94 Call: Expr '.' T_Identifier '(' Actuals ')' .
- $default reduce using rule 94 (Call)
- state 211
- 56 ForStmt: T_For '(' ';' Expr ';' ')' Stmt .
- $default reduce using rule 56 (ForStmt)
- state 212
- 58 ForStmt: T_For '(' ';' Expr ';' Expr ')' . Stmt
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_While shift, and go to state 88
- T_For shift, and go to state 89
- T_If shift, and go to state 90
- T_Return shift, and go to state 91
- T_Break shift, and go to state 92
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_Print shift, and go to state 95
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- ';' shift, and go to state 105
- '(' shift, and go to state 106
- '{' shift, and go to state 64
- StmtBlock go to state 108
- Stmt go to state 216
- IfStmt go to state 110
- WhileStmt go to state 111
- ForStmt go to state 112
- ReturnStmt go to state 113
- BreakStmt go to state 114
- PrintStmt go to state 115
- Expr go to state 116
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 213
- 57 ForStmt: T_For '(' Expr ';' Expr ';' ')' . Stmt
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_While shift, and go to state 88
- T_For shift, and go to state 89
- T_If shift, and go to state 90
- T_Return shift, and go to state 91
- T_Break shift, and go to state 92
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_Print shift, and go to state 95
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- ';' shift, and go to state 105
- '(' shift, and go to state 106
- '{' shift, and go to state 64
- StmtBlock go to state 108
- Stmt go to state 217
- IfStmt go to state 110
- WhileStmt go to state 111
- ForStmt go to state 112
- ReturnStmt go to state 113
- BreakStmt go to state 114
- PrintStmt go to state 115
- Expr go to state 116
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 214
- 55 ForStmt: T_For '(' Expr ';' Expr ';' Expr . ')' Stmt
- 69 Expr: Expr . '+' Expr
- 70 | Expr . '-' Expr
- 71 | Expr . '*' Expr
- 72 | Expr . '/' Expr
- 73 | Expr . '%' Expr
- 75 | Expr . '<' Expr
- 76 | Expr . T_LessEqual Expr
- 77 | Expr . '>' Expr
- 78 | Expr . T_GreaterEqual Expr
- 79 | Expr . T_Equal Expr
- 80 | Expr . T_NotEqual Expr
- 81 | Expr . T_And Expr
- 82 | Expr . T_Or Expr
- 91 LValue: Expr . '.' T_Identifier
- 92 | Expr . '[' Expr ']'
- 94 Call: Expr . '.' T_Identifier '(' Actuals ')'
- T_LessEqual shift, and go to state 138
- T_GreaterEqual shift, and go to state 139
- T_Equal shift, and go to state 140
- T_NotEqual shift, and go to state 141
- T_And shift, and go to state 142
- T_Or shift, and go to state 143
- '<' shift, and go to state 144
- '>' shift, and go to state 145
- '+' shift, and go to state 146
- '-' shift, and go to state 147
- '*' shift, and go to state 148
- '/' shift, and go to state 149
- '%' shift, and go to state 150
- '[' shift, and go to state 151
- '.' shift, and go to state 152
- ')' shift, and go to state 218
- state 215
- 53 IfStmt: T_If '(' Expr ')' Stmt T_Else Stmt .
- $default reduce using rule 53 (IfStmt)
- state 216
- 58 ForStmt: T_For '(' ';' Expr ';' Expr ')' Stmt .
- $default reduce using rule 58 (ForStmt)
- state 217
- 57 ForStmt: T_For '(' Expr ';' Expr ';' ')' Stmt .
- $default reduce using rule 57 (ForStmt)
- state 218
- 55 ForStmt: T_For '(' Expr ';' Expr ';' Expr ')' . Stmt
- T_Null shift, and go to state 86
- T_This shift, and go to state 87
- T_While shift, and go to state 88
- T_For shift, and go to state 89
- T_If shift, and go to state 90
- T_Return shift, and go to state 91
- T_Break shift, and go to state 92
- T_New shift, and go to state 93
- T_NewArray shift, and go to state 94
- T_Print shift, and go to state 95
- T_ReadInteger shift, and go to state 96
- T_ReadLine shift, and go to state 97
- T_Identifier shift, and go to state 98
- T_StringConstant shift, and go to state 99
- T_IntConstant shift, and go to state 100
- T_DoubleConstant shift, and go to state 101
- T_BoolConstant shift, and go to state 102
- '-' shift, and go to state 103
- '!' shift, and go to state 104
- ';' shift, and go to state 105
- '(' shift, and go to state 106
- '{' shift, and go to state 64
- StmtBlock go to state 108
- Stmt go to state 219
- IfStmt go to state 110
- WhileStmt go to state 111
- ForStmt go to state 112
- ReturnStmt go to state 113
- BreakStmt go to state 114
- PrintStmt go to state 115
- Expr go to state 116
- LValue go to state 117
- Call go to state 118
- Constant go to state 119
- state 219
- 55 ForStmt: T_For '(' Expr ';' Expr ';' Expr ')' Stmt .
- $default reduce using rule 55 (ForStmt)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement