languages_and_translators/final_lang/parser.out

3029 lines
119 KiB
Text
Raw Normal View History

2019-03-21 21:09:36 -06:00
Created by PLY version 3.11 (http://www.dabeaz.com/ply)
Grammar
Rule 0 S' -> programa
Rule 1 programa -> program id V F B end program
Rule 2 V -> V Tipo Dim doubleColon Rid action_addSymbols action_32
2019-03-21 21:09:36 -06:00
Rule 3 V -> <empty>
Rule 4 Rid -> id
Rule 5 Rid -> Rid coma id
Rule 6 Tipo -> integer
Rule 7 Tipo -> real
Rule 8 Dim -> openBra int action_30 closedBra
Rule 9 Dim -> openBra int action_30 closedBra openBra int action_31 closedBra
2019-03-21 21:09:36 -06:00
Rule 10 Dim -> <empty>
Rule 11 F -> F subroutine id B end subroutine
Rule 12 F -> <empty>
Rule 13 B -> B S
Rule 14 B -> <empty>
Rule 15 S -> Dimensional action_7 equals EA action_8
2019-03-21 23:13:56 -06:00
Rule 16 S -> id parens
2019-03-21 21:09:36 -06:00
Rule 17 S -> read RDimensional
2019-04-29 17:56:14 -05:00
Rule 18 S -> print RDimOrString
Rule 19 S -> if action_16 Relif ElseOrEmpty end if action_20
Rule 20 S -> do id action_24 equals EA action_25 coma EA action_26 IntOrEmpty then B action_29 end do
Rule 21 S -> do then action_21 B action_22 end do
2019-03-21 21:09:36 -06:00
Rule 22 S -> swap Dimensional coma Dimensional
Rule 23 S -> exit action_23
Rule 24 S -> id openParen closedParen
Rule 25 Dimensional -> id DimensionsOrEmpty
Rule 26 DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty closedParen
Rule 27 DimensionsOrEmpty -> <empty>
Rule 28 ComaEAOrEmpty -> coma EA action_setDim2
Rule 29 ComaEAOrEmpty -> <empty>
2019-04-29 17:56:14 -05:00
Rule 30 RDimensional -> Dimensional action_1 action_36
Rule 31 RDimensional -> RDimensional coma Dimensional action_1 action_36
Rule 32 RDimOrString -> DimOrString
Rule 33 RDimOrString -> RDimOrString coma DimOrString
Rule 34 DimOrString -> Dimensional action_1 action_33
Rule 35 DimOrString -> string action_34
2019-04-29 17:56:14 -05:00
Rule 36 DimOrString -> endline action_34
Rule 37 Relif -> openParen EL closedParen action_17 then B
Rule 38 Relif -> Relif elif action_18 openParen EL closedParen action_17 then B
Rule 39 ElseOrEmpty -> else action_19 B
Rule 40 ElseOrEmpty -> <empty>
Rule 41 IntOrEmpty -> coma int action_28
Rule 42 IntOrEmpty -> action_27
Rule 43 EA -> MultDiv
Rule 44 EA -> EA SumOrSub action_3 MultDiv action_4
Rule 45 SumOrSub -> plus
Rule 46 SumOrSub -> minus
Rule 47 MultDiv -> EAParens
Rule 48 MultDiv -> MultDiv MDSymbols action_5 EAParens action_6
Rule 49 MDSymbols -> mul
Rule 50 MDSymbols -> div
Rule 51 EAParens -> EItem
Rule 52 EAParens -> openParen EA closedParen
Rule 53 EL -> AND
Rule 54 EL -> EL or action_10 AND action_9
Rule 55 AND -> Equality
Rule 56 AND -> AND and action_12 Equality action_11
Rule 57 Equality -> EItem EQSymbols action_13 EItem action_14
Rule 58 Equality -> openParen EL closedParen
Rule 59 Equality -> not EL action_15
Rule 60 EItem -> Dimensional action_1
Rule 61 EItem -> int action_2
Rule 62 EItem -> rea action_2_rea
Rule 63 EQSymbols -> less
Rule 64 EQSymbols -> more
Rule 65 EQSymbols -> doubleEquals
Rule 66 EQSymbols -> notEquals
Rule 67 EQSymbols -> lessEquals
Rule 68 EQSymbols -> moreEquals
Rule 69 action_addSymbols -> <empty>
Rule 70 action_1 -> <empty>
Rule 71 action_2 -> <empty>
Rule 72 action_2_rea -> <empty>
Rule 73 action_3 -> <empty>
Rule 74 action_4 -> <empty>
Rule 75 action_5 -> <empty>
Rule 76 action_6 -> <empty>
Rule 77 action_7 -> <empty>
Rule 78 action_8 -> <empty>
Rule 79 action_9 -> <empty>
Rule 80 action_10 -> <empty>
Rule 81 action_11 -> <empty>
Rule 82 action_12 -> <empty>
Rule 83 action_13 -> <empty>
Rule 84 action_14 -> <empty>
Rule 85 action_15 -> <empty>
Rule 86 action_16 -> <empty>
Rule 87 action_17 -> <empty>
Rule 88 action_18 -> <empty>
Rule 89 action_19 -> <empty>
Rule 90 action_20 -> <empty>
Rule 91 action_21 -> <empty>
Rule 92 action_22 -> <empty>
Rule 93 action_23 -> <empty>
Rule 94 action_24 -> <empty>
Rule 95 action_25 -> <empty>
Rule 96 action_26 -> <empty>
Rule 97 action_27 -> <empty>
Rule 98 action_28 -> <empty>
Rule 99 action_29 -> <empty>
Rule 100 action_30 -> <empty>
Rule 101 action_31 -> <empty>
Rule 102 action_32 -> <empty>
Rule 103 action_33 -> <empty>
Rule 104 action_34 -> <empty>
Rule 105 action_36 -> <empty>
Rule 106 action_setDim1 -> <empty>
Rule 107 action_setDim2 -> <empty>
2019-03-21 21:09:36 -06:00
Terminals, with rules where they appear
2019-04-29 17:56:14 -05:00
and : 56
2019-03-21 21:09:36 -06:00
closedBra : 8 9 9
2019-04-29 17:56:14 -05:00
closedParen : 24 26 37 38 52 58
coma : 5 20 22 28 31 33 41
div : 50
2019-03-21 22:59:22 -06:00
do : 20 20 21 21
2019-03-21 21:09:36 -06:00
doubleColon : 2
2019-04-29 17:56:14 -05:00
doubleEquals : 65
elif : 38
else : 39
2019-03-21 22:59:22 -06:00
end : 1 11 19 20 21
2019-04-29 17:56:14 -05:00
endline : 36
2019-03-21 21:09:36 -06:00
equals : 15 20
error :
2019-03-21 22:59:22 -06:00
exit : 23
id : 1 4 5 11 16 20 24 25
2019-03-21 22:59:22 -06:00
if : 19 19
2019-04-29 17:56:14 -05:00
int : 8 9 9 41 61
2019-03-21 22:59:22 -06:00
integer : 6
2019-04-29 17:56:14 -05:00
less : 63
lessEquals : 67
minus : 46
more : 64
moreEquals : 68
mul : 49
not : 59
notEquals : 66
2019-03-21 21:09:36 -06:00
openBra : 8 9 9
2019-04-29 17:56:14 -05:00
openParen : 24 26 37 38 52 58
or : 54
2019-03-21 21:09:36 -06:00
parens : 16
2019-04-29 17:56:14 -05:00
plus : 45
2019-03-21 22:59:22 -06:00
print : 18
program : 1 1
2019-04-29 17:56:14 -05:00
rea : 62
2019-03-21 22:59:22 -06:00
read : 17
real : 7
string : 35
2019-03-21 22:59:22 -06:00
subroutine : 11 11
swap : 22
2019-04-29 17:56:14 -05:00
then : 20 21 37 38
2019-03-21 21:09:36 -06:00
Nonterminals, with rules where they appear
2019-04-29 17:56:14 -05:00
AND : 53 54 56
B : 1 11 13 20 21 37 38 39
ComaEAOrEmpty : 26
2019-03-21 21:09:36 -06:00
Dim : 2
DimOrString : 32 33
2019-04-29 17:56:14 -05:00
Dimensional : 15 22 22 30 31 34 60
DimensionsOrEmpty : 25
2019-04-29 17:56:14 -05:00
EA : 15 20 20 26 28 44 52
EAParens : 47 48
EItem : 51 57 57
EL : 37 38 54 58 59
EQSymbols : 57
2019-03-21 21:09:36 -06:00
ElseOrEmpty : 19
2019-04-29 17:56:14 -05:00
Equality : 55 56
2019-03-21 21:09:36 -06:00
F : 1 11
IntOrEmpty : 20
2019-04-29 17:56:14 -05:00
MDSymbols : 48
MultDiv : 43 44 48
RDimOrString : 18 33
RDimensional : 17 31
2019-04-29 17:56:14 -05:00
Relif : 19 38
2019-03-21 21:09:36 -06:00
Rid : 2 5
S : 13
2019-04-29 17:56:14 -05:00
SumOrSub : 44
2019-03-21 21:09:36 -06:00
Tipo : 2
V : 1 2
2019-04-29 17:56:14 -05:00
action_1 : 30 31 34 60
action_10 : 54
action_11 : 56
action_12 : 56
action_13 : 57
action_14 : 57
action_15 : 59
action_16 : 19
2019-04-29 17:56:14 -05:00
action_17 : 37 38
action_18 : 38
action_19 : 39
action_2 : 61
action_20 : 19
action_21 : 21
action_22 : 21
action_23 : 23
action_24 : 20
action_25 : 20
action_26 : 20
2019-04-29 17:56:14 -05:00
action_27 : 42
action_28 : 41
action_29 : 20
2019-04-29 17:56:14 -05:00
action_2_rea : 62
action_3 : 44
action_30 : 8 9
action_31 : 9
action_32 : 2
action_33 : 34
2019-04-29 17:56:14 -05:00
action_34 : 35 36
action_36 : 30 31
action_4 : 44
action_5 : 48
action_6 : 48
action_7 : 15
action_8 : 15
2019-04-29 17:56:14 -05:00
action_9 : 54
action_addSymbols : 2
action_setDim1 : 26
action_setDim2 : 28
2019-03-21 21:09:36 -06:00
programa : 0
2019-03-21 22:59:22 -06:00
Parsing method: LALR
state 0
(0) S' -> . programa
(1) programa -> . program id V F B end program
program shift and go to state 2
programa shift and go to state 1
state 1
(0) S' -> programa .
state 2
(1) programa -> program . id V F B end program
id shift and go to state 3
state 3
(1) programa -> program id . V F B end program
(2) V -> . V Tipo Dim doubleColon Rid action_addSymbols action_32
2019-03-21 22:59:22 -06:00
(3) V -> .
integer reduce using rule 3 (V -> .)
real reduce using rule 3 (V -> .)
subroutine reduce using rule 3 (V -> .)
end reduce using rule 3 (V -> .)
2019-03-21 23:13:56 -06:00
id reduce using rule 3 (V -> .)
2019-03-21 22:59:22 -06:00
read reduce using rule 3 (V -> .)
print reduce using rule 3 (V -> .)
if reduce using rule 3 (V -> .)
do reduce using rule 3 (V -> .)
swap reduce using rule 3 (V -> .)
exit reduce using rule 3 (V -> .)
V shift and go to state 4
state 4
(1) programa -> program id V . F B end program
(2) V -> V . Tipo Dim doubleColon Rid action_addSymbols action_32
2019-03-21 22:59:22 -06:00
(11) F -> . F subroutine id B end subroutine
(12) F -> .
(6) Tipo -> . integer
(7) Tipo -> . real
subroutine reduce using rule 12 (F -> .)
end reduce using rule 12 (F -> .)
2019-03-21 23:13:56 -06:00
id reduce using rule 12 (F -> .)
2019-03-21 22:59:22 -06:00
read reduce using rule 12 (F -> .)
print reduce using rule 12 (F -> .)
if reduce using rule 12 (F -> .)
do reduce using rule 12 (F -> .)
swap reduce using rule 12 (F -> .)
exit reduce using rule 12 (F -> .)
integer shift and go to state 7
real shift and go to state 8
F shift and go to state 5
Tipo shift and go to state 6
state 5
(1) programa -> program id V F . B end program
(11) F -> F . subroutine id B end subroutine
(13) B -> . B S
(14) B -> .
subroutine shift and go to state 10
end reduce using rule 14 (B -> .)
2019-03-21 23:13:56 -06:00
id reduce using rule 14 (B -> .)
2019-03-21 22:59:22 -06:00
read reduce using rule 14 (B -> .)
print reduce using rule 14 (B -> .)
if reduce using rule 14 (B -> .)
do reduce using rule 14 (B -> .)
swap reduce using rule 14 (B -> .)
exit reduce using rule 14 (B -> .)
B shift and go to state 9
state 6
(2) V -> V Tipo . Dim doubleColon Rid action_addSymbols action_32
(8) Dim -> . openBra int action_30 closedBra
(9) Dim -> . openBra int action_30 closedBra openBra int action_31 closedBra
2019-03-21 22:59:22 -06:00
(10) Dim -> .
openBra shift and go to state 12
doubleColon reduce using rule 10 (Dim -> .)
Dim shift and go to state 11
state 7
(6) Tipo -> integer .
openBra reduce using rule 6 (Tipo -> integer .)
doubleColon reduce using rule 6 (Tipo -> integer .)
state 8
(7) Tipo -> real .
openBra reduce using rule 7 (Tipo -> real .)
doubleColon reduce using rule 7 (Tipo -> real .)
state 9
(1) programa -> program id V F B . end program
(13) B -> B . S
(15) S -> . Dimensional action_7 equals EA action_8
2019-03-21 23:13:56 -06:00
(16) S -> . id parens
2019-03-21 22:59:22 -06:00
(17) S -> . read RDimensional
2019-04-29 17:56:14 -05:00
(18) S -> . print RDimOrString
(19) S -> . if action_16 Relif ElseOrEmpty end if action_20
(20) S -> . do id action_24 equals EA action_25 coma EA action_26 IntOrEmpty then B action_29 end do
(21) S -> . do then action_21 B action_22 end do
2019-03-21 22:59:22 -06:00
(22) S -> . swap Dimensional coma Dimensional
(23) S -> . exit action_23
(24) S -> . id openParen closedParen
(25) Dimensional -> . id DimensionsOrEmpty
2019-03-21 22:59:22 -06:00
end shift and go to state 14
id shift and go to state 13
2019-03-21 23:13:56 -06:00
read shift and go to state 17
print shift and go to state 18
if shift and go to state 19
do shift and go to state 20
swap shift and go to state 21
exit shift and go to state 22
2019-03-21 22:59:22 -06:00
S shift and go to state 15
Dimensional shift and go to state 16
state 10
(11) F -> F subroutine . id B end subroutine
2019-03-21 23:13:56 -06:00
id shift and go to state 23
2019-03-21 22:59:22 -06:00
state 11
(2) V -> V Tipo Dim . doubleColon Rid action_addSymbols action_32
2019-03-21 22:59:22 -06:00
2019-03-21 23:13:56 -06:00
doubleColon shift and go to state 24
2019-03-21 22:59:22 -06:00
state 12
(8) Dim -> openBra . int action_30 closedBra
(9) Dim -> openBra . int action_30 closedBra openBra int action_31 closedBra
2019-03-21 22:59:22 -06:00
2019-03-21 23:13:56 -06:00
int shift and go to state 25
2019-03-21 22:59:22 -06:00
state 13
2019-03-21 23:13:56 -06:00
(16) S -> id . parens
(24) S -> id . openParen closedParen
(25) Dimensional -> id . DimensionsOrEmpty
(26) DimensionsOrEmpty -> . openParen EA action_setDim1 ComaEAOrEmpty closedParen
(27) DimensionsOrEmpty -> .
2019-03-21 22:59:22 -06:00
2019-03-21 23:13:56 -06:00
parens shift and go to state 26
openParen shift and go to state 27
equals reduce using rule 27 (DimensionsOrEmpty -> .)
2019-03-21 22:59:22 -06:00
DimensionsOrEmpty shift and go to state 28
2019-03-21 22:59:22 -06:00
state 14
(1) programa -> program id V F B end . program
program shift and go to state 29
state 15
(13) B -> B S .
end reduce using rule 13 (B -> B S .)
2019-03-21 23:13:56 -06:00
id reduce using rule 13 (B -> B S .)
2019-03-21 22:59:22 -06:00
read reduce using rule 13 (B -> B S .)
print reduce using rule 13 (B -> B S .)
if reduce using rule 13 (B -> B S .)
do reduce using rule 13 (B -> B S .)
swap reduce using rule 13 (B -> B S .)
exit reduce using rule 13 (B -> B S .)
elif reduce using rule 13 (B -> B S .)
else reduce using rule 13 (B -> B S .)
state 16
(15) S -> Dimensional . action_7 equals EA action_8
2019-04-29 17:56:14 -05:00
(77) action_7 -> .
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
equals reduce using rule 77 (action_7 -> .)
2019-03-21 22:59:22 -06:00
action_7 shift and go to state 30
2019-03-21 22:59:22 -06:00
state 17
(17) S -> read . RDimensional
2019-04-29 17:56:14 -05:00
(30) RDimensional -> . Dimensional action_1 action_36
(31) RDimensional -> . RDimensional coma Dimensional action_1 action_36
(25) Dimensional -> . id DimensionsOrEmpty
2019-03-21 22:59:22 -06:00
2019-03-21 23:13:56 -06:00
id shift and go to state 33
2019-03-21 22:59:22 -06:00
2019-03-21 23:13:56 -06:00
RDimensional shift and go to state 31
Dimensional shift and go to state 32
2019-03-21 22:59:22 -06:00
2019-03-21 23:13:56 -06:00
state 18
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(18) S -> print . RDimOrString
(32) RDimOrString -> . DimOrString
(33) RDimOrString -> . RDimOrString coma DimOrString
(34) DimOrString -> . Dimensional action_1 action_33
(35) DimOrString -> . string action_34
2019-04-29 17:56:14 -05:00
(36) DimOrString -> . endline action_34
(25) Dimensional -> . id DimensionsOrEmpty
2019-03-21 22:59:22 -06:00
string shift and go to state 37
2019-04-29 17:56:14 -05:00
endline shift and go to state 38
2019-03-21 23:13:56 -06:00
id shift and go to state 33
2019-03-21 22:59:22 -06:00
RDimOrString shift and go to state 34
DimOrString shift and go to state 35
Dimensional shift and go to state 36
2019-03-21 23:13:56 -06:00
state 19
2019-03-21 22:59:22 -06:00
(19) S -> if . action_16 Relif ElseOrEmpty end if action_20
2019-04-29 17:56:14 -05:00
(86) action_16 -> .
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
openParen reduce using rule 86 (action_16 -> .)
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
action_16 shift and go to state 39
2019-03-21 22:59:22 -06:00
2019-03-21 23:13:56 -06:00
state 20
2019-03-21 22:59:22 -06:00
(20) S -> do . id action_24 equals EA action_25 coma EA action_26 IntOrEmpty then B action_29 end do
(21) S -> do . then action_21 B action_22 end do
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
id shift and go to state 40
then shift and go to state 41
2019-03-21 22:59:22 -06:00
2019-03-21 23:13:56 -06:00
state 21
2019-03-21 22:59:22 -06:00
(22) S -> swap . Dimensional coma Dimensional
(25) Dimensional -> . id DimensionsOrEmpty
2019-03-21 22:59:22 -06:00
2019-03-21 23:13:56 -06:00
id shift and go to state 33
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
Dimensional shift and go to state 42
2019-03-21 22:59:22 -06:00
2019-03-21 23:13:56 -06:00
state 22
2019-03-21 22:59:22 -06:00
(23) S -> exit . action_23
2019-04-29 17:56:14 -05:00
(93) action_23 -> .
2019-04-29 17:56:14 -05:00
end reduce using rule 93 (action_23 -> .)
id reduce using rule 93 (action_23 -> .)
read reduce using rule 93 (action_23 -> .)
print reduce using rule 93 (action_23 -> .)
if reduce using rule 93 (action_23 -> .)
do reduce using rule 93 (action_23 -> .)
swap reduce using rule 93 (action_23 -> .)
exit reduce using rule 93 (action_23 -> .)
elif reduce using rule 93 (action_23 -> .)
else reduce using rule 93 (action_23 -> .)
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
action_23 shift and go to state 43
2019-03-21 22:59:22 -06:00
2019-03-21 23:13:56 -06:00
state 23
2019-03-21 22:59:22 -06:00
(11) F -> F subroutine id . B end subroutine
(13) B -> . B S
(14) B -> .
end reduce using rule 14 (B -> .)
2019-03-21 23:13:56 -06:00
id reduce using rule 14 (B -> .)
2019-03-21 22:59:22 -06:00
read reduce using rule 14 (B -> .)
print reduce using rule 14 (B -> .)
if reduce using rule 14 (B -> .)
do reduce using rule 14 (B -> .)
swap reduce using rule 14 (B -> .)
exit reduce using rule 14 (B -> .)
2019-04-29 17:56:14 -05:00
B shift and go to state 44
2019-03-21 22:59:22 -06:00
2019-03-21 23:13:56 -06:00
state 24
2019-03-21 22:59:22 -06:00
(2) V -> V Tipo Dim doubleColon . Rid action_addSymbols action_32
2019-03-21 22:59:22 -06:00
(4) Rid -> . id
(5) Rid -> . Rid coma id
2019-04-29 17:56:14 -05:00
id shift and go to state 46
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
Rid shift and go to state 45
2019-03-21 22:59:22 -06:00
2019-03-21 23:13:56 -06:00
state 25
2019-03-21 22:59:22 -06:00
(8) Dim -> openBra int . action_30 closedBra
(9) Dim -> openBra int . action_30 closedBra openBra int action_31 closedBra
2019-04-29 17:56:14 -05:00
(100) action_30 -> .
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
closedBra reduce using rule 100 (action_30 -> .)
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
action_30 shift and go to state 47
2019-03-21 22:59:22 -06:00
2019-03-21 23:13:56 -06:00
state 26
(16) S -> id parens .
end reduce using rule 16 (S -> id parens .)
id reduce using rule 16 (S -> id parens .)
read reduce using rule 16 (S -> id parens .)
print reduce using rule 16 (S -> id parens .)
if reduce using rule 16 (S -> id parens .)
do reduce using rule 16 (S -> id parens .)
swap reduce using rule 16 (S -> id parens .)
exit reduce using rule 16 (S -> id parens .)
elif reduce using rule 16 (S -> id parens .)
else reduce using rule 16 (S -> id parens .)
2019-03-21 22:59:22 -06:00
state 27
(24) S -> id openParen . closedParen
(26) DimensionsOrEmpty -> openParen . EA action_setDim1 ComaEAOrEmpty closedParen
2019-04-29 17:56:14 -05:00
(43) EA -> . MultDiv
(44) EA -> . EA SumOrSub action_3 MultDiv action_4
(47) MultDiv -> . EAParens
(48) MultDiv -> . MultDiv MDSymbols action_5 EAParens action_6
(51) EAParens -> . EItem
(52) EAParens -> . openParen EA closedParen
(60) EItem -> . Dimensional action_1
(61) EItem -> . int action_2
(62) EItem -> . rea action_2_rea
(25) Dimensional -> . id DimensionsOrEmpty
2019-04-29 17:56:14 -05:00
closedParen shift and go to state 49
openParen shift and go to state 48
int shift and go to state 55
rea shift and go to state 56
id shift and go to state 33
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
EA shift and go to state 50
MultDiv shift and go to state 51
EAParens shift and go to state 52
EItem shift and go to state 53
Dimensional shift and go to state 54
2019-03-21 22:59:22 -06:00
state 28
(25) Dimensional -> id DimensionsOrEmpty .
equals reduce using rule 25 (Dimensional -> id DimensionsOrEmpty .)
coma reduce using rule 25 (Dimensional -> id DimensionsOrEmpty .)
end reduce using rule 25 (Dimensional -> id DimensionsOrEmpty .)
id reduce using rule 25 (Dimensional -> id DimensionsOrEmpty .)
read reduce using rule 25 (Dimensional -> id DimensionsOrEmpty .)
print reduce using rule 25 (Dimensional -> id DimensionsOrEmpty .)
if reduce using rule 25 (Dimensional -> id DimensionsOrEmpty .)
do reduce using rule 25 (Dimensional -> id DimensionsOrEmpty .)
swap reduce using rule 25 (Dimensional -> id DimensionsOrEmpty .)
exit reduce using rule 25 (Dimensional -> id DimensionsOrEmpty .)
elif reduce using rule 25 (Dimensional -> id DimensionsOrEmpty .)
else reduce using rule 25 (Dimensional -> id DimensionsOrEmpty .)
mul reduce using rule 25 (Dimensional -> id DimensionsOrEmpty .)
div reduce using rule 25 (Dimensional -> id DimensionsOrEmpty .)
plus reduce using rule 25 (Dimensional -> id DimensionsOrEmpty .)
minus reduce using rule 25 (Dimensional -> id DimensionsOrEmpty .)
closedParen reduce using rule 25 (Dimensional -> id DimensionsOrEmpty .)
less reduce using rule 25 (Dimensional -> id DimensionsOrEmpty .)
more reduce using rule 25 (Dimensional -> id DimensionsOrEmpty .)
doubleEquals reduce using rule 25 (Dimensional -> id DimensionsOrEmpty .)
notEquals reduce using rule 25 (Dimensional -> id DimensionsOrEmpty .)
lessEquals reduce using rule 25 (Dimensional -> id DimensionsOrEmpty .)
moreEquals reduce using rule 25 (Dimensional -> id DimensionsOrEmpty .)
then reduce using rule 25 (Dimensional -> id DimensionsOrEmpty .)
and reduce using rule 25 (Dimensional -> id DimensionsOrEmpty .)
or reduce using rule 25 (Dimensional -> id DimensionsOrEmpty .)
2019-03-21 22:59:22 -06:00
state 29
(1) programa -> program id V F B end program .
$end reduce using rule 1 (programa -> program id V F B end program .)
state 30
(15) S -> Dimensional action_7 . equals EA action_8
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
equals shift and go to state 57
2019-03-21 22:59:22 -06:00
state 31
(17) S -> read RDimensional .
2019-04-29 17:56:14 -05:00
(31) RDimensional -> RDimensional . coma Dimensional action_1 action_36
2019-03-21 22:59:22 -06:00
end reduce using rule 17 (S -> read RDimensional .)
2019-03-21 23:13:56 -06:00
id reduce using rule 17 (S -> read RDimensional .)
2019-03-21 22:59:22 -06:00
read reduce using rule 17 (S -> read RDimensional .)
print reduce using rule 17 (S -> read RDimensional .)
if reduce using rule 17 (S -> read RDimensional .)
do reduce using rule 17 (S -> read RDimensional .)
swap reduce using rule 17 (S -> read RDimensional .)
exit reduce using rule 17 (S -> read RDimensional .)
elif reduce using rule 17 (S -> read RDimensional .)
else reduce using rule 17 (S -> read RDimensional .)
2019-04-29 17:56:14 -05:00
coma shift and go to state 58
2019-03-21 22:59:22 -06:00
2019-03-21 23:13:56 -06:00
state 32
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(30) RDimensional -> Dimensional . action_1 action_36
(70) action_1 -> .
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
coma reduce using rule 70 (action_1 -> .)
end reduce using rule 70 (action_1 -> .)
id reduce using rule 70 (action_1 -> .)
read reduce using rule 70 (action_1 -> .)
print reduce using rule 70 (action_1 -> .)
if reduce using rule 70 (action_1 -> .)
do reduce using rule 70 (action_1 -> .)
swap reduce using rule 70 (action_1 -> .)
exit reduce using rule 70 (action_1 -> .)
elif reduce using rule 70 (action_1 -> .)
else reduce using rule 70 (action_1 -> .)
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
action_1 shift and go to state 59
2019-03-21 22:59:22 -06:00
2019-03-21 23:13:56 -06:00
state 33
(25) Dimensional -> id . DimensionsOrEmpty
(26) DimensionsOrEmpty -> . openParen EA action_setDim1 ComaEAOrEmpty closedParen
(27) DimensionsOrEmpty -> .
2019-04-29 17:56:14 -05:00
openParen shift and go to state 60
coma reduce using rule 27 (DimensionsOrEmpty -> .)
end reduce using rule 27 (DimensionsOrEmpty -> .)
id reduce using rule 27 (DimensionsOrEmpty -> .)
read reduce using rule 27 (DimensionsOrEmpty -> .)
print reduce using rule 27 (DimensionsOrEmpty -> .)
if reduce using rule 27 (DimensionsOrEmpty -> .)
do reduce using rule 27 (DimensionsOrEmpty -> .)
swap reduce using rule 27 (DimensionsOrEmpty -> .)
exit reduce using rule 27 (DimensionsOrEmpty -> .)
elif reduce using rule 27 (DimensionsOrEmpty -> .)
else reduce using rule 27 (DimensionsOrEmpty -> .)
mul reduce using rule 27 (DimensionsOrEmpty -> .)
div reduce using rule 27 (DimensionsOrEmpty -> .)
plus reduce using rule 27 (DimensionsOrEmpty -> .)
minus reduce using rule 27 (DimensionsOrEmpty -> .)
closedParen reduce using rule 27 (DimensionsOrEmpty -> .)
less reduce using rule 27 (DimensionsOrEmpty -> .)
more reduce using rule 27 (DimensionsOrEmpty -> .)
doubleEquals reduce using rule 27 (DimensionsOrEmpty -> .)
notEquals reduce using rule 27 (DimensionsOrEmpty -> .)
lessEquals reduce using rule 27 (DimensionsOrEmpty -> .)
moreEquals reduce using rule 27 (DimensionsOrEmpty -> .)
then reduce using rule 27 (DimensionsOrEmpty -> .)
and reduce using rule 27 (DimensionsOrEmpty -> .)
or reduce using rule 27 (DimensionsOrEmpty -> .)
DimensionsOrEmpty shift and go to state 28
2019-03-21 23:13:56 -06:00
2019-03-21 22:59:22 -06:00
state 34
2019-04-29 17:56:14 -05:00
(18) S -> print RDimOrString .
(33) RDimOrString -> RDimOrString . coma DimOrString
2019-04-29 17:56:14 -05:00
end reduce using rule 18 (S -> print RDimOrString .)
id reduce using rule 18 (S -> print RDimOrString .)
read reduce using rule 18 (S -> print RDimOrString .)
print reduce using rule 18 (S -> print RDimOrString .)
if reduce using rule 18 (S -> print RDimOrString .)
do reduce using rule 18 (S -> print RDimOrString .)
swap reduce using rule 18 (S -> print RDimOrString .)
exit reduce using rule 18 (S -> print RDimOrString .)
elif reduce using rule 18 (S -> print RDimOrString .)
else reduce using rule 18 (S -> print RDimOrString .)
coma shift and go to state 61
2019-03-21 22:59:22 -06:00
state 35
(32) RDimOrString -> DimOrString .
2019-03-21 22:59:22 -06:00
coma reduce using rule 32 (RDimOrString -> DimOrString .)
end reduce using rule 32 (RDimOrString -> DimOrString .)
id reduce using rule 32 (RDimOrString -> DimOrString .)
read reduce using rule 32 (RDimOrString -> DimOrString .)
print reduce using rule 32 (RDimOrString -> DimOrString .)
if reduce using rule 32 (RDimOrString -> DimOrString .)
do reduce using rule 32 (RDimOrString -> DimOrString .)
swap reduce using rule 32 (RDimOrString -> DimOrString .)
exit reduce using rule 32 (RDimOrString -> DimOrString .)
elif reduce using rule 32 (RDimOrString -> DimOrString .)
else reduce using rule 32 (RDimOrString -> DimOrString .)
2019-03-21 22:59:22 -06:00
state 36
(34) DimOrString -> Dimensional . action_1 action_33
2019-04-29 17:56:14 -05:00
(70) action_1 -> .
coma reduce using rule 70 (action_1 -> .)
end reduce using rule 70 (action_1 -> .)
id reduce using rule 70 (action_1 -> .)
read reduce using rule 70 (action_1 -> .)
print reduce using rule 70 (action_1 -> .)
if reduce using rule 70 (action_1 -> .)
do reduce using rule 70 (action_1 -> .)
swap reduce using rule 70 (action_1 -> .)
exit reduce using rule 70 (action_1 -> .)
elif reduce using rule 70 (action_1 -> .)
else reduce using rule 70 (action_1 -> .)
action_1 shift and go to state 62
2019-03-21 22:59:22 -06:00
state 37
(35) DimOrString -> string . action_34
2019-04-29 17:56:14 -05:00
(104) action_34 -> .
coma reduce using rule 104 (action_34 -> .)
end reduce using rule 104 (action_34 -> .)
id reduce using rule 104 (action_34 -> .)
read reduce using rule 104 (action_34 -> .)
print reduce using rule 104 (action_34 -> .)
if reduce using rule 104 (action_34 -> .)
do reduce using rule 104 (action_34 -> .)
swap reduce using rule 104 (action_34 -> .)
exit reduce using rule 104 (action_34 -> .)
elif reduce using rule 104 (action_34 -> .)
else reduce using rule 104 (action_34 -> .)
action_34 shift and go to state 63
2019-03-21 22:59:22 -06:00
state 38
2019-04-29 17:56:14 -05:00
(36) DimOrString -> endline . action_34
(104) action_34 -> .
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
coma reduce using rule 104 (action_34 -> .)
end reduce using rule 104 (action_34 -> .)
id reduce using rule 104 (action_34 -> .)
read reduce using rule 104 (action_34 -> .)
print reduce using rule 104 (action_34 -> .)
if reduce using rule 104 (action_34 -> .)
do reduce using rule 104 (action_34 -> .)
swap reduce using rule 104 (action_34 -> .)
exit reduce using rule 104 (action_34 -> .)
elif reduce using rule 104 (action_34 -> .)
else reduce using rule 104 (action_34 -> .)
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
action_34 shift and go to state 64
2019-03-21 22:59:22 -06:00
state 39
2019-04-29 17:56:14 -05:00
(19) S -> if action_16 . Relif ElseOrEmpty end if action_20
(37) Relif -> . openParen EL closedParen action_17 then B
(38) Relif -> . Relif elif action_18 openParen EL closedParen action_17 then B
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
openParen shift and go to state 66
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
Relif shift and go to state 65
2019-03-21 22:59:22 -06:00
state 40
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(20) S -> do id . action_24 equals EA action_25 coma EA action_26 IntOrEmpty then B action_29 end do
(94) action_24 -> .
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
equals reduce using rule 94 (action_24 -> .)
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
action_24 shift and go to state 67
2019-03-21 22:59:22 -06:00
state 41
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(21) S -> do then . action_21 B action_22 end do
(91) action_21 -> .
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
id reduce using rule 91 (action_21 -> .)
read reduce using rule 91 (action_21 -> .)
print reduce using rule 91 (action_21 -> .)
if reduce using rule 91 (action_21 -> .)
do reduce using rule 91 (action_21 -> .)
swap reduce using rule 91 (action_21 -> .)
exit reduce using rule 91 (action_21 -> .)
end reduce using rule 91 (action_21 -> .)
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
action_21 shift and go to state 68
2019-03-21 22:59:22 -06:00
state 42
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(22) S -> swap Dimensional . coma Dimensional
coma shift and go to state 69
state 43
(23) S -> exit action_23 .
end reduce using rule 23 (S -> exit action_23 .)
id reduce using rule 23 (S -> exit action_23 .)
read reduce using rule 23 (S -> exit action_23 .)
print reduce using rule 23 (S -> exit action_23 .)
if reduce using rule 23 (S -> exit action_23 .)
do reduce using rule 23 (S -> exit action_23 .)
swap reduce using rule 23 (S -> exit action_23 .)
exit reduce using rule 23 (S -> exit action_23 .)
elif reduce using rule 23 (S -> exit action_23 .)
else reduce using rule 23 (S -> exit action_23 .)
2019-04-29 17:56:14 -05:00
state 44
2019-03-21 22:59:22 -06:00
(11) F -> F subroutine id B . end subroutine
(13) B -> B . S
(15) S -> . Dimensional action_7 equals EA action_8
2019-03-21 23:13:56 -06:00
(16) S -> . id parens
2019-03-21 22:59:22 -06:00
(17) S -> . read RDimensional
2019-04-29 17:56:14 -05:00
(18) S -> . print RDimOrString
(19) S -> . if action_16 Relif ElseOrEmpty end if action_20
(20) S -> . do id action_24 equals EA action_25 coma EA action_26 IntOrEmpty then B action_29 end do
(21) S -> . do then action_21 B action_22 end do
2019-03-21 22:59:22 -06:00
(22) S -> . swap Dimensional coma Dimensional
(23) S -> . exit action_23
(24) S -> . id openParen closedParen
(25) Dimensional -> . id DimensionsOrEmpty
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
end shift and go to state 70
2019-03-21 22:59:22 -06:00
id shift and go to state 13
2019-03-21 23:13:56 -06:00
read shift and go to state 17
print shift and go to state 18
if shift and go to state 19
do shift and go to state 20
swap shift and go to state 21
exit shift and go to state 22
2019-03-21 22:59:22 -06:00
S shift and go to state 15
Dimensional shift and go to state 16
2019-04-29 17:56:14 -05:00
state 45
2019-03-21 22:59:22 -06:00
(2) V -> V Tipo Dim doubleColon Rid . action_addSymbols action_32
2019-03-21 22:59:22 -06:00
(5) Rid -> Rid . coma id
2019-04-29 17:56:14 -05:00
(69) action_addSymbols -> .
coma shift and go to state 72
integer reduce using rule 69 (action_addSymbols -> .)
real reduce using rule 69 (action_addSymbols -> .)
subroutine reduce using rule 69 (action_addSymbols -> .)
end reduce using rule 69 (action_addSymbols -> .)
id reduce using rule 69 (action_addSymbols -> .)
read reduce using rule 69 (action_addSymbols -> .)
print reduce using rule 69 (action_addSymbols -> .)
if reduce using rule 69 (action_addSymbols -> .)
do reduce using rule 69 (action_addSymbols -> .)
swap reduce using rule 69 (action_addSymbols -> .)
exit reduce using rule 69 (action_addSymbols -> .)
action_addSymbols shift and go to state 71
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 46
2019-03-21 22:59:22 -06:00
(4) Rid -> id .
coma reduce using rule 4 (Rid -> id .)
integer reduce using rule 4 (Rid -> id .)
real reduce using rule 4 (Rid -> id .)
subroutine reduce using rule 4 (Rid -> id .)
end reduce using rule 4 (Rid -> id .)
2019-03-21 23:13:56 -06:00
id reduce using rule 4 (Rid -> id .)
2019-03-21 22:59:22 -06:00
read reduce using rule 4 (Rid -> id .)
print reduce using rule 4 (Rid -> id .)
if reduce using rule 4 (Rid -> id .)
do reduce using rule 4 (Rid -> id .)
swap reduce using rule 4 (Rid -> id .)
exit reduce using rule 4 (Rid -> id .)
2019-04-29 17:56:14 -05:00
state 47
2019-03-21 22:59:22 -06:00
(8) Dim -> openBra int action_30 . closedBra
(9) Dim -> openBra int action_30 . closedBra openBra int action_31 closedBra
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
closedBra shift and go to state 73
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 48
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(52) EAParens -> openParen . EA closedParen
(43) EA -> . MultDiv
(44) EA -> . EA SumOrSub action_3 MultDiv action_4
(47) MultDiv -> . EAParens
(48) MultDiv -> . MultDiv MDSymbols action_5 EAParens action_6
(51) EAParens -> . EItem
(52) EAParens -> . openParen EA closedParen
(60) EItem -> . Dimensional action_1
(61) EItem -> . int action_2
(62) EItem -> . rea action_2_rea
(25) Dimensional -> . id DimensionsOrEmpty
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
openParen shift and go to state 48
int shift and go to state 55
rea shift and go to state 56
2019-03-21 23:13:56 -06:00
id shift and go to state 33
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
EA shift and go to state 74
MultDiv shift and go to state 51
EAParens shift and go to state 52
EItem shift and go to state 53
Dimensional shift and go to state 54
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 49
2019-03-21 22:59:22 -06:00
(24) S -> id openParen closedParen .
2019-03-21 22:59:22 -06:00
end reduce using rule 24 (S -> id openParen closedParen .)
id reduce using rule 24 (S -> id openParen closedParen .)
read reduce using rule 24 (S -> id openParen closedParen .)
print reduce using rule 24 (S -> id openParen closedParen .)
if reduce using rule 24 (S -> id openParen closedParen .)
do reduce using rule 24 (S -> id openParen closedParen .)
swap reduce using rule 24 (S -> id openParen closedParen .)
exit reduce using rule 24 (S -> id openParen closedParen .)
elif reduce using rule 24 (S -> id openParen closedParen .)
else reduce using rule 24 (S -> id openParen closedParen .)
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 50
2019-03-21 22:59:22 -06:00
(26) DimensionsOrEmpty -> openParen EA . action_setDim1 ComaEAOrEmpty closedParen
2019-04-29 17:56:14 -05:00
(44) EA -> EA . SumOrSub action_3 MultDiv action_4
(106) action_setDim1 -> .
(45) SumOrSub -> . plus
(46) SumOrSub -> . minus
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
coma reduce using rule 106 (action_setDim1 -> .)
closedParen reduce using rule 106 (action_setDim1 -> .)
plus shift and go to state 77
minus shift and go to state 78
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
action_setDim1 shift and go to state 75
SumOrSub shift and go to state 76
2019-03-21 22:59:22 -06:00
state 51
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(43) EA -> MultDiv .
(48) MultDiv -> MultDiv . MDSymbols action_5 EAParens action_6
(49) MDSymbols -> . mul
(50) MDSymbols -> . div
plus reduce using rule 43 (EA -> MultDiv .)
minus reduce using rule 43 (EA -> MultDiv .)
coma reduce using rule 43 (EA -> MultDiv .)
closedParen reduce using rule 43 (EA -> MultDiv .)
end reduce using rule 43 (EA -> MultDiv .)
id reduce using rule 43 (EA -> MultDiv .)
read reduce using rule 43 (EA -> MultDiv .)
print reduce using rule 43 (EA -> MultDiv .)
if reduce using rule 43 (EA -> MultDiv .)
do reduce using rule 43 (EA -> MultDiv .)
swap reduce using rule 43 (EA -> MultDiv .)
exit reduce using rule 43 (EA -> MultDiv .)
elif reduce using rule 43 (EA -> MultDiv .)
else reduce using rule 43 (EA -> MultDiv .)
then reduce using rule 43 (EA -> MultDiv .)
mul shift and go to state 80
div shift and go to state 81
MDSymbols shift and go to state 79
2019-03-21 22:59:22 -06:00
state 52
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(47) MultDiv -> EAParens .
mul reduce using rule 47 (MultDiv -> EAParens .)
div reduce using rule 47 (MultDiv -> EAParens .)
plus reduce using rule 47 (MultDiv -> EAParens .)
minus reduce using rule 47 (MultDiv -> EAParens .)
coma reduce using rule 47 (MultDiv -> EAParens .)
closedParen reduce using rule 47 (MultDiv -> EAParens .)
end reduce using rule 47 (MultDiv -> EAParens .)
id reduce using rule 47 (MultDiv -> EAParens .)
read reduce using rule 47 (MultDiv -> EAParens .)
print reduce using rule 47 (MultDiv -> EAParens .)
if reduce using rule 47 (MultDiv -> EAParens .)
do reduce using rule 47 (MultDiv -> EAParens .)
swap reduce using rule 47 (MultDiv -> EAParens .)
exit reduce using rule 47 (MultDiv -> EAParens .)
elif reduce using rule 47 (MultDiv -> EAParens .)
else reduce using rule 47 (MultDiv -> EAParens .)
then reduce using rule 47 (MultDiv -> EAParens .)
2019-03-21 22:59:22 -06:00
state 53
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(51) EAParens -> EItem .
mul reduce using rule 51 (EAParens -> EItem .)
div reduce using rule 51 (EAParens -> EItem .)
plus reduce using rule 51 (EAParens -> EItem .)
minus reduce using rule 51 (EAParens -> EItem .)
coma reduce using rule 51 (EAParens -> EItem .)
closedParen reduce using rule 51 (EAParens -> EItem .)
end reduce using rule 51 (EAParens -> EItem .)
id reduce using rule 51 (EAParens -> EItem .)
read reduce using rule 51 (EAParens -> EItem .)
print reduce using rule 51 (EAParens -> EItem .)
if reduce using rule 51 (EAParens -> EItem .)
do reduce using rule 51 (EAParens -> EItem .)
swap reduce using rule 51 (EAParens -> EItem .)
exit reduce using rule 51 (EAParens -> EItem .)
elif reduce using rule 51 (EAParens -> EItem .)
else reduce using rule 51 (EAParens -> EItem .)
then reduce using rule 51 (EAParens -> EItem .)
2019-03-21 22:59:22 -06:00
state 54
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(60) EItem -> Dimensional . action_1
(70) action_1 -> .
mul reduce using rule 70 (action_1 -> .)
div reduce using rule 70 (action_1 -> .)
plus reduce using rule 70 (action_1 -> .)
minus reduce using rule 70 (action_1 -> .)
coma reduce using rule 70 (action_1 -> .)
closedParen reduce using rule 70 (action_1 -> .)
end reduce using rule 70 (action_1 -> .)
id reduce using rule 70 (action_1 -> .)
read reduce using rule 70 (action_1 -> .)
print reduce using rule 70 (action_1 -> .)
if reduce using rule 70 (action_1 -> .)
do reduce using rule 70 (action_1 -> .)
swap reduce using rule 70 (action_1 -> .)
exit reduce using rule 70 (action_1 -> .)
elif reduce using rule 70 (action_1 -> .)
else reduce using rule 70 (action_1 -> .)
less reduce using rule 70 (action_1 -> .)
more reduce using rule 70 (action_1 -> .)
doubleEquals reduce using rule 70 (action_1 -> .)
notEquals reduce using rule 70 (action_1 -> .)
lessEquals reduce using rule 70 (action_1 -> .)
moreEquals reduce using rule 70 (action_1 -> .)
then reduce using rule 70 (action_1 -> .)
and reduce using rule 70 (action_1 -> .)
or reduce using rule 70 (action_1 -> .)
action_1 shift and go to state 82
2019-03-21 22:59:22 -06:00
state 55
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(61) EItem -> int . action_2
(71) action_2 -> .
mul reduce using rule 71 (action_2 -> .)
div reduce using rule 71 (action_2 -> .)
plus reduce using rule 71 (action_2 -> .)
minus reduce using rule 71 (action_2 -> .)
coma reduce using rule 71 (action_2 -> .)
closedParen reduce using rule 71 (action_2 -> .)
end reduce using rule 71 (action_2 -> .)
id reduce using rule 71 (action_2 -> .)
read reduce using rule 71 (action_2 -> .)
print reduce using rule 71 (action_2 -> .)
if reduce using rule 71 (action_2 -> .)
do reduce using rule 71 (action_2 -> .)
swap reduce using rule 71 (action_2 -> .)
exit reduce using rule 71 (action_2 -> .)
elif reduce using rule 71 (action_2 -> .)
else reduce using rule 71 (action_2 -> .)
less reduce using rule 71 (action_2 -> .)
more reduce using rule 71 (action_2 -> .)
doubleEquals reduce using rule 71 (action_2 -> .)
notEquals reduce using rule 71 (action_2 -> .)
lessEquals reduce using rule 71 (action_2 -> .)
moreEquals reduce using rule 71 (action_2 -> .)
then reduce using rule 71 (action_2 -> .)
and reduce using rule 71 (action_2 -> .)
or reduce using rule 71 (action_2 -> .)
action_2 shift and go to state 83
state 56
2019-04-29 17:56:14 -05:00
(62) EItem -> rea . action_2_rea
(72) action_2_rea -> .
mul reduce using rule 72 (action_2_rea -> .)
div reduce using rule 72 (action_2_rea -> .)
plus reduce using rule 72 (action_2_rea -> .)
minus reduce using rule 72 (action_2_rea -> .)
coma reduce using rule 72 (action_2_rea -> .)
closedParen reduce using rule 72 (action_2_rea -> .)
end reduce using rule 72 (action_2_rea -> .)
id reduce using rule 72 (action_2_rea -> .)
read reduce using rule 72 (action_2_rea -> .)
print reduce using rule 72 (action_2_rea -> .)
if reduce using rule 72 (action_2_rea -> .)
do reduce using rule 72 (action_2_rea -> .)
swap reduce using rule 72 (action_2_rea -> .)
exit reduce using rule 72 (action_2_rea -> .)
elif reduce using rule 72 (action_2_rea -> .)
else reduce using rule 72 (action_2_rea -> .)
less reduce using rule 72 (action_2_rea -> .)
more reduce using rule 72 (action_2_rea -> .)
doubleEquals reduce using rule 72 (action_2_rea -> .)
notEquals reduce using rule 72 (action_2_rea -> .)
lessEquals reduce using rule 72 (action_2_rea -> .)
moreEquals reduce using rule 72 (action_2_rea -> .)
then reduce using rule 72 (action_2_rea -> .)
and reduce using rule 72 (action_2_rea -> .)
or reduce using rule 72 (action_2_rea -> .)
action_2_rea shift and go to state 84
2019-03-21 22:59:22 -06:00
state 57
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(15) S -> Dimensional action_7 equals . EA action_8
(43) EA -> . MultDiv
(44) EA -> . EA SumOrSub action_3 MultDiv action_4
(47) MultDiv -> . EAParens
(48) MultDiv -> . MultDiv MDSymbols action_5 EAParens action_6
(51) EAParens -> . EItem
(52) EAParens -> . openParen EA closedParen
(60) EItem -> . Dimensional action_1
(61) EItem -> . int action_2
(62) EItem -> . rea action_2_rea
(25) Dimensional -> . id DimensionsOrEmpty
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
openParen shift and go to state 48
int shift and go to state 55
rea shift and go to state 56
2019-03-21 23:13:56 -06:00
id shift and go to state 33
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
Dimensional shift and go to state 54
EA shift and go to state 85
MultDiv shift and go to state 51
EAParens shift and go to state 52
EItem shift and go to state 53
2019-03-21 22:59:22 -06:00
state 58
2019-04-29 17:56:14 -05:00
(31) RDimensional -> RDimensional coma . Dimensional action_1 action_36
(25) Dimensional -> . id DimensionsOrEmpty
id shift and go to state 33
2019-04-29 17:56:14 -05:00
Dimensional shift and go to state 86
state 59
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(30) RDimensional -> Dimensional action_1 . action_36
(105) action_36 -> .
2019-04-29 17:56:14 -05:00
coma reduce using rule 105 (action_36 -> .)
end reduce using rule 105 (action_36 -> .)
id reduce using rule 105 (action_36 -> .)
read reduce using rule 105 (action_36 -> .)
print reduce using rule 105 (action_36 -> .)
if reduce using rule 105 (action_36 -> .)
do reduce using rule 105 (action_36 -> .)
swap reduce using rule 105 (action_36 -> .)
exit reduce using rule 105 (action_36 -> .)
elif reduce using rule 105 (action_36 -> .)
else reduce using rule 105 (action_36 -> .)
2019-04-29 17:56:14 -05:00
action_36 shift and go to state 87
state 60
2019-04-29 17:56:14 -05:00
(26) DimensionsOrEmpty -> openParen . EA action_setDim1 ComaEAOrEmpty closedParen
(43) EA -> . MultDiv
(44) EA -> . EA SumOrSub action_3 MultDiv action_4
(47) MultDiv -> . EAParens
(48) MultDiv -> . MultDiv MDSymbols action_5 EAParens action_6
(51) EAParens -> . EItem
(52) EAParens -> . openParen EA closedParen
(60) EItem -> . Dimensional action_1
(61) EItem -> . int action_2
(62) EItem -> . rea action_2_rea
(25) Dimensional -> . id DimensionsOrEmpty
openParen shift and go to state 48
int shift and go to state 55
rea shift and go to state 56
id shift and go to state 33
EA shift and go to state 50
MultDiv shift and go to state 51
EAParens shift and go to state 52
EItem shift and go to state 53
Dimensional shift and go to state 54
state 61
(33) RDimOrString -> RDimOrString coma . DimOrString
(34) DimOrString -> . Dimensional action_1 action_33
(35) DimOrString -> . string action_34
2019-04-29 17:56:14 -05:00
(36) DimOrString -> . endline action_34
(25) Dimensional -> . id DimensionsOrEmpty
2019-03-21 22:59:22 -06:00
string shift and go to state 37
2019-04-29 17:56:14 -05:00
endline shift and go to state 38
2019-03-21 23:13:56 -06:00
id shift and go to state 33
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
DimOrString shift and go to state 88
2019-03-21 22:59:22 -06:00
Dimensional shift and go to state 36
2019-04-29 17:56:14 -05:00
state 62
(34) DimOrString -> Dimensional action_1 . action_33
2019-04-29 17:56:14 -05:00
(103) action_33 -> .
coma reduce using rule 103 (action_33 -> .)
end reduce using rule 103 (action_33 -> .)
id reduce using rule 103 (action_33 -> .)
read reduce using rule 103 (action_33 -> .)
print reduce using rule 103 (action_33 -> .)
if reduce using rule 103 (action_33 -> .)
do reduce using rule 103 (action_33 -> .)
swap reduce using rule 103 (action_33 -> .)
exit reduce using rule 103 (action_33 -> .)
elif reduce using rule 103 (action_33 -> .)
else reduce using rule 103 (action_33 -> .)
action_33 shift and go to state 89
2019-04-29 17:56:14 -05:00
state 63
(35) DimOrString -> string action_34 .
coma reduce using rule 35 (DimOrString -> string action_34 .)
end reduce using rule 35 (DimOrString -> string action_34 .)
id reduce using rule 35 (DimOrString -> string action_34 .)
read reduce using rule 35 (DimOrString -> string action_34 .)
print reduce using rule 35 (DimOrString -> string action_34 .)
if reduce using rule 35 (DimOrString -> string action_34 .)
do reduce using rule 35 (DimOrString -> string action_34 .)
swap reduce using rule 35 (DimOrString -> string action_34 .)
exit reduce using rule 35 (DimOrString -> string action_34 .)
elif reduce using rule 35 (DimOrString -> string action_34 .)
else reduce using rule 35 (DimOrString -> string action_34 .)
2019-04-29 17:56:14 -05:00
state 64
(36) DimOrString -> endline action_34 .
coma reduce using rule 36 (DimOrString -> endline action_34 .)
end reduce using rule 36 (DimOrString -> endline action_34 .)
id reduce using rule 36 (DimOrString -> endline action_34 .)
read reduce using rule 36 (DimOrString -> endline action_34 .)
print reduce using rule 36 (DimOrString -> endline action_34 .)
if reduce using rule 36 (DimOrString -> endline action_34 .)
do reduce using rule 36 (DimOrString -> endline action_34 .)
swap reduce using rule 36 (DimOrString -> endline action_34 .)
exit reduce using rule 36 (DimOrString -> endline action_34 .)
elif reduce using rule 36 (DimOrString -> endline action_34 .)
else reduce using rule 36 (DimOrString -> endline action_34 .)
state 65
2019-03-21 22:59:22 -06:00
(19) S -> if action_16 Relif . ElseOrEmpty end if action_20
2019-04-29 17:56:14 -05:00
(38) Relif -> Relif . elif action_18 openParen EL closedParen action_17 then B
(39) ElseOrEmpty -> . else action_19 B
(40) ElseOrEmpty -> .
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
elif shift and go to state 91
else shift and go to state 92
end reduce using rule 40 (ElseOrEmpty -> .)
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
ElseOrEmpty shift and go to state 90
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 66
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(37) Relif -> openParen . EL closedParen action_17 then B
(53) EL -> . AND
(54) EL -> . EL or action_10 AND action_9
(55) AND -> . Equality
(56) AND -> . AND and action_12 Equality action_11
(57) Equality -> . EItem EQSymbols action_13 EItem action_14
(58) Equality -> . openParen EL closedParen
(59) Equality -> . not EL action_15
(60) EItem -> . Dimensional action_1
(61) EItem -> . int action_2
(62) EItem -> . rea action_2_rea
(25) Dimensional -> . id DimensionsOrEmpty
2019-04-29 17:56:14 -05:00
openParen shift and go to state 93
not shift and go to state 98
int shift and go to state 55
rea shift and go to state 56
2019-03-21 23:13:56 -06:00
id shift and go to state 33
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
EL shift and go to state 94
AND shift and go to state 95
Equality shift and go to state 96
EItem shift and go to state 97
Dimensional shift and go to state 54
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 67
2019-03-21 22:59:22 -06:00
(20) S -> do id action_24 . equals EA action_25 coma EA action_26 IntOrEmpty then B action_29 end do
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
equals shift and go to state 99
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 68
2019-03-21 22:59:22 -06:00
(21) S -> do then action_21 . B action_22 end do
(13) B -> . B S
(14) B -> .
2019-03-21 22:59:22 -06:00
id reduce using rule 14 (B -> .)
read reduce using rule 14 (B -> .)
print reduce using rule 14 (B -> .)
if reduce using rule 14 (B -> .)
do reduce using rule 14 (B -> .)
swap reduce using rule 14 (B -> .)
exit reduce using rule 14 (B -> .)
end reduce using rule 14 (B -> .)
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
B shift and go to state 100
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 69
2019-03-21 22:59:22 -06:00
(22) S -> swap Dimensional coma . Dimensional
(25) Dimensional -> . id DimensionsOrEmpty
2019-03-21 22:59:22 -06:00
2019-03-21 23:13:56 -06:00
id shift and go to state 33
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
Dimensional shift and go to state 101
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 70
2019-03-21 22:59:22 -06:00
(11) F -> F subroutine id B end . subroutine
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
subroutine shift and go to state 102
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 71
2019-03-21 22:59:22 -06:00
(2) V -> V Tipo Dim doubleColon Rid action_addSymbols . action_32
2019-04-29 17:56:14 -05:00
(102) action_32 -> .
integer reduce using rule 102 (action_32 -> .)
real reduce using rule 102 (action_32 -> .)
subroutine reduce using rule 102 (action_32 -> .)
end reduce using rule 102 (action_32 -> .)
id reduce using rule 102 (action_32 -> .)
read reduce using rule 102 (action_32 -> .)
print reduce using rule 102 (action_32 -> .)
if reduce using rule 102 (action_32 -> .)
do reduce using rule 102 (action_32 -> .)
swap reduce using rule 102 (action_32 -> .)
exit reduce using rule 102 (action_32 -> .)
action_32 shift and go to state 103
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 72
2019-03-21 22:59:22 -06:00
(5) Rid -> Rid coma . id
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
id shift and go to state 104
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 73
2019-03-21 22:59:22 -06:00
(8) Dim -> openBra int action_30 closedBra .
(9) Dim -> openBra int action_30 closedBra . openBra int action_31 closedBra
2019-03-21 22:59:22 -06:00
doubleColon reduce using rule 8 (Dim -> openBra int action_30 closedBra .)
2019-04-29 17:56:14 -05:00
openBra shift and go to state 105
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 74
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(52) EAParens -> openParen EA . closedParen
(44) EA -> EA . SumOrSub action_3 MultDiv action_4
(45) SumOrSub -> . plus
(46) SumOrSub -> . minus
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
closedParen shift and go to state 106
plus shift and go to state 77
minus shift and go to state 78
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
SumOrSub shift and go to state 76
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 75
2019-03-21 22:59:22 -06:00
(26) DimensionsOrEmpty -> openParen EA action_setDim1 . ComaEAOrEmpty closedParen
(28) ComaEAOrEmpty -> . coma EA action_setDim2
(29) ComaEAOrEmpty -> .
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
coma shift and go to state 108
closedParen reduce using rule 29 (ComaEAOrEmpty -> .)
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
ComaEAOrEmpty shift and go to state 107
2019-03-21 22:59:22 -06:00
state 76
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(44) EA -> EA SumOrSub . action_3 MultDiv action_4
(73) action_3 -> .
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
openParen reduce using rule 73 (action_3 -> .)
int reduce using rule 73 (action_3 -> .)
rea reduce using rule 73 (action_3 -> .)
id reduce using rule 73 (action_3 -> .)
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
action_3 shift and go to state 109
2019-03-21 22:59:22 -06:00
state 77
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(45) SumOrSub -> plus .
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
openParen reduce using rule 45 (SumOrSub -> plus .)
int reduce using rule 45 (SumOrSub -> plus .)
rea reduce using rule 45 (SumOrSub -> plus .)
id reduce using rule 45 (SumOrSub -> plus .)
2019-03-21 22:59:22 -06:00
state 78
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(46) SumOrSub -> minus .
2019-04-29 17:56:14 -05:00
openParen reduce using rule 46 (SumOrSub -> minus .)
int reduce using rule 46 (SumOrSub -> minus .)
rea reduce using rule 46 (SumOrSub -> minus .)
id reduce using rule 46 (SumOrSub -> minus .)
state 79
2019-04-29 17:56:14 -05:00
(48) MultDiv -> MultDiv MDSymbols . action_5 EAParens action_6
(75) action_5 -> .
2019-04-29 17:56:14 -05:00
openParen reduce using rule 75 (action_5 -> .)
int reduce using rule 75 (action_5 -> .)
rea reduce using rule 75 (action_5 -> .)
id reduce using rule 75 (action_5 -> .)
2019-04-29 17:56:14 -05:00
action_5 shift and go to state 110
state 80
2019-04-29 17:56:14 -05:00
(49) MDSymbols -> mul .
openParen reduce using rule 49 (MDSymbols -> mul .)
int reduce using rule 49 (MDSymbols -> mul .)
rea reduce using rule 49 (MDSymbols -> mul .)
id reduce using rule 49 (MDSymbols -> mul .)
state 81
2019-04-29 17:56:14 -05:00
(50) MDSymbols -> div .
openParen reduce using rule 50 (MDSymbols -> div .)
int reduce using rule 50 (MDSymbols -> div .)
rea reduce using rule 50 (MDSymbols -> div .)
id reduce using rule 50 (MDSymbols -> div .)
state 82
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(60) EItem -> Dimensional action_1 .
mul reduce using rule 60 (EItem -> Dimensional action_1 .)
div reduce using rule 60 (EItem -> Dimensional action_1 .)
plus reduce using rule 60 (EItem -> Dimensional action_1 .)
minus reduce using rule 60 (EItem -> Dimensional action_1 .)
coma reduce using rule 60 (EItem -> Dimensional action_1 .)
closedParen reduce using rule 60 (EItem -> Dimensional action_1 .)
end reduce using rule 60 (EItem -> Dimensional action_1 .)
id reduce using rule 60 (EItem -> Dimensional action_1 .)
read reduce using rule 60 (EItem -> Dimensional action_1 .)
print reduce using rule 60 (EItem -> Dimensional action_1 .)
if reduce using rule 60 (EItem -> Dimensional action_1 .)
do reduce using rule 60 (EItem -> Dimensional action_1 .)
swap reduce using rule 60 (EItem -> Dimensional action_1 .)
exit reduce using rule 60 (EItem -> Dimensional action_1 .)
elif reduce using rule 60 (EItem -> Dimensional action_1 .)
else reduce using rule 60 (EItem -> Dimensional action_1 .)
less reduce using rule 60 (EItem -> Dimensional action_1 .)
more reduce using rule 60 (EItem -> Dimensional action_1 .)
doubleEquals reduce using rule 60 (EItem -> Dimensional action_1 .)
notEquals reduce using rule 60 (EItem -> Dimensional action_1 .)
lessEquals reduce using rule 60 (EItem -> Dimensional action_1 .)
moreEquals reduce using rule 60 (EItem -> Dimensional action_1 .)
then reduce using rule 60 (EItem -> Dimensional action_1 .)
and reduce using rule 60 (EItem -> Dimensional action_1 .)
or reduce using rule 60 (EItem -> Dimensional action_1 .)
2019-03-21 22:59:22 -06:00
state 83
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(61) EItem -> int action_2 .
mul reduce using rule 61 (EItem -> int action_2 .)
div reduce using rule 61 (EItem -> int action_2 .)
plus reduce using rule 61 (EItem -> int action_2 .)
minus reduce using rule 61 (EItem -> int action_2 .)
coma reduce using rule 61 (EItem -> int action_2 .)
closedParen reduce using rule 61 (EItem -> int action_2 .)
end reduce using rule 61 (EItem -> int action_2 .)
id reduce using rule 61 (EItem -> int action_2 .)
read reduce using rule 61 (EItem -> int action_2 .)
print reduce using rule 61 (EItem -> int action_2 .)
if reduce using rule 61 (EItem -> int action_2 .)
do reduce using rule 61 (EItem -> int action_2 .)
swap reduce using rule 61 (EItem -> int action_2 .)
exit reduce using rule 61 (EItem -> int action_2 .)
elif reduce using rule 61 (EItem -> int action_2 .)
else reduce using rule 61 (EItem -> int action_2 .)
less reduce using rule 61 (EItem -> int action_2 .)
more reduce using rule 61 (EItem -> int action_2 .)
doubleEquals reduce using rule 61 (EItem -> int action_2 .)
notEquals reduce using rule 61 (EItem -> int action_2 .)
lessEquals reduce using rule 61 (EItem -> int action_2 .)
moreEquals reduce using rule 61 (EItem -> int action_2 .)
then reduce using rule 61 (EItem -> int action_2 .)
and reduce using rule 61 (EItem -> int action_2 .)
or reduce using rule 61 (EItem -> int action_2 .)
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 84
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(62) EItem -> rea action_2_rea .
mul reduce using rule 62 (EItem -> rea action_2_rea .)
div reduce using rule 62 (EItem -> rea action_2_rea .)
plus reduce using rule 62 (EItem -> rea action_2_rea .)
minus reduce using rule 62 (EItem -> rea action_2_rea .)
coma reduce using rule 62 (EItem -> rea action_2_rea .)
closedParen reduce using rule 62 (EItem -> rea action_2_rea .)
end reduce using rule 62 (EItem -> rea action_2_rea .)
id reduce using rule 62 (EItem -> rea action_2_rea .)
read reduce using rule 62 (EItem -> rea action_2_rea .)
print reduce using rule 62 (EItem -> rea action_2_rea .)
if reduce using rule 62 (EItem -> rea action_2_rea .)
do reduce using rule 62 (EItem -> rea action_2_rea .)
swap reduce using rule 62 (EItem -> rea action_2_rea .)
exit reduce using rule 62 (EItem -> rea action_2_rea .)
elif reduce using rule 62 (EItem -> rea action_2_rea .)
else reduce using rule 62 (EItem -> rea action_2_rea .)
less reduce using rule 62 (EItem -> rea action_2_rea .)
more reduce using rule 62 (EItem -> rea action_2_rea .)
doubleEquals reduce using rule 62 (EItem -> rea action_2_rea .)
notEquals reduce using rule 62 (EItem -> rea action_2_rea .)
lessEquals reduce using rule 62 (EItem -> rea action_2_rea .)
moreEquals reduce using rule 62 (EItem -> rea action_2_rea .)
then reduce using rule 62 (EItem -> rea action_2_rea .)
and reduce using rule 62 (EItem -> rea action_2_rea .)
or reduce using rule 62 (EItem -> rea action_2_rea .)
2019-03-21 22:59:22 -06:00
state 85
2019-04-29 17:56:14 -05:00
(15) S -> Dimensional action_7 equals EA . action_8
(44) EA -> EA . SumOrSub action_3 MultDiv action_4
(78) action_8 -> .
(45) SumOrSub -> . plus
(46) SumOrSub -> . minus
end reduce using rule 78 (action_8 -> .)
id reduce using rule 78 (action_8 -> .)
read reduce using rule 78 (action_8 -> .)
print reduce using rule 78 (action_8 -> .)
if reduce using rule 78 (action_8 -> .)
do reduce using rule 78 (action_8 -> .)
swap reduce using rule 78 (action_8 -> .)
exit reduce using rule 78 (action_8 -> .)
elif reduce using rule 78 (action_8 -> .)
else reduce using rule 78 (action_8 -> .)
plus shift and go to state 77
minus shift and go to state 78
action_8 shift and go to state 111
SumOrSub shift and go to state 76
state 86
(31) RDimensional -> RDimensional coma Dimensional . action_1 action_36
(70) action_1 -> .
coma reduce using rule 70 (action_1 -> .)
end reduce using rule 70 (action_1 -> .)
id reduce using rule 70 (action_1 -> .)
read reduce using rule 70 (action_1 -> .)
print reduce using rule 70 (action_1 -> .)
if reduce using rule 70 (action_1 -> .)
do reduce using rule 70 (action_1 -> .)
swap reduce using rule 70 (action_1 -> .)
exit reduce using rule 70 (action_1 -> .)
elif reduce using rule 70 (action_1 -> .)
else reduce using rule 70 (action_1 -> .)
action_1 shift and go to state 112
state 87
(30) RDimensional -> Dimensional action_1 action_36 .
coma reduce using rule 30 (RDimensional -> Dimensional action_1 action_36 .)
end reduce using rule 30 (RDimensional -> Dimensional action_1 action_36 .)
id reduce using rule 30 (RDimensional -> Dimensional action_1 action_36 .)
read reduce using rule 30 (RDimensional -> Dimensional action_1 action_36 .)
print reduce using rule 30 (RDimensional -> Dimensional action_1 action_36 .)
if reduce using rule 30 (RDimensional -> Dimensional action_1 action_36 .)
do reduce using rule 30 (RDimensional -> Dimensional action_1 action_36 .)
swap reduce using rule 30 (RDimensional -> Dimensional action_1 action_36 .)
exit reduce using rule 30 (RDimensional -> Dimensional action_1 action_36 .)
elif reduce using rule 30 (RDimensional -> Dimensional action_1 action_36 .)
else reduce using rule 30 (RDimensional -> Dimensional action_1 action_36 .)
state 88
(33) RDimOrString -> RDimOrString coma DimOrString .
coma reduce using rule 33 (RDimOrString -> RDimOrString coma DimOrString .)
end reduce using rule 33 (RDimOrString -> RDimOrString coma DimOrString .)
id reduce using rule 33 (RDimOrString -> RDimOrString coma DimOrString .)
read reduce using rule 33 (RDimOrString -> RDimOrString coma DimOrString .)
print reduce using rule 33 (RDimOrString -> RDimOrString coma DimOrString .)
if reduce using rule 33 (RDimOrString -> RDimOrString coma DimOrString .)
do reduce using rule 33 (RDimOrString -> RDimOrString coma DimOrString .)
swap reduce using rule 33 (RDimOrString -> RDimOrString coma DimOrString .)
exit reduce using rule 33 (RDimOrString -> RDimOrString coma DimOrString .)
elif reduce using rule 33 (RDimOrString -> RDimOrString coma DimOrString .)
else reduce using rule 33 (RDimOrString -> RDimOrString coma DimOrString .)
2019-04-29 17:56:14 -05:00
state 89
(34) DimOrString -> Dimensional action_1 action_33 .
coma reduce using rule 34 (DimOrString -> Dimensional action_1 action_33 .)
end reduce using rule 34 (DimOrString -> Dimensional action_1 action_33 .)
id reduce using rule 34 (DimOrString -> Dimensional action_1 action_33 .)
read reduce using rule 34 (DimOrString -> Dimensional action_1 action_33 .)
print reduce using rule 34 (DimOrString -> Dimensional action_1 action_33 .)
if reduce using rule 34 (DimOrString -> Dimensional action_1 action_33 .)
do reduce using rule 34 (DimOrString -> Dimensional action_1 action_33 .)
swap reduce using rule 34 (DimOrString -> Dimensional action_1 action_33 .)
exit reduce using rule 34 (DimOrString -> Dimensional action_1 action_33 .)
elif reduce using rule 34 (DimOrString -> Dimensional action_1 action_33 .)
else reduce using rule 34 (DimOrString -> Dimensional action_1 action_33 .)
2019-04-29 17:56:14 -05:00
state 90
(19) S -> if action_16 Relif ElseOrEmpty . end if action_20
2019-04-29 17:56:14 -05:00
end shift and go to state 113
2019-04-29 17:56:14 -05:00
state 91
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(38) Relif -> Relif elif . action_18 openParen EL closedParen action_17 then B
(88) action_18 -> .
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
openParen reduce using rule 88 (action_18 -> .)
2019-04-29 17:56:14 -05:00
action_18 shift and go to state 114
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 92
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(39) ElseOrEmpty -> else . action_19 B
(89) action_19 -> .
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
id reduce using rule 89 (action_19 -> .)
read reduce using rule 89 (action_19 -> .)
print reduce using rule 89 (action_19 -> .)
if reduce using rule 89 (action_19 -> .)
do reduce using rule 89 (action_19 -> .)
swap reduce using rule 89 (action_19 -> .)
exit reduce using rule 89 (action_19 -> .)
end reduce using rule 89 (action_19 -> .)
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
action_19 shift and go to state 115
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 93
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(58) Equality -> openParen . EL closedParen
(53) EL -> . AND
(54) EL -> . EL or action_10 AND action_9
(55) AND -> . Equality
(56) AND -> . AND and action_12 Equality action_11
(57) Equality -> . EItem EQSymbols action_13 EItem action_14
(58) Equality -> . openParen EL closedParen
(59) Equality -> . not EL action_15
(60) EItem -> . Dimensional action_1
(61) EItem -> . int action_2
(62) EItem -> . rea action_2_rea
(25) Dimensional -> . id DimensionsOrEmpty
2019-04-29 17:56:14 -05:00
openParen shift and go to state 93
not shift and go to state 98
int shift and go to state 55
rea shift and go to state 56
id shift and go to state 33
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
EL shift and go to state 116
AND shift and go to state 95
Equality shift and go to state 96
EItem shift and go to state 97
Dimensional shift and go to state 54
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 94
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(37) Relif -> openParen EL . closedParen action_17 then B
(54) EL -> EL . or action_10 AND action_9
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
closedParen shift and go to state 117
or shift and go to state 118
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 95
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(53) EL -> AND .
(56) AND -> AND . and action_12 Equality action_11
! shift/reduce conflict for and resolved as shift
2019-04-29 17:56:14 -05:00
closedParen reduce using rule 53 (EL -> AND .)
or reduce using rule 53 (EL -> AND .)
and shift and go to state 119
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
! and [ reduce using rule 53 (EL -> AND .) ]
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 96
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(55) AND -> Equality .
2019-04-29 17:56:14 -05:00
and reduce using rule 55 (AND -> Equality .)
closedParen reduce using rule 55 (AND -> Equality .)
or reduce using rule 55 (AND -> Equality .)
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 97
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(57) Equality -> EItem . EQSymbols action_13 EItem action_14
(63) EQSymbols -> . less
(64) EQSymbols -> . more
(65) EQSymbols -> . doubleEquals
(66) EQSymbols -> . notEquals
(67) EQSymbols -> . lessEquals
(68) EQSymbols -> . moreEquals
2019-04-29 17:56:14 -05:00
less shift and go to state 121
more shift and go to state 122
doubleEquals shift and go to state 123
notEquals shift and go to state 124
lessEquals shift and go to state 125
moreEquals shift and go to state 126
2019-04-29 17:56:14 -05:00
EQSymbols shift and go to state 120
2019-04-29 17:56:14 -05:00
state 98
2019-04-29 17:56:14 -05:00
(59) Equality -> not . EL action_15
(53) EL -> . AND
(54) EL -> . EL or action_10 AND action_9
(55) AND -> . Equality
(56) AND -> . AND and action_12 Equality action_11
(57) Equality -> . EItem EQSymbols action_13 EItem action_14
(58) Equality -> . openParen EL closedParen
(59) Equality -> . not EL action_15
(60) EItem -> . Dimensional action_1
(61) EItem -> . int action_2
(62) EItem -> . rea action_2_rea
(25) Dimensional -> . id DimensionsOrEmpty
2019-04-29 17:56:14 -05:00
openParen shift and go to state 93
not shift and go to state 98
int shift and go to state 55
rea shift and go to state 56
id shift and go to state 33
2019-04-29 17:56:14 -05:00
EL shift and go to state 127
AND shift and go to state 95
Equality shift and go to state 96
EItem shift and go to state 97
Dimensional shift and go to state 54
2019-04-29 17:56:14 -05:00
state 99
(20) S -> do id action_24 equals . EA action_25 coma EA action_26 IntOrEmpty then B action_29 end do
2019-04-29 17:56:14 -05:00
(43) EA -> . MultDiv
(44) EA -> . EA SumOrSub action_3 MultDiv action_4
(47) MultDiv -> . EAParens
(48) MultDiv -> . MultDiv MDSymbols action_5 EAParens action_6
(51) EAParens -> . EItem
(52) EAParens -> . openParen EA closedParen
(60) EItem -> . Dimensional action_1
(61) EItem -> . int action_2
(62) EItem -> . rea action_2_rea
(25) Dimensional -> . id DimensionsOrEmpty
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
openParen shift and go to state 48
int shift and go to state 55
rea shift and go to state 56
id shift and go to state 33
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
EA shift and go to state 128
MultDiv shift and go to state 51
EAParens shift and go to state 52
EItem shift and go to state 53
Dimensional shift and go to state 54
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 100
2019-03-21 22:59:22 -06:00
(21) S -> do then action_21 B . action_22 end do
(13) B -> B . S
2019-04-29 17:56:14 -05:00
(92) action_22 -> .
(15) S -> . Dimensional action_7 equals EA action_8
(16) S -> . id parens
(17) S -> . read RDimensional
2019-04-29 17:56:14 -05:00
(18) S -> . print RDimOrString
(19) S -> . if action_16 Relif ElseOrEmpty end if action_20
(20) S -> . do id action_24 equals EA action_25 coma EA action_26 IntOrEmpty then B action_29 end do
(21) S -> . do then action_21 B action_22 end do
(22) S -> . swap Dimensional coma Dimensional
(23) S -> . exit action_23
(24) S -> . id openParen closedParen
(25) Dimensional -> . id DimensionsOrEmpty
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
end reduce using rule 92 (action_22 -> .)
id shift and go to state 13
read shift and go to state 17
print shift and go to state 18
if shift and go to state 19
do shift and go to state 20
swap shift and go to state 21
exit shift and go to state 22
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
action_22 shift and go to state 129
S shift and go to state 15
Dimensional shift and go to state 16
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 101
2019-03-21 22:59:22 -06:00
(22) S -> swap Dimensional coma Dimensional .
end reduce using rule 22 (S -> swap Dimensional coma Dimensional .)
2019-03-21 23:13:56 -06:00
id reduce using rule 22 (S -> swap Dimensional coma Dimensional .)
2019-03-21 22:59:22 -06:00
read reduce using rule 22 (S -> swap Dimensional coma Dimensional .)
print reduce using rule 22 (S -> swap Dimensional coma Dimensional .)
if reduce using rule 22 (S -> swap Dimensional coma Dimensional .)
do reduce using rule 22 (S -> swap Dimensional coma Dimensional .)
swap reduce using rule 22 (S -> swap Dimensional coma Dimensional .)
exit reduce using rule 22 (S -> swap Dimensional coma Dimensional .)
elif reduce using rule 22 (S -> swap Dimensional coma Dimensional .)
else reduce using rule 22 (S -> swap Dimensional coma Dimensional .)
2019-04-29 17:56:14 -05:00
state 102
2019-03-21 22:59:22 -06:00
(11) F -> F subroutine id B end subroutine .
subroutine reduce using rule 11 (F -> F subroutine id B end subroutine .)
end reduce using rule 11 (F -> F subroutine id B end subroutine .)
2019-03-21 23:13:56 -06:00
id reduce using rule 11 (F -> F subroutine id B end subroutine .)
2019-03-21 22:59:22 -06:00
read reduce using rule 11 (F -> F subroutine id B end subroutine .)
print reduce using rule 11 (F -> F subroutine id B end subroutine .)
if reduce using rule 11 (F -> F subroutine id B end subroutine .)
do reduce using rule 11 (F -> F subroutine id B end subroutine .)
swap reduce using rule 11 (F -> F subroutine id B end subroutine .)
exit reduce using rule 11 (F -> F subroutine id B end subroutine .)
2019-04-29 17:56:14 -05:00
state 103
(2) V -> V Tipo Dim doubleColon Rid action_addSymbols action_32 .
integer reduce using rule 2 (V -> V Tipo Dim doubleColon Rid action_addSymbols action_32 .)
real reduce using rule 2 (V -> V Tipo Dim doubleColon Rid action_addSymbols action_32 .)
subroutine reduce using rule 2 (V -> V Tipo Dim doubleColon Rid action_addSymbols action_32 .)
end reduce using rule 2 (V -> V Tipo Dim doubleColon Rid action_addSymbols action_32 .)
id reduce using rule 2 (V -> V Tipo Dim doubleColon Rid action_addSymbols action_32 .)
read reduce using rule 2 (V -> V Tipo Dim doubleColon Rid action_addSymbols action_32 .)
print reduce using rule 2 (V -> V Tipo Dim doubleColon Rid action_addSymbols action_32 .)
if reduce using rule 2 (V -> V Tipo Dim doubleColon Rid action_addSymbols action_32 .)
do reduce using rule 2 (V -> V Tipo Dim doubleColon Rid action_addSymbols action_32 .)
swap reduce using rule 2 (V -> V Tipo Dim doubleColon Rid action_addSymbols action_32 .)
exit reduce using rule 2 (V -> V Tipo Dim doubleColon Rid action_addSymbols action_32 .)
2019-04-29 17:56:14 -05:00
state 104
2019-03-21 22:59:22 -06:00
(5) Rid -> Rid coma id .
coma reduce using rule 5 (Rid -> Rid coma id .)
integer reduce using rule 5 (Rid -> Rid coma id .)
real reduce using rule 5 (Rid -> Rid coma id .)
subroutine reduce using rule 5 (Rid -> Rid coma id .)
end reduce using rule 5 (Rid -> Rid coma id .)
2019-03-21 23:13:56 -06:00
id reduce using rule 5 (Rid -> Rid coma id .)
2019-03-21 22:59:22 -06:00
read reduce using rule 5 (Rid -> Rid coma id .)
print reduce using rule 5 (Rid -> Rid coma id .)
if reduce using rule 5 (Rid -> Rid coma id .)
do reduce using rule 5 (Rid -> Rid coma id .)
swap reduce using rule 5 (Rid -> Rid coma id .)
exit reduce using rule 5 (Rid -> Rid coma id .)
2019-04-29 17:56:14 -05:00
state 105
2019-03-21 22:59:22 -06:00
(9) Dim -> openBra int action_30 closedBra openBra . int action_31 closedBra
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
int shift and go to state 130
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 106
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(52) EAParens -> openParen EA closedParen .
mul reduce using rule 52 (EAParens -> openParen EA closedParen .)
div reduce using rule 52 (EAParens -> openParen EA closedParen .)
plus reduce using rule 52 (EAParens -> openParen EA closedParen .)
minus reduce using rule 52 (EAParens -> openParen EA closedParen .)
coma reduce using rule 52 (EAParens -> openParen EA closedParen .)
closedParen reduce using rule 52 (EAParens -> openParen EA closedParen .)
end reduce using rule 52 (EAParens -> openParen EA closedParen .)
id reduce using rule 52 (EAParens -> openParen EA closedParen .)
read reduce using rule 52 (EAParens -> openParen EA closedParen .)
print reduce using rule 52 (EAParens -> openParen EA closedParen .)
if reduce using rule 52 (EAParens -> openParen EA closedParen .)
do reduce using rule 52 (EAParens -> openParen EA closedParen .)
swap reduce using rule 52 (EAParens -> openParen EA closedParen .)
exit reduce using rule 52 (EAParens -> openParen EA closedParen .)
elif reduce using rule 52 (EAParens -> openParen EA closedParen .)
else reduce using rule 52 (EAParens -> openParen EA closedParen .)
then reduce using rule 52 (EAParens -> openParen EA closedParen .)
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 107
2019-03-21 22:59:22 -06:00
(26) DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty . closedParen
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
closedParen shift and go to state 131
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 108
(28) ComaEAOrEmpty -> coma . EA action_setDim2
2019-04-29 17:56:14 -05:00
(43) EA -> . MultDiv
(44) EA -> . EA SumOrSub action_3 MultDiv action_4
(47) MultDiv -> . EAParens
(48) MultDiv -> . MultDiv MDSymbols action_5 EAParens action_6
(51) EAParens -> . EItem
(52) EAParens -> . openParen EA closedParen
(60) EItem -> . Dimensional action_1
(61) EItem -> . int action_2
(62) EItem -> . rea action_2_rea
(25) Dimensional -> . id DimensionsOrEmpty
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
openParen shift and go to state 48
int shift and go to state 55
rea shift and go to state 56
id shift and go to state 33
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
EA shift and go to state 132
MultDiv shift and go to state 51
EAParens shift and go to state 52
EItem shift and go to state 53
Dimensional shift and go to state 54
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 109
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(44) EA -> EA SumOrSub action_3 . MultDiv action_4
(47) MultDiv -> . EAParens
(48) MultDiv -> . MultDiv MDSymbols action_5 EAParens action_6
(51) EAParens -> . EItem
(52) EAParens -> . openParen EA closedParen
(60) EItem -> . Dimensional action_1
(61) EItem -> . int action_2
(62) EItem -> . rea action_2_rea
(25) Dimensional -> . id DimensionsOrEmpty
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
openParen shift and go to state 48
int shift and go to state 55
rea shift and go to state 56
id shift and go to state 33
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
MultDiv shift and go to state 133
EAParens shift and go to state 52
EItem shift and go to state 53
Dimensional shift and go to state 54
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 110
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(48) MultDiv -> MultDiv MDSymbols action_5 . EAParens action_6
(51) EAParens -> . EItem
(52) EAParens -> . openParen EA closedParen
(60) EItem -> . Dimensional action_1
(61) EItem -> . int action_2
(62) EItem -> . rea action_2_rea
(25) Dimensional -> . id DimensionsOrEmpty
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
openParen shift and go to state 48
int shift and go to state 55
rea shift and go to state 56
id shift and go to state 33
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
EAParens shift and go to state 134
EItem shift and go to state 53
Dimensional shift and go to state 54
2019-04-29 17:56:14 -05:00
state 111
(15) S -> Dimensional action_7 equals EA action_8 .
end reduce using rule 15 (S -> Dimensional action_7 equals EA action_8 .)
id reduce using rule 15 (S -> Dimensional action_7 equals EA action_8 .)
read reduce using rule 15 (S -> Dimensional action_7 equals EA action_8 .)
print reduce using rule 15 (S -> Dimensional action_7 equals EA action_8 .)
if reduce using rule 15 (S -> Dimensional action_7 equals EA action_8 .)
do reduce using rule 15 (S -> Dimensional action_7 equals EA action_8 .)
swap reduce using rule 15 (S -> Dimensional action_7 equals EA action_8 .)
exit reduce using rule 15 (S -> Dimensional action_7 equals EA action_8 .)
elif reduce using rule 15 (S -> Dimensional action_7 equals EA action_8 .)
else reduce using rule 15 (S -> Dimensional action_7 equals EA action_8 .)
2019-04-29 17:56:14 -05:00
state 112
(31) RDimensional -> RDimensional coma Dimensional action_1 . action_36
(105) action_36 -> .
coma reduce using rule 105 (action_36 -> .)
end reduce using rule 105 (action_36 -> .)
id reduce using rule 105 (action_36 -> .)
read reduce using rule 105 (action_36 -> .)
print reduce using rule 105 (action_36 -> .)
if reduce using rule 105 (action_36 -> .)
do reduce using rule 105 (action_36 -> .)
swap reduce using rule 105 (action_36 -> .)
exit reduce using rule 105 (action_36 -> .)
elif reduce using rule 105 (action_36 -> .)
else reduce using rule 105 (action_36 -> .)
action_36 shift and go to state 135
state 113
2019-03-21 22:59:22 -06:00
(19) S -> if action_16 Relif ElseOrEmpty end . if action_20
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
if shift and go to state 136
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 114
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(38) Relif -> Relif elif action_18 . openParen EL closedParen action_17 then B
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
openParen shift and go to state 137
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 115
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(39) ElseOrEmpty -> else action_19 . B
2019-03-21 22:59:22 -06:00
(13) B -> . B S
(14) B -> .
2019-03-21 23:13:56 -06:00
id reduce using rule 14 (B -> .)
2019-03-21 22:59:22 -06:00
read reduce using rule 14 (B -> .)
print reduce using rule 14 (B -> .)
if reduce using rule 14 (B -> .)
do reduce using rule 14 (B -> .)
swap reduce using rule 14 (B -> .)
exit reduce using rule 14 (B -> .)
end reduce using rule 14 (B -> .)
2019-04-29 17:56:14 -05:00
B shift and go to state 138
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 116
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(58) Equality -> openParen EL . closedParen
(54) EL -> EL . or action_10 AND action_9
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
closedParen shift and go to state 139
or shift and go to state 118
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 117
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(37) Relif -> openParen EL closedParen . action_17 then B
(87) action_17 -> .
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
then reduce using rule 87 (action_17 -> .)
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
action_17 shift and go to state 140
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 118
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(54) EL -> EL or . action_10 AND action_9
(80) action_10 -> .
2019-04-29 17:56:14 -05:00
openParen reduce using rule 80 (action_10 -> .)
not reduce using rule 80 (action_10 -> .)
int reduce using rule 80 (action_10 -> .)
rea reduce using rule 80 (action_10 -> .)
id reduce using rule 80 (action_10 -> .)
2019-04-29 17:56:14 -05:00
action_10 shift and go to state 141
2019-04-29 17:56:14 -05:00
state 119
2019-04-29 17:56:14 -05:00
(56) AND -> AND and . action_12 Equality action_11
(82) action_12 -> .
2019-04-29 17:56:14 -05:00
openParen reduce using rule 82 (action_12 -> .)
not reduce using rule 82 (action_12 -> .)
int reduce using rule 82 (action_12 -> .)
rea reduce using rule 82 (action_12 -> .)
id reduce using rule 82 (action_12 -> .)
2019-04-29 17:56:14 -05:00
action_12 shift and go to state 142
2019-04-29 17:56:14 -05:00
state 120
2019-04-29 17:56:14 -05:00
(57) Equality -> EItem EQSymbols . action_13 EItem action_14
(83) action_13 -> .
2019-04-29 17:56:14 -05:00
int reduce using rule 83 (action_13 -> .)
rea reduce using rule 83 (action_13 -> .)
id reduce using rule 83 (action_13 -> .)
2019-04-29 17:56:14 -05:00
action_13 shift and go to state 143
2019-04-29 17:56:14 -05:00
state 121
2019-04-29 17:56:14 -05:00
(63) EQSymbols -> less .
2019-04-29 17:56:14 -05:00
int reduce using rule 63 (EQSymbols -> less .)
rea reduce using rule 63 (EQSymbols -> less .)
id reduce using rule 63 (EQSymbols -> less .)
2019-04-29 17:56:14 -05:00
state 122
2019-04-29 17:56:14 -05:00
(64) EQSymbols -> more .
2019-04-29 17:56:14 -05:00
int reduce using rule 64 (EQSymbols -> more .)
rea reduce using rule 64 (EQSymbols -> more .)
id reduce using rule 64 (EQSymbols -> more .)
2019-04-29 17:56:14 -05:00
state 123
2019-04-29 17:56:14 -05:00
(65) EQSymbols -> doubleEquals .
2019-04-29 17:56:14 -05:00
int reduce using rule 65 (EQSymbols -> doubleEquals .)
rea reduce using rule 65 (EQSymbols -> doubleEquals .)
id reduce using rule 65 (EQSymbols -> doubleEquals .)
2019-04-29 17:56:14 -05:00
state 124
2019-04-29 17:56:14 -05:00
(66) EQSymbols -> notEquals .
2019-04-29 17:56:14 -05:00
int reduce using rule 66 (EQSymbols -> notEquals .)
rea reduce using rule 66 (EQSymbols -> notEquals .)
id reduce using rule 66 (EQSymbols -> notEquals .)
2019-04-29 17:56:14 -05:00
state 125
2019-04-29 17:56:14 -05:00
(67) EQSymbols -> lessEquals .
2019-04-29 17:56:14 -05:00
int reduce using rule 67 (EQSymbols -> lessEquals .)
rea reduce using rule 67 (EQSymbols -> lessEquals .)
id reduce using rule 67 (EQSymbols -> lessEquals .)
2019-04-29 17:56:14 -05:00
state 126
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(68) EQSymbols -> moreEquals .
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
int reduce using rule 68 (EQSymbols -> moreEquals .)
rea reduce using rule 68 (EQSymbols -> moreEquals .)
id reduce using rule 68 (EQSymbols -> moreEquals .)
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 127
2019-04-29 17:56:14 -05:00
(59) Equality -> not EL . action_15
(54) EL -> EL . or action_10 AND action_9
(85) action_15 -> .
! shift/reduce conflict for or resolved as shift
2019-04-29 17:56:14 -05:00
or shift and go to state 118
and reduce using rule 85 (action_15 -> .)
closedParen reduce using rule 85 (action_15 -> .)
2019-04-29 17:56:14 -05:00
! or [ reduce using rule 85 (action_15 -> .) ]
2019-04-29 17:56:14 -05:00
action_15 shift and go to state 144
2019-04-29 17:56:14 -05:00
state 128
(20) S -> do id action_24 equals EA . action_25 coma EA action_26 IntOrEmpty then B action_29 end do
2019-04-29 17:56:14 -05:00
(44) EA -> EA . SumOrSub action_3 MultDiv action_4
(95) action_25 -> .
(45) SumOrSub -> . plus
(46) SumOrSub -> . minus
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
coma reduce using rule 95 (action_25 -> .)
plus shift and go to state 77
minus shift and go to state 78
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
action_25 shift and go to state 145
SumOrSub shift and go to state 76
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 129
2019-03-21 22:59:22 -06:00
(21) S -> do then action_21 B action_22 . end do
2019-03-21 23:13:56 -06:00
2019-04-29 17:56:14 -05:00
end shift and go to state 146
2019-03-21 23:13:56 -06:00
2019-04-29 17:56:14 -05:00
state 130
2019-03-21 23:13:56 -06:00
(9) Dim -> openBra int action_30 closedBra openBra int . action_31 closedBra
2019-04-29 17:56:14 -05:00
(101) action_31 -> .
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
closedBra reduce using rule 101 (action_31 -> .)
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
action_31 shift and go to state 147
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 131
(26) DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty closedParen .
equals reduce using rule 26 (DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty closedParen .)
coma reduce using rule 26 (DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty closedParen .)
end reduce using rule 26 (DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty closedParen .)
id reduce using rule 26 (DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty closedParen .)
read reduce using rule 26 (DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty closedParen .)
print reduce using rule 26 (DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty closedParen .)
if reduce using rule 26 (DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty closedParen .)
do reduce using rule 26 (DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty closedParen .)
swap reduce using rule 26 (DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty closedParen .)
exit reduce using rule 26 (DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty closedParen .)
elif reduce using rule 26 (DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty closedParen .)
else reduce using rule 26 (DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty closedParen .)
mul reduce using rule 26 (DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty closedParen .)
div reduce using rule 26 (DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty closedParen .)
plus reduce using rule 26 (DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty closedParen .)
minus reduce using rule 26 (DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty closedParen .)
closedParen reduce using rule 26 (DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty closedParen .)
less reduce using rule 26 (DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty closedParen .)
more reduce using rule 26 (DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty closedParen .)
doubleEquals reduce using rule 26 (DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty closedParen .)
notEquals reduce using rule 26 (DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty closedParen .)
lessEquals reduce using rule 26 (DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty closedParen .)
moreEquals reduce using rule 26 (DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty closedParen .)
then reduce using rule 26 (DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty closedParen .)
and reduce using rule 26 (DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty closedParen .)
or reduce using rule 26 (DimensionsOrEmpty -> openParen EA action_setDim1 ComaEAOrEmpty closedParen .)
2019-04-29 17:56:14 -05:00
state 132
(28) ComaEAOrEmpty -> coma EA . action_setDim2
2019-04-29 17:56:14 -05:00
(44) EA -> EA . SumOrSub action_3 MultDiv action_4
(107) action_setDim2 -> .
(45) SumOrSub -> . plus
(46) SumOrSub -> . minus
2019-04-29 17:56:14 -05:00
closedParen reduce using rule 107 (action_setDim2 -> .)
plus shift and go to state 77
minus shift and go to state 78
2019-04-29 17:56:14 -05:00
action_setDim2 shift and go to state 148
SumOrSub shift and go to state 76
2019-04-29 17:56:14 -05:00
state 133
2019-04-29 17:56:14 -05:00
(44) EA -> EA SumOrSub action_3 MultDiv . action_4
(48) MultDiv -> MultDiv . MDSymbols action_5 EAParens action_6
(74) action_4 -> .
(49) MDSymbols -> . mul
(50) MDSymbols -> . div
plus reduce using rule 74 (action_4 -> .)
minus reduce using rule 74 (action_4 -> .)
coma reduce using rule 74 (action_4 -> .)
closedParen reduce using rule 74 (action_4 -> .)
end reduce using rule 74 (action_4 -> .)
id reduce using rule 74 (action_4 -> .)
read reduce using rule 74 (action_4 -> .)
print reduce using rule 74 (action_4 -> .)
if reduce using rule 74 (action_4 -> .)
do reduce using rule 74 (action_4 -> .)
swap reduce using rule 74 (action_4 -> .)
exit reduce using rule 74 (action_4 -> .)
elif reduce using rule 74 (action_4 -> .)
else reduce using rule 74 (action_4 -> .)
then reduce using rule 74 (action_4 -> .)
mul shift and go to state 80
div shift and go to state 81
action_4 shift and go to state 149
MDSymbols shift and go to state 79
2019-04-29 17:56:14 -05:00
state 134
2019-04-29 17:56:14 -05:00
(48) MultDiv -> MultDiv MDSymbols action_5 EAParens . action_6
(76) action_6 -> .
mul reduce using rule 76 (action_6 -> .)
div reduce using rule 76 (action_6 -> .)
plus reduce using rule 76 (action_6 -> .)
minus reduce using rule 76 (action_6 -> .)
coma reduce using rule 76 (action_6 -> .)
closedParen reduce using rule 76 (action_6 -> .)
end reduce using rule 76 (action_6 -> .)
id reduce using rule 76 (action_6 -> .)
read reduce using rule 76 (action_6 -> .)
print reduce using rule 76 (action_6 -> .)
if reduce using rule 76 (action_6 -> .)
do reduce using rule 76 (action_6 -> .)
swap reduce using rule 76 (action_6 -> .)
exit reduce using rule 76 (action_6 -> .)
elif reduce using rule 76 (action_6 -> .)
else reduce using rule 76 (action_6 -> .)
then reduce using rule 76 (action_6 -> .)
action_6 shift and go to state 150
2019-04-29 17:56:14 -05:00
state 135
(31) RDimensional -> RDimensional coma Dimensional action_1 action_36 .
coma reduce using rule 31 (RDimensional -> RDimensional coma Dimensional action_1 action_36 .)
end reduce using rule 31 (RDimensional -> RDimensional coma Dimensional action_1 action_36 .)
id reduce using rule 31 (RDimensional -> RDimensional coma Dimensional action_1 action_36 .)
read reduce using rule 31 (RDimensional -> RDimensional coma Dimensional action_1 action_36 .)
print reduce using rule 31 (RDimensional -> RDimensional coma Dimensional action_1 action_36 .)
if reduce using rule 31 (RDimensional -> RDimensional coma Dimensional action_1 action_36 .)
do reduce using rule 31 (RDimensional -> RDimensional coma Dimensional action_1 action_36 .)
swap reduce using rule 31 (RDimensional -> RDimensional coma Dimensional action_1 action_36 .)
exit reduce using rule 31 (RDimensional -> RDimensional coma Dimensional action_1 action_36 .)
elif reduce using rule 31 (RDimensional -> RDimensional coma Dimensional action_1 action_36 .)
else reduce using rule 31 (RDimensional -> RDimensional coma Dimensional action_1 action_36 .)
state 136
2019-03-21 22:59:22 -06:00
(19) S -> if action_16 Relif ElseOrEmpty end if . action_20
2019-04-29 17:56:14 -05:00
(90) action_20 -> .
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
end reduce using rule 90 (action_20 -> .)
id reduce using rule 90 (action_20 -> .)
read reduce using rule 90 (action_20 -> .)
print reduce using rule 90 (action_20 -> .)
if reduce using rule 90 (action_20 -> .)
do reduce using rule 90 (action_20 -> .)
swap reduce using rule 90 (action_20 -> .)
exit reduce using rule 90 (action_20 -> .)
elif reduce using rule 90 (action_20 -> .)
else reduce using rule 90 (action_20 -> .)
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
action_20 shift and go to state 151
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 137
2019-04-29 17:56:14 -05:00
(38) Relif -> Relif elif action_18 openParen . EL closedParen action_17 then B
(53) EL -> . AND
(54) EL -> . EL or action_10 AND action_9
(55) AND -> . Equality
(56) AND -> . AND and action_12 Equality action_11
(57) Equality -> . EItem EQSymbols action_13 EItem action_14
(58) Equality -> . openParen EL closedParen
(59) Equality -> . not EL action_15
(60) EItem -> . Dimensional action_1
(61) EItem -> . int action_2
(62) EItem -> . rea action_2_rea
(25) Dimensional -> . id DimensionsOrEmpty
2019-04-29 17:56:14 -05:00
openParen shift and go to state 93
not shift and go to state 98
int shift and go to state 55
rea shift and go to state 56
id shift and go to state 33
2019-04-29 17:56:14 -05:00
EL shift and go to state 152
AND shift and go to state 95
Equality shift and go to state 96
EItem shift and go to state 97
Dimensional shift and go to state 54
2019-04-29 17:56:14 -05:00
state 138
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(39) ElseOrEmpty -> else action_19 B .
2019-03-21 22:59:22 -06:00
(13) B -> B . S
(15) S -> . Dimensional action_7 equals EA action_8
2019-03-21 23:13:56 -06:00
(16) S -> . id parens
2019-03-21 22:59:22 -06:00
(17) S -> . read RDimensional
2019-04-29 17:56:14 -05:00
(18) S -> . print RDimOrString
(19) S -> . if action_16 Relif ElseOrEmpty end if action_20
(20) S -> . do id action_24 equals EA action_25 coma EA action_26 IntOrEmpty then B action_29 end do
(21) S -> . do then action_21 B action_22 end do
2019-03-21 22:59:22 -06:00
(22) S -> . swap Dimensional coma Dimensional
(23) S -> . exit action_23
(24) S -> . id openParen closedParen
(25) Dimensional -> . id DimensionsOrEmpty
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
end reduce using rule 39 (ElseOrEmpty -> else action_19 B .)
2019-03-21 22:59:22 -06:00
id shift and go to state 13
2019-03-21 23:13:56 -06:00
read shift and go to state 17
print shift and go to state 18
if shift and go to state 19
do shift and go to state 20
swap shift and go to state 21
exit shift and go to state 22
2019-03-21 22:59:22 -06:00
S shift and go to state 15
Dimensional shift and go to state 16
2019-04-29 17:56:14 -05:00
state 139
2019-04-29 17:56:14 -05:00
(58) Equality -> openParen EL closedParen .
2019-04-29 17:56:14 -05:00
and reduce using rule 58 (Equality -> openParen EL closedParen .)
closedParen reduce using rule 58 (Equality -> openParen EL closedParen .)
or reduce using rule 58 (Equality -> openParen EL closedParen .)
2019-04-29 17:56:14 -05:00
state 140
2019-04-29 17:56:14 -05:00
(37) Relif -> openParen EL closedParen action_17 . then B
2019-04-29 17:56:14 -05:00
then shift and go to state 153
2019-04-29 17:56:14 -05:00
state 141
2019-04-29 17:56:14 -05:00
(54) EL -> EL or action_10 . AND action_9
(55) AND -> . Equality
(56) AND -> . AND and action_12 Equality action_11
(57) Equality -> . EItem EQSymbols action_13 EItem action_14
(58) Equality -> . openParen EL closedParen
(59) Equality -> . not EL action_15
(60) EItem -> . Dimensional action_1
(61) EItem -> . int action_2
(62) EItem -> . rea action_2_rea
(25) Dimensional -> . id DimensionsOrEmpty
2019-04-29 17:56:14 -05:00
openParen shift and go to state 93
not shift and go to state 98
int shift and go to state 55
rea shift and go to state 56
id shift and go to state 33
2019-04-29 17:56:14 -05:00
AND shift and go to state 154
Equality shift and go to state 96
EItem shift and go to state 97
Dimensional shift and go to state 54
2019-04-29 17:56:14 -05:00
state 142
2019-04-29 17:56:14 -05:00
(56) AND -> AND and action_12 . Equality action_11
(57) Equality -> . EItem EQSymbols action_13 EItem action_14
(58) Equality -> . openParen EL closedParen
(59) Equality -> . not EL action_15
(60) EItem -> . Dimensional action_1
(61) EItem -> . int action_2
(62) EItem -> . rea action_2_rea
(25) Dimensional -> . id DimensionsOrEmpty
2019-04-29 17:56:14 -05:00
openParen shift and go to state 93
not shift and go to state 98
int shift and go to state 55
rea shift and go to state 56
id shift and go to state 33
2019-04-29 17:56:14 -05:00
Equality shift and go to state 155
EItem shift and go to state 97
Dimensional shift and go to state 54
2019-04-29 17:56:14 -05:00
state 143
2019-04-29 17:56:14 -05:00
(57) Equality -> EItem EQSymbols action_13 . EItem action_14
(60) EItem -> . Dimensional action_1
(61) EItem -> . int action_2
(62) EItem -> . rea action_2_rea
(25) Dimensional -> . id DimensionsOrEmpty
2019-04-29 17:56:14 -05:00
int shift and go to state 55
rea shift and go to state 56
id shift and go to state 33
2019-04-29 17:56:14 -05:00
EItem shift and go to state 156
Dimensional shift and go to state 54
2019-04-29 17:56:14 -05:00
state 144
2019-04-29 17:56:14 -05:00
(59) Equality -> not EL action_15 .
2019-04-29 17:56:14 -05:00
and reduce using rule 59 (Equality -> not EL action_15 .)
closedParen reduce using rule 59 (Equality -> not EL action_15 .)
or reduce using rule 59 (Equality -> not EL action_15 .)
2019-04-29 17:56:14 -05:00
state 145
2019-03-21 22:59:22 -06:00
(20) S -> do id action_24 equals EA action_25 . coma EA action_26 IntOrEmpty then B action_29 end do
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
coma shift and go to state 157
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 146
(21) S -> do then action_21 B action_22 end . do
2019-04-29 17:56:14 -05:00
do shift and go to state 158
2019-04-29 17:56:14 -05:00
state 147
(9) Dim -> openBra int action_30 closedBra openBra int action_31 . closedBra
2019-04-29 17:56:14 -05:00
closedBra shift and go to state 159
2019-04-29 17:56:14 -05:00
state 148
(28) ComaEAOrEmpty -> coma EA action_setDim2 .
closedParen reduce using rule 28 (ComaEAOrEmpty -> coma EA action_setDim2 .)
2019-04-29 17:56:14 -05:00
state 149
2019-04-29 17:56:14 -05:00
(44) EA -> EA SumOrSub action_3 MultDiv action_4 .
plus reduce using rule 44 (EA -> EA SumOrSub action_3 MultDiv action_4 .)
minus reduce using rule 44 (EA -> EA SumOrSub action_3 MultDiv action_4 .)
coma reduce using rule 44 (EA -> EA SumOrSub action_3 MultDiv action_4 .)
closedParen reduce using rule 44 (EA -> EA SumOrSub action_3 MultDiv action_4 .)
end reduce using rule 44 (EA -> EA SumOrSub action_3 MultDiv action_4 .)
id reduce using rule 44 (EA -> EA SumOrSub action_3 MultDiv action_4 .)
read reduce using rule 44 (EA -> EA SumOrSub action_3 MultDiv action_4 .)
print reduce using rule 44 (EA -> EA SumOrSub action_3 MultDiv action_4 .)
if reduce using rule 44 (EA -> EA SumOrSub action_3 MultDiv action_4 .)
do reduce using rule 44 (EA -> EA SumOrSub action_3 MultDiv action_4 .)
swap reduce using rule 44 (EA -> EA SumOrSub action_3 MultDiv action_4 .)
exit reduce using rule 44 (EA -> EA SumOrSub action_3 MultDiv action_4 .)
elif reduce using rule 44 (EA -> EA SumOrSub action_3 MultDiv action_4 .)
else reduce using rule 44 (EA -> EA SumOrSub action_3 MultDiv action_4 .)
then reduce using rule 44 (EA -> EA SumOrSub action_3 MultDiv action_4 .)
2019-04-29 17:56:14 -05:00
state 150
2019-04-29 17:56:14 -05:00
(48) MultDiv -> MultDiv MDSymbols action_5 EAParens action_6 .
mul reduce using rule 48 (MultDiv -> MultDiv MDSymbols action_5 EAParens action_6 .)
div reduce using rule 48 (MultDiv -> MultDiv MDSymbols action_5 EAParens action_6 .)
plus reduce using rule 48 (MultDiv -> MultDiv MDSymbols action_5 EAParens action_6 .)
minus reduce using rule 48 (MultDiv -> MultDiv MDSymbols action_5 EAParens action_6 .)
coma reduce using rule 48 (MultDiv -> MultDiv MDSymbols action_5 EAParens action_6 .)
closedParen reduce using rule 48 (MultDiv -> MultDiv MDSymbols action_5 EAParens action_6 .)
end reduce using rule 48 (MultDiv -> MultDiv MDSymbols action_5 EAParens action_6 .)
id reduce using rule 48 (MultDiv -> MultDiv MDSymbols action_5 EAParens action_6 .)
read reduce using rule 48 (MultDiv -> MultDiv MDSymbols action_5 EAParens action_6 .)
print reduce using rule 48 (MultDiv -> MultDiv MDSymbols action_5 EAParens action_6 .)
if reduce using rule 48 (MultDiv -> MultDiv MDSymbols action_5 EAParens action_6 .)
do reduce using rule 48 (MultDiv -> MultDiv MDSymbols action_5 EAParens action_6 .)
swap reduce using rule 48 (MultDiv -> MultDiv MDSymbols action_5 EAParens action_6 .)
exit reduce using rule 48 (MultDiv -> MultDiv MDSymbols action_5 EAParens action_6 .)
elif reduce using rule 48 (MultDiv -> MultDiv MDSymbols action_5 EAParens action_6 .)
else reduce using rule 48 (MultDiv -> MultDiv MDSymbols action_5 EAParens action_6 .)
then reduce using rule 48 (MultDiv -> MultDiv MDSymbols action_5 EAParens action_6 .)
2019-04-29 17:56:14 -05:00
state 151
(19) S -> if action_16 Relif ElseOrEmpty end if action_20 .
end reduce using rule 19 (S -> if action_16 Relif ElseOrEmpty end if action_20 .)
id reduce using rule 19 (S -> if action_16 Relif ElseOrEmpty end if action_20 .)
read reduce using rule 19 (S -> if action_16 Relif ElseOrEmpty end if action_20 .)
print reduce using rule 19 (S -> if action_16 Relif ElseOrEmpty end if action_20 .)
if reduce using rule 19 (S -> if action_16 Relif ElseOrEmpty end if action_20 .)
do reduce using rule 19 (S -> if action_16 Relif ElseOrEmpty end if action_20 .)
swap reduce using rule 19 (S -> if action_16 Relif ElseOrEmpty end if action_20 .)
exit reduce using rule 19 (S -> if action_16 Relif ElseOrEmpty end if action_20 .)
elif reduce using rule 19 (S -> if action_16 Relif ElseOrEmpty end if action_20 .)
else reduce using rule 19 (S -> if action_16 Relif ElseOrEmpty end if action_20 .)
2019-04-29 17:56:14 -05:00
state 152
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(38) Relif -> Relif elif action_18 openParen EL . closedParen action_17 then B
(54) EL -> EL . or action_10 AND action_9
2019-04-29 17:56:14 -05:00
closedParen shift and go to state 160
or shift and go to state 118
2019-04-29 17:56:14 -05:00
state 153
2019-04-29 17:56:14 -05:00
(37) Relif -> openParen EL closedParen action_17 then . B
2019-03-21 22:59:22 -06:00
(13) B -> . B S
(14) B -> .
2019-03-21 23:13:56 -06:00
id reduce using rule 14 (B -> .)
2019-03-21 22:59:22 -06:00
read reduce using rule 14 (B -> .)
print reduce using rule 14 (B -> .)
if reduce using rule 14 (B -> .)
do reduce using rule 14 (B -> .)
swap reduce using rule 14 (B -> .)
exit reduce using rule 14 (B -> .)
elif reduce using rule 14 (B -> .)
else reduce using rule 14 (B -> .)
end reduce using rule 14 (B -> .)
2019-04-29 17:56:14 -05:00
B shift and go to state 161
2019-04-29 17:56:14 -05:00
state 154
2019-04-29 17:56:14 -05:00
(54) EL -> EL or action_10 AND . action_9
(56) AND -> AND . and action_12 Equality action_11
(79) action_9 -> .
! shift/reduce conflict for and resolved as shift
2019-04-29 17:56:14 -05:00
and shift and go to state 119
closedParen reduce using rule 79 (action_9 -> .)
or reduce using rule 79 (action_9 -> .)
2019-04-29 17:56:14 -05:00
! and [ reduce using rule 79 (action_9 -> .) ]
2019-04-29 17:56:14 -05:00
action_9 shift and go to state 162
2019-04-29 17:56:14 -05:00
state 155
2019-04-29 17:56:14 -05:00
(56) AND -> AND and action_12 Equality . action_11
(81) action_11 -> .
2019-04-29 17:56:14 -05:00
and reduce using rule 81 (action_11 -> .)
closedParen reduce using rule 81 (action_11 -> .)
or reduce using rule 81 (action_11 -> .)
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
action_11 shift and go to state 163
2019-04-29 17:56:14 -05:00
state 156
2019-04-29 17:56:14 -05:00
(57) Equality -> EItem EQSymbols action_13 EItem . action_14
(84) action_14 -> .
2019-04-29 17:56:14 -05:00
and reduce using rule 84 (action_14 -> .)
closedParen reduce using rule 84 (action_14 -> .)
or reduce using rule 84 (action_14 -> .)
2019-04-29 17:56:14 -05:00
action_14 shift and go to state 164
2019-04-29 17:56:14 -05:00
state 157
(20) S -> do id action_24 equals EA action_25 coma . EA action_26 IntOrEmpty then B action_29 end do
2019-04-29 17:56:14 -05:00
(43) EA -> . MultDiv
(44) EA -> . EA SumOrSub action_3 MultDiv action_4
(47) MultDiv -> . EAParens
(48) MultDiv -> . MultDiv MDSymbols action_5 EAParens action_6
(51) EAParens -> . EItem
(52) EAParens -> . openParen EA closedParen
(60) EItem -> . Dimensional action_1
(61) EItem -> . int action_2
(62) EItem -> . rea action_2_rea
(25) Dimensional -> . id DimensionsOrEmpty
2019-04-29 17:56:14 -05:00
openParen shift and go to state 48
int shift and go to state 55
rea shift and go to state 56
id shift and go to state 33
2019-04-29 17:56:14 -05:00
EA shift and go to state 165
MultDiv shift and go to state 51
EAParens shift and go to state 52
EItem shift and go to state 53
Dimensional shift and go to state 54
2019-04-29 17:56:14 -05:00
state 158
2019-03-21 22:59:22 -06:00
(21) S -> do then action_21 B action_22 end do .
end reduce using rule 21 (S -> do then action_21 B action_22 end do .)
id reduce using rule 21 (S -> do then action_21 B action_22 end do .)
read reduce using rule 21 (S -> do then action_21 B action_22 end do .)
print reduce using rule 21 (S -> do then action_21 B action_22 end do .)
if reduce using rule 21 (S -> do then action_21 B action_22 end do .)
do reduce using rule 21 (S -> do then action_21 B action_22 end do .)
swap reduce using rule 21 (S -> do then action_21 B action_22 end do .)
exit reduce using rule 21 (S -> do then action_21 B action_22 end do .)
elif reduce using rule 21 (S -> do then action_21 B action_22 end do .)
else reduce using rule 21 (S -> do then action_21 B action_22 end do .)
2019-04-29 17:56:14 -05:00
state 159
2019-03-21 22:59:22 -06:00
(9) Dim -> openBra int action_30 closedBra openBra int action_31 closedBra .
2019-03-21 22:59:22 -06:00
doubleColon reduce using rule 9 (Dim -> openBra int action_30 closedBra openBra int action_31 closedBra .)
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 160
2019-04-29 17:56:14 -05:00
(38) Relif -> Relif elif action_18 openParen EL closedParen . action_17 then B
(87) action_17 -> .
2019-04-29 17:56:14 -05:00
then reduce using rule 87 (action_17 -> .)
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
action_17 shift and go to state 166
2019-04-29 17:56:14 -05:00
state 161
2019-04-29 17:56:14 -05:00
(37) Relif -> openParen EL closedParen action_17 then B .
2019-03-21 22:59:22 -06:00
(13) B -> B . S
(15) S -> . Dimensional action_7 equals EA action_8
2019-03-21 23:13:56 -06:00
(16) S -> . id parens
2019-03-21 22:59:22 -06:00
(17) S -> . read RDimensional
2019-04-29 17:56:14 -05:00
(18) S -> . print RDimOrString
(19) S -> . if action_16 Relif ElseOrEmpty end if action_20
(20) S -> . do id action_24 equals EA action_25 coma EA action_26 IntOrEmpty then B action_29 end do
(21) S -> . do then action_21 B action_22 end do
2019-03-21 22:59:22 -06:00
(22) S -> . swap Dimensional coma Dimensional
(23) S -> . exit action_23
(24) S -> . id openParen closedParen
(25) Dimensional -> . id DimensionsOrEmpty
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
elif reduce using rule 37 (Relif -> openParen EL closedParen action_17 then B .)
else reduce using rule 37 (Relif -> openParen EL closedParen action_17 then B .)
end reduce using rule 37 (Relif -> openParen EL closedParen action_17 then B .)
2019-03-21 22:59:22 -06:00
id shift and go to state 13
2019-03-21 23:13:56 -06:00
read shift and go to state 17
print shift and go to state 18
if shift and go to state 19
do shift and go to state 20
swap shift and go to state 21
exit shift and go to state 22
2019-03-21 22:59:22 -06:00
S shift and go to state 15
Dimensional shift and go to state 16
2019-04-29 17:56:14 -05:00
state 162
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(54) EL -> EL or action_10 AND action_9 .
2019-04-29 17:56:14 -05:00
closedParen reduce using rule 54 (EL -> EL or action_10 AND action_9 .)
or reduce using rule 54 (EL -> EL or action_10 AND action_9 .)
and reduce using rule 54 (EL -> EL or action_10 AND action_9 .)
2019-04-29 17:56:14 -05:00
state 163
2019-04-29 17:56:14 -05:00
(56) AND -> AND and action_12 Equality action_11 .
2019-04-29 17:56:14 -05:00
and reduce using rule 56 (AND -> AND and action_12 Equality action_11 .)
closedParen reduce using rule 56 (AND -> AND and action_12 Equality action_11 .)
or reduce using rule 56 (AND -> AND and action_12 Equality action_11 .)
2019-04-29 17:56:14 -05:00
state 164
2019-04-29 17:56:14 -05:00
(57) Equality -> EItem EQSymbols action_13 EItem action_14 .
2019-04-29 17:56:14 -05:00
and reduce using rule 57 (Equality -> EItem EQSymbols action_13 EItem action_14 .)
closedParen reduce using rule 57 (Equality -> EItem EQSymbols action_13 EItem action_14 .)
or reduce using rule 57 (Equality -> EItem EQSymbols action_13 EItem action_14 .)
2019-04-29 17:56:14 -05:00
state 165
(20) S -> do id action_24 equals EA action_25 coma EA . action_26 IntOrEmpty then B action_29 end do
2019-04-29 17:56:14 -05:00
(44) EA -> EA . SumOrSub action_3 MultDiv action_4
(96) action_26 -> .
(45) SumOrSub -> . plus
(46) SumOrSub -> . minus
2019-04-29 17:56:14 -05:00
coma reduce using rule 96 (action_26 -> .)
then reduce using rule 96 (action_26 -> .)
plus shift and go to state 77
minus shift and go to state 78
2019-04-29 17:56:14 -05:00
action_26 shift and go to state 167
SumOrSub shift and go to state 76
2019-04-29 17:56:14 -05:00
state 166
2019-04-29 17:56:14 -05:00
(38) Relif -> Relif elif action_18 openParen EL closedParen action_17 . then B
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
then shift and go to state 168
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 167
2019-03-21 22:59:22 -06:00
(20) S -> do id action_24 equals EA action_25 coma EA action_26 . IntOrEmpty then B action_29 end do
2019-04-29 17:56:14 -05:00
(41) IntOrEmpty -> . coma int action_28
(42) IntOrEmpty -> . action_27
(97) action_27 -> .
2019-04-29 17:56:14 -05:00
coma shift and go to state 169
then reduce using rule 97 (action_27 -> .)
2019-04-29 17:56:14 -05:00
IntOrEmpty shift and go to state 170
action_27 shift and go to state 171
2019-04-29 17:56:14 -05:00
state 168
2019-04-29 17:56:14 -05:00
(38) Relif -> Relif elif action_18 openParen EL closedParen action_17 then . B
2019-03-21 23:13:56 -06:00
(13) B -> . B S
(14) B -> .
id reduce using rule 14 (B -> .)
read reduce using rule 14 (B -> .)
print reduce using rule 14 (B -> .)
if reduce using rule 14 (B -> .)
do reduce using rule 14 (B -> .)
swap reduce using rule 14 (B -> .)
exit reduce using rule 14 (B -> .)
elif reduce using rule 14 (B -> .)
else reduce using rule 14 (B -> .)
end reduce using rule 14 (B -> .)
2019-03-21 23:13:56 -06:00
2019-04-29 17:56:14 -05:00
B shift and go to state 172
2019-03-21 23:13:56 -06:00
2019-04-29 17:56:14 -05:00
state 169
2019-04-29 17:56:14 -05:00
(41) IntOrEmpty -> coma . int action_28
2019-04-29 17:56:14 -05:00
int shift and go to state 173
2019-04-29 17:56:14 -05:00
state 170
(20) S -> do id action_24 equals EA action_25 coma EA action_26 IntOrEmpty . then B action_29 end do
2019-04-29 17:56:14 -05:00
then shift and go to state 174
2019-04-29 17:56:14 -05:00
state 171
2019-04-29 17:56:14 -05:00
(42) IntOrEmpty -> action_27 .
2019-04-29 17:56:14 -05:00
then reduce using rule 42 (IntOrEmpty -> action_27 .)
2019-03-21 23:13:56 -06:00
2019-04-29 17:56:14 -05:00
state 172
2019-04-29 17:56:14 -05:00
(38) Relif -> Relif elif action_18 openParen EL closedParen action_17 then B .
2019-03-21 22:59:22 -06:00
(13) B -> B . S
(15) S -> . Dimensional action_7 equals EA action_8
2019-03-21 23:13:56 -06:00
(16) S -> . id parens
2019-03-21 22:59:22 -06:00
(17) S -> . read RDimensional
2019-04-29 17:56:14 -05:00
(18) S -> . print RDimOrString
(19) S -> . if action_16 Relif ElseOrEmpty end if action_20
(20) S -> . do id action_24 equals EA action_25 coma EA action_26 IntOrEmpty then B action_29 end do
(21) S -> . do then action_21 B action_22 end do
2019-03-21 22:59:22 -06:00
(22) S -> . swap Dimensional coma Dimensional
(23) S -> . exit action_23
(24) S -> . id openParen closedParen
(25) Dimensional -> . id DimensionsOrEmpty
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
elif reduce using rule 38 (Relif -> Relif elif action_18 openParen EL closedParen action_17 then B .)
else reduce using rule 38 (Relif -> Relif elif action_18 openParen EL closedParen action_17 then B .)
end reduce using rule 38 (Relif -> Relif elif action_18 openParen EL closedParen action_17 then B .)
2019-03-21 22:59:22 -06:00
id shift and go to state 13
2019-03-21 23:13:56 -06:00
read shift and go to state 17
print shift and go to state 18
if shift and go to state 19
do shift and go to state 20
swap shift and go to state 21
exit shift and go to state 22
2019-03-21 22:59:22 -06:00
S shift and go to state 15
Dimensional shift and go to state 16
2019-04-29 17:56:14 -05:00
state 173
2019-04-29 17:56:14 -05:00
(41) IntOrEmpty -> coma int . action_28
(98) action_28 -> .
2019-04-29 17:56:14 -05:00
then reduce using rule 98 (action_28 -> .)
2019-04-29 17:56:14 -05:00
action_28 shift and go to state 175
2019-04-29 17:56:14 -05:00
state 174
(20) S -> do id action_24 equals EA action_25 coma EA action_26 IntOrEmpty then . B action_29 end do
(13) B -> . B S
(14) B -> .
id reduce using rule 14 (B -> .)
read reduce using rule 14 (B -> .)
print reduce using rule 14 (B -> .)
if reduce using rule 14 (B -> .)
do reduce using rule 14 (B -> .)
swap reduce using rule 14 (B -> .)
exit reduce using rule 14 (B -> .)
end reduce using rule 14 (B -> .)
2019-04-29 17:56:14 -05:00
B shift and go to state 176
2019-04-29 17:56:14 -05:00
state 175
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
(41) IntOrEmpty -> coma int action_28 .
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
then reduce using rule 41 (IntOrEmpty -> coma int action_28 .)
2019-03-21 22:59:22 -06:00
2019-04-29 17:56:14 -05:00
state 176
(20) S -> do id action_24 equals EA action_25 coma EA action_26 IntOrEmpty then B . action_29 end do
(13) B -> B . S
2019-04-29 17:56:14 -05:00
(99) action_29 -> .
(15) S -> . Dimensional action_7 equals EA action_8
(16) S -> . id parens
(17) S -> . read RDimensional
2019-04-29 17:56:14 -05:00
(18) S -> . print RDimOrString
(19) S -> . if action_16 Relif ElseOrEmpty end if action_20
(20) S -> . do id action_24 equals EA action_25 coma EA action_26 IntOrEmpty then B action_29 end do
(21) S -> . do then action_21 B action_22 end do
(22) S -> . swap Dimensional coma Dimensional
(23) S -> . exit action_23
(24) S -> . id openParen closedParen
(25) Dimensional -> . id DimensionsOrEmpty
2019-04-29 17:56:14 -05:00
end reduce using rule 99 (action_29 -> .)
id shift and go to state 13
read shift and go to state 17
print shift and go to state 18
if shift and go to state 19
do shift and go to state 20
swap shift and go to state 21
exit shift and go to state 22
2019-04-29 17:56:14 -05:00
action_29 shift and go to state 177
S shift and go to state 15
Dimensional shift and go to state 16
2019-04-29 17:56:14 -05:00
state 177
(20) S -> do id action_24 equals EA action_25 coma EA action_26 IntOrEmpty then B action_29 . end do
2019-04-29 17:56:14 -05:00
end shift and go to state 178
2019-04-29 17:56:14 -05:00
state 178
(20) S -> do id action_24 equals EA action_25 coma EA action_26 IntOrEmpty then B action_29 end . do
2019-04-29 17:56:14 -05:00
do shift and go to state 179
2019-04-29 17:56:14 -05:00
state 179
(20) S -> do id action_24 equals EA action_25 coma EA action_26 IntOrEmpty then B action_29 end do .
2019-03-21 22:59:22 -06:00
end reduce using rule 20 (S -> do id action_24 equals EA action_25 coma EA action_26 IntOrEmpty then B action_29 end do .)
id reduce using rule 20 (S -> do id action_24 equals EA action_25 coma EA action_26 IntOrEmpty then B action_29 end do .)
read reduce using rule 20 (S -> do id action_24 equals EA action_25 coma EA action_26 IntOrEmpty then B action_29 end do .)
print reduce using rule 20 (S -> do id action_24 equals EA action_25 coma EA action_26 IntOrEmpty then B action_29 end do .)
if reduce using rule 20 (S -> do id action_24 equals EA action_25 coma EA action_26 IntOrEmpty then B action_29 end do .)
do reduce using rule 20 (S -> do id action_24 equals EA action_25 coma EA action_26 IntOrEmpty then B action_29 end do .)
swap reduce using rule 20 (S -> do id action_24 equals EA action_25 coma EA action_26 IntOrEmpty then B action_29 end do .)
exit reduce using rule 20 (S -> do id action_24 equals EA action_25 coma EA action_26 IntOrEmpty then B action_29 end do .)
elif reduce using rule 20 (S -> do id action_24 equals EA action_25 coma EA action_26 IntOrEmpty then B action_29 end do .)
else reduce using rule 20 (S -> do id action_24 equals EA action_25 coma EA action_26 IntOrEmpty then B action_29 end do .)
2019-03-21 22:59:22 -06:00
WARNING:
WARNING: Conflicts:
WARNING:
2019-04-29 17:56:14 -05:00
WARNING: shift/reduce conflict for and in state 95 resolved as shift
WARNING: shift/reduce conflict for or in state 127 resolved as shift
WARNING: shift/reduce conflict for and in state 154 resolved as shift