Terminales que no se usan

   "expression"
   "return"
   "null"
   TOKEN_KEY_UP
   TOKEN_KEY_DOWN


Estado 21 conflictos: 1 reducción(ones)/reducción(ones)
Estado 56 conflictos: 2 reducción(ones)/reducción(ones)
Estado 120 conflictos: 1 desplazamiento(s)/reducción(ones)


Gramática

    0 $accept: main "end of file"

    1 main: /* vacío */
    2     | def_functions

    3 def_functions: global_inst
    4              | def_functions global_inst

    5 global_inst: exp ";"
    6            | "identifier" "(" def_params ")" "{" instructions "}"

    7 def_params: /* vacío */
    8           | def_param

    9 def_param: "identifier"
   10          | def_param "," "identifier"

   11 instructions: /* vacío */
   12             | lines

   13 lines: line
   14      | lines line

   15 line: exp ";"
   16     | if
   17     | while_statement
   18     | for_statement

   19 exp: value
   20    | list
   21    | bool_exp
   22    | arithmetic_exp
   23    | left_exp

   24 list: "(" list_items ")"

   25 list_items: /* vacío */
   26           | list_item

   27 list_item: exp
   28          | list_item "," exp

   29 arithmetic_exp: "-" exp
   30               | exp "+" exp
   31               | exp "-" exp
   32               | exp "*" exp
   33               | exp "/" exp
   34               | exp "%" exp
   35               | left_exp "=" exp
   36               | "++" left_exp
   37               | left_exp "++"
   38               | "--" left_exp
   39               | left_exp "--"
   40               | left_exp "+=" exp
   41               | left_exp "-=" exp
   42               | left_exp "*=" exp
   43               | left_exp "/=" exp
   44               | left_exp "%=" exp

   45 left_exp: "identifier"
   46         | call_function
   47         | left_exp "." "identifier"
   48         | left_exp "." call_function
   49         | left_exp "[" exp "]"

   50 bool_exp: "!" exp
   51         | exp "<" exp
   52         | exp ">" exp
   53         | exp "<=" exp
   54         | exp ">=" exp
   55         | exp "==" exp
   56         | exp "!=" exp
   57         | exp "&&" exp
   58         | exp "||" exp

   59 value: "int"
   60      | "bool"
   61      | "float"
   62      | "string"

   63 if: "if" "(" exp ")" action
   64   | "if" "(" exp ")" action "else" action

   65 while_statement: "while" "(" exp ")" action

   66 for_statement: "for" "(" exp ";" exp ";" exp ")" action

   67 action: line
   68       | "{" instructions "}"

   69 call_function: "identifier" "(" call_params ")"

   70 call_params: /* vacío */
   71            | call_param

   72 call_param: exp
   73           | call_param "," exp


Terminales con las reglas donde aparecen

"end of file" (0) 0
error (256)
"identifier" (258) 6 9 10 45 47 69
"expression" (259)
"int" (260) 59
"bool" (261) 60
"float" (262) 61
"string" (263) 62
"." (264) 47 48
"," (265) 10 28 73
";" (266) 5 15 66
"[" (267) 49
"]" (268) 49
"(" (269) 6 24 63 64 65 66 69
")" (270) 6 24 63 64 65 66 69
"{" (271) 6 68
"}" (272) 6 68
"!" (273) 50
"=" (274) 35
"&&" (275) 57
"||" (276) 58
"==" (277) 55
"!=" (278) 56
"<" (279) 51
">" (280) 52
"<=" (281) 53
">=" (282) 54
"+" (283) 30
"++" (284) 36 37
"+=" (285) 40
"-" (286) 29 31
"--" (287) 38 39
"-=" (288) 41
"*" (289) 32
"*=" (290) 42
"/" (291) 33
"/=" (292) 43
"%" (293) 34
"%=" (294) 44
"return" (295)
"null" (296)
"if" (297) 63 64
"else" (298) 64
"for" (299) 66
"while" (300) 65
TOKEN_KEY_UP (301)
TOKEN_KEY_DOWN (302)


No terminales con las reglas donde aparecen

$accept (48)
    en la izquierda: 0
main (49)
    en la izquierda: 1 2, en la derecha: 0
def_functions (50)
    en la izquierda: 3 4, en la derecha: 2 4
global_inst (51)
    en la izquierda: 5 6, en la derecha: 3 4
def_params (52)
    en la izquierda: 7 8, en la derecha: 6
def_param (53)
    en la izquierda: 9 10, en la derecha: 8 10
instructions (54)
    en la izquierda: 11 12, en la derecha: 6 68
lines (55)
    en la izquierda: 13 14, en la derecha: 12 14
line (56)
    en la izquierda: 15 16 17 18, en la derecha: 13 14 67
exp (57)
    en la izquierda: 19 20 21 22 23, en la derecha: 5 15 27 28 29 30
    31 32 33 34 35 40 41 42 43 44 49 50 51 52 53 54 55 56 57 58 63
    64 65 66 72 73
list (58)
    en la izquierda: 24, en la derecha: 20
list_items (59)
    en la izquierda: 25 26, en la derecha: 24
list_item (60)
    en la izquierda: 27 28, en la derecha: 26 28
arithmetic_exp (61)
    en la izquierda: 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
   , en la derecha: 22
left_exp (62)
    en la izquierda: 45 46 47 48 49, en la derecha: 23 35 36 37 38
    39 40 41 42 43 44 47 48 49
bool_exp (63)
    en la izquierda: 50 51 52 53 54 55 56 57 58, en la derecha: 21
value (64)
    en la izquierda: 59 60 61 62, en la derecha: 19
if (65)
    en la izquierda: 63 64, en la derecha: 16
while_statement (66)
    en la izquierda: 65, en la derecha: 17
for_statement (67)
    en la izquierda: 66, en la derecha: 18
action (68)
    en la izquierda: 67 68, en la derecha: 63 64 65 66
call_function (69)
    en la izquierda: 69, en la derecha: 46 48
call_params (70)
    en la izquierda: 70 71, en la derecha: 69
call_param (71)
    en la izquierda: 72 73, en la derecha: 71 73


estado 0

    0 $accept: . main "end of file"
    1 main: .  ["end of file"]
    2     | . def_functions
    3 def_functions: . global_inst
    4              | . def_functions global_inst
    5 global_inst: . exp ";"
    6            | . "identifier" "(" def_params ")" "{" instructions "}"
   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 1
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    $default  reduce usando la regla 1 (main)

    main            ir al estado 11
    def_functions   ir al estado 12
    global_inst     ir al estado 13
    exp             ir al estado 14
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 1

    6 global_inst: "identifier" . "(" def_params ")" "{" instructions "}"
   45 left_exp: "identifier" .  [".", ";", "[", "=", "&&", "||", "==", "!=", "<", ">", "<=", ">=", "+", "++", "+=", "-", "--", "-=", "*", "*=", "/", "/=", "%", "%="]
   69 call_function: "identifier" . "(" call_params ")"

    "("  desplazar e ir al estado 21

    $default  reduce usando la regla 45 (left_exp)


estado 2

   59 value: "int" .

    $default  reduce usando la regla 59 (value)


estado 3

   60 value: "bool" .

    $default  reduce usando la regla 60 (value)


estado 4

   61 value: "float" .

    $default  reduce usando la regla 61 (value)


estado 5

   62 value: "string" .

    $default  reduce usando la regla 62 (value)


estado 6

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   24     | "(" . list_items ")"
   25 list_items: .  [")"]
   26           | . list_item
   27 list_item: . exp
   28          | . list_item "," exp
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    $default  reduce usando la regla 25 (list_items)

    exp             ir al estado 23
    list            ir al estado 15
    list_items      ir al estado 24
    list_item       ir al estado 25
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 7

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   50         | "!" . exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    exp             ir al estado 26
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 8

   36 arithmetic_exp: "++" . left_exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22

    left_exp       ir al estado 27
    call_function  ir al estado 20


estado 9

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   29               | "-" . exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    exp             ir al estado 28
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 10

   38 arithmetic_exp: "--" . left_exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22

    left_exp       ir al estado 29
    call_function  ir al estado 20


estado 11

    0 $accept: main . "end of file"

    "end of file"  desplazar e ir al estado 30


estado 12

    2 main: def_functions .  ["end of file"]
    4 def_functions: def_functions . global_inst
    5 global_inst: . exp ";"
    6            | . "identifier" "(" def_params ")" "{" instructions "}"
   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 1
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    $default  reduce usando la regla 2 (main)

    global_inst     ir al estado 31
    exp             ir al estado 14
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 13

    3 def_functions: global_inst .

    $default  reduce usando la regla 3 (def_functions)


estado 14

    5 global_inst: exp . ";"
   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp

    ";"   desplazar e ir al estado 32
    "&&"  desplazar e ir al estado 33
    "||"  desplazar e ir al estado 34
    "=="  desplazar e ir al estado 35
    "!="  desplazar e ir al estado 36
    "<"   desplazar e ir al estado 37
    ">"   desplazar e ir al estado 38
    "<="  desplazar e ir al estado 39
    ">="  desplazar e ir al estado 40
    "+"   desplazar e ir al estado 41
    "-"   desplazar e ir al estado 42
    "*"   desplazar e ir al estado 43
    "/"   desplazar e ir al estado 44
    "%"   desplazar e ir al estado 45


estado 15

   20 exp: list .

    $default  reduce usando la regla 20 (exp)


estado 16

   22 exp: arithmetic_exp .

    $default  reduce usando la regla 22 (exp)


estado 17

   23 exp: left_exp .  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">=", "+", "-", "*", "/", "%"]
   35 arithmetic_exp: left_exp . "=" exp
   37               | left_exp . "++"
   39               | left_exp . "--"
   40               | left_exp . "+=" exp
   41               | left_exp . "-=" exp
   42               | left_exp . "*=" exp
   43               | left_exp . "/=" exp
   44               | left_exp . "%=" exp
   47 left_exp: left_exp . "." "identifier"
   48         | left_exp . "." call_function
   49         | left_exp . "[" exp "]"

    "."   desplazar e ir al estado 46
    "["   desplazar e ir al estado 47
    "="   desplazar e ir al estado 48
    "++"  desplazar e ir al estado 49
    "+="  desplazar e ir al estado 50
    "--"  desplazar e ir al estado 51
    "-="  desplazar e ir al estado 52
    "*="  desplazar e ir al estado 53
    "/="  desplazar e ir al estado 54
    "%="  desplazar e ir al estado 55

    $default  reduce usando la regla 23 (exp)


estado 18

   21 exp: bool_exp .

    $default  reduce usando la regla 21 (exp)


estado 19

   19 exp: value .

    $default  reduce usando la regla 19 (exp)


estado 20

   46 left_exp: call_function .

    $default  reduce usando la regla 46 (left_exp)


estado 21

    6 global_inst: "identifier" "(" . def_params ")" "{" instructions "}"
    7 def_params: .  [")"]
    8           | . def_param
    9 def_param: . "identifier"
   10          | . def_param "," "identifier"
   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   69 call_function: . "identifier" "(" call_params ")"
   69              | "identifier" "(" . call_params ")"
   70 call_params: .  [")"]
   71            | . call_param
   72 call_param: . exp
   73           | . call_param "," exp

    "identifier"  desplazar e ir al estado 56
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    ")"       reduce usando la regla 7 (def_params)
    ")"       [reduce usando la regla 70 (call_params)]
    $default  reduce usando la regla 7 (def_params)

    def_params      ir al estado 57
    def_param       ir al estado 58
    exp             ir al estado 59
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20
    call_params     ir al estado 60
    call_param      ir al estado 61


estado 22

   45 left_exp: "identifier" .  [".", ",", ";", "[", "]", ")", "=", "&&", "||", "==", "!=", "<", ">", "<=", ">=", "+", "++", "+=", "-", "--", "-=", "*", "*=", "/", "/=", "%", "%="]
   69 call_function: "identifier" . "(" call_params ")"

    "("  desplazar e ir al estado 62

    $default  reduce usando la regla 45 (left_exp)


estado 23

   27 list_item: exp .  [",", ")"]
   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp

    "&&"  desplazar e ir al estado 33
    "||"  desplazar e ir al estado 34
    "=="  desplazar e ir al estado 35
    "!="  desplazar e ir al estado 36
    "<"   desplazar e ir al estado 37
    ">"   desplazar e ir al estado 38
    "<="  desplazar e ir al estado 39
    ">="  desplazar e ir al estado 40
    "+"   desplazar e ir al estado 41
    "-"   desplazar e ir al estado 42
    "*"   desplazar e ir al estado 43
    "/"   desplazar e ir al estado 44
    "%"   desplazar e ir al estado 45

    $default  reduce usando la regla 27 (list_item)


estado 24

   24 list: "(" list_items . ")"

    ")"  desplazar e ir al estado 63


estado 25

   26 list_items: list_item .  [")"]
   28 list_item: list_item . "," exp

    ","  desplazar e ir al estado 64

    $default  reduce usando la regla 26 (list_items)


estado 26

   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp
   50 bool_exp: "!" exp .  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">="]
   51         | exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp

    "+"  desplazar e ir al estado 41
    "-"  desplazar e ir al estado 42
    "*"  desplazar e ir al estado 43
    "/"  desplazar e ir al estado 44
    "%"  desplazar e ir al estado 45

    $default  reduce usando la regla 50 (bool_exp)

    El conflicto entre la regla 50 y el terminal "&&" se resuelve como reducción. (%left "&&").
    El conflicto entre la regla 50 y el terminal "||" se resuelve como reducción. (%left "||").
    El conflicto entre la regla 50 y el terminal "==" se resuelve como reducción. (%left "==").
    El conflicto entre la regla 50 y el terminal "!=" se resuelve como reducción. (%left "!=").
    El conflicto entre la regla 50 y el terminal "<" se resuelve como reducción. (%left "<").
    El conflicto entre la regla 50 y el terminal ">" se resuelve como reducción. (%left ">").
    El conflicto entre la regla 50 y el terminal "<=" se resuelve como reducción. (%left "<=").
    El conflicto entre la regla 50 y el terminal ">=" se resuelve como reducción. (%left ">=").
    El conflicto entre la regla 50 y el terminal "+" se resuelve como desplazamiento. ("!" < "+").
    El conflicto entre la regla 50 y el terminal "-" se resuelve como desplazamiento. ("!" < "-").
    El conflicto entre la regla 50 y el terminal "*" se resuelve como desplazamiento. ("!" < "*").
    El conflicto entre la regla 50 y el terminal "/" se resuelve como desplazamiento. ("!" < "/").
    El conflicto entre la regla 50 y el terminal "%" se resuelve como desplazamiento. ("!" < "%").


estado 27

   36 arithmetic_exp: "++" left_exp .  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">=", "+", "-", "*", "/", "%"]
   47 left_exp: left_exp . "." "identifier"
   48         | left_exp . "." call_function
   49         | left_exp . "[" exp "]"

    "."  desplazar e ir al estado 46
    "["  desplazar e ir al estado 47

    $default  reduce usando la regla 36 (arithmetic_exp)


estado 28

   29 arithmetic_exp: "-" exp .  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">=", "+", "-"]
   30               | exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp

    "*"  desplazar e ir al estado 43
    "/"  desplazar e ir al estado 44
    "%"  desplazar e ir al estado 45

    $default  reduce usando la regla 29 (arithmetic_exp)

    El conflicto entre la regla 29 y el terminal "&&" se resuelve como reducción. ("&&" < "-").
    El conflicto entre la regla 29 y el terminal "||" se resuelve como reducción. ("||" < "-").
    El conflicto entre la regla 29 y el terminal "==" se resuelve como reducción. ("==" < "-").
    El conflicto entre la regla 29 y el terminal "!=" se resuelve como reducción. ("!=" < "-").
    El conflicto entre la regla 29 y el terminal "<" se resuelve como reducción. ("<" < "-").
    El conflicto entre la regla 29 y el terminal ">" se resuelve como reducción. (">" < "-").
    El conflicto entre la regla 29 y el terminal "<=" se resuelve como reducción. ("<=" < "-").
    El conflicto entre la regla 29 y el terminal ">=" se resuelve como reducción. (">=" < "-").
    El conflicto entre la regla 29 y el terminal "+" se resuelve como reducción. (%left "+").
    El conflicto entre la regla 29 y el terminal "-" se resuelve como reducción. (%left "-").
    El conflicto entre la regla 29 y el terminal "*" se resuelve como desplazamiento. ("-" < "*").
    El conflicto entre la regla 29 y el terminal "/" se resuelve como desplazamiento. ("-" < "/").
    El conflicto entre la regla 29 y el terminal "%" se resuelve como desplazamiento. ("-" < "%").


estado 29

   38 arithmetic_exp: "--" left_exp .  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">=", "+", "-", "*", "/", "%"]
   47 left_exp: left_exp . "." "identifier"
   48         | left_exp . "." call_function
   49         | left_exp . "[" exp "]"

    "."  desplazar e ir al estado 46
    "["  desplazar e ir al estado 47

    $default  reduce usando la regla 38 (arithmetic_exp)


estado 30

    0 $accept: main "end of file" .

    $default  aceptar


estado 31

    4 def_functions: def_functions global_inst .

    $default  reduce usando la regla 4 (def_functions)


estado 32

    5 global_inst: exp ";" .

    $default  reduce usando la regla 5 (global_inst)


estado 33

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   57         | exp "&&" . exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    exp             ir al estado 65
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 34

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   58         | exp "||" . exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    exp             ir al estado 66
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 35

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   55         | exp "==" . exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    exp             ir al estado 67
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 36

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   56         | exp "!=" . exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    exp             ir al estado 68
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 37

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   51         | exp "<" . exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    exp             ir al estado 69
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 38

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   52         | exp ">" . exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    exp             ir al estado 70
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 39

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   53         | exp "<=" . exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    exp             ir al estado 71
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 40

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   54         | exp ">=" . exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    exp             ir al estado 72
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 41

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   30               | exp "+" . exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    exp             ir al estado 73
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 42

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   31               | exp "-" . exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    exp             ir al estado 74
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 43

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   32               | exp "*" . exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    exp             ir al estado 75
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 44

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   33               | exp "/" . exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    exp             ir al estado 76
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 45

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   34               | exp "%" . exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    exp             ir al estado 77
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 46

   47 left_exp: left_exp "." . "identifier"
   48         | left_exp "." . call_function
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 78

    call_function  ir al estado 79


estado 47

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   49         | left_exp "[" . exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    exp             ir al estado 80
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 48

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   35               | left_exp "=" . exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    exp             ir al estado 81
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 49

   37 arithmetic_exp: left_exp "++" .

    $default  reduce usando la regla 37 (arithmetic_exp)


estado 50

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   40               | left_exp "+=" . exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    exp             ir al estado 82
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 51

   39 arithmetic_exp: left_exp "--" .

    $default  reduce usando la regla 39 (arithmetic_exp)


estado 52

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   41               | left_exp "-=" . exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    exp             ir al estado 83
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 53

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   42               | left_exp "*=" . exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    exp             ir al estado 84
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 54

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   43               | left_exp "/=" . exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    exp             ir al estado 85
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 55

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   44               | left_exp "%=" . exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    exp             ir al estado 86
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 56

    9 def_param: "identifier" .  [",", ")"]
   45 left_exp: "identifier" .  [".", ",", "[", ")", "=", "&&", "||", "==", "!=", "<", ">", "<=", ">=", "+", "++", "+=", "-", "--", "-=", "*", "*=", "/", "/=", "%", "%="]
   69 call_function: "identifier" . "(" call_params ")"

    "("  desplazar e ir al estado 62

    ","       reduce usando la regla 9 (def_param)
    ","       [reduce usando la regla 45 (left_exp)]
    ")"       reduce usando la regla 9 (def_param)
    ")"       [reduce usando la regla 45 (left_exp)]
    $default  reduce usando la regla 45 (left_exp)


estado 57

    6 global_inst: "identifier" "(" def_params . ")" "{" instructions "}"

    ")"  desplazar e ir al estado 87


estado 58

    8 def_params: def_param .  [")"]
   10 def_param: def_param . "," "identifier"

    ","  desplazar e ir al estado 88

    $default  reduce usando la regla 8 (def_params)


estado 59

   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp
   72 call_param: exp .  [",", ")"]

    "&&"  desplazar e ir al estado 33
    "||"  desplazar e ir al estado 34
    "=="  desplazar e ir al estado 35
    "!="  desplazar e ir al estado 36
    "<"   desplazar e ir al estado 37
    ">"   desplazar e ir al estado 38
    "<="  desplazar e ir al estado 39
    ">="  desplazar e ir al estado 40
    "+"   desplazar e ir al estado 41
    "-"   desplazar e ir al estado 42
    "*"   desplazar e ir al estado 43
    "/"   desplazar e ir al estado 44
    "%"   desplazar e ir al estado 45

    $default  reduce usando la regla 72 (call_param)


estado 60

   69 call_function: "identifier" "(" call_params . ")"

    ")"  desplazar e ir al estado 89


estado 61

   71 call_params: call_param .  [")"]
   73 call_param: call_param . "," exp

    ","  desplazar e ir al estado 90

    $default  reduce usando la regla 71 (call_params)


estado 62

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   69 call_function: . "identifier" "(" call_params ")"
   69              | "identifier" "(" . call_params ")"
   70 call_params: .  [")"]
   71            | . call_param
   72 call_param: . exp
   73           | . call_param "," exp

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    $default  reduce usando la regla 70 (call_params)

    exp             ir al estado 59
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20
    call_params     ir al estado 60
    call_param      ir al estado 61


estado 63

   24 list: "(" list_items ")" .

    $default  reduce usando la regla 24 (list)


estado 64

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   28 list_item: list_item "," . exp
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    exp             ir al estado 91
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 65

   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">="]
   57         | exp "&&" exp .  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">="]
   58         | exp . "||" exp

    "+"  desplazar e ir al estado 41
    "-"  desplazar e ir al estado 42
    "*"  desplazar e ir al estado 43
    "/"  desplazar e ir al estado 44
    "%"  desplazar e ir al estado 45

    $default  reduce usando la regla 57 (bool_exp)

    El conflicto entre la regla 57 y el terminal "&&" se resuelve como reducción. (%left "&&").
    El conflicto entre la regla 57 y el terminal "||" se resuelve como reducción. (%left "||").
    El conflicto entre la regla 57 y el terminal "==" se resuelve como reducción. (%left "==").
    El conflicto entre la regla 57 y el terminal "!=" se resuelve como reducción. (%left "!=").
    El conflicto entre la regla 57 y el terminal "<" se resuelve como reducción. (%left "<").
    El conflicto entre la regla 57 y el terminal ">" se resuelve como reducción. (%left ">").
    El conflicto entre la regla 57 y el terminal "<=" se resuelve como reducción. (%left "<=").
    El conflicto entre la regla 57 y el terminal ">=" se resuelve como reducción. (%left ">=").
    El conflicto entre la regla 57 y el terminal "+" se resuelve como desplazamiento. ("&&" < "+").
    El conflicto entre la regla 57 y el terminal "-" se resuelve como desplazamiento. ("&&" < "-").
    El conflicto entre la regla 57 y el terminal "*" se resuelve como desplazamiento. ("&&" < "*").
    El conflicto entre la regla 57 y el terminal "/" se resuelve como desplazamiento. ("&&" < "/").
    El conflicto entre la regla 57 y el terminal "%" se resuelve como desplazamiento. ("&&" < "%").


estado 66

   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">="]
   58         | exp "||" exp .  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">="]

    "+"  desplazar e ir al estado 41
    "-"  desplazar e ir al estado 42
    "*"  desplazar e ir al estado 43
    "/"  desplazar e ir al estado 44
    "%"  desplazar e ir al estado 45

    $default  reduce usando la regla 58 (bool_exp)

    El conflicto entre la regla 58 y el terminal "&&" se resuelve como reducción. (%left "&&").
    El conflicto entre la regla 58 y el terminal "||" se resuelve como reducción. (%left "||").
    El conflicto entre la regla 58 y el terminal "==" se resuelve como reducción. (%left "==").
    El conflicto entre la regla 58 y el terminal "!=" se resuelve como reducción. (%left "!=").
    El conflicto entre la regla 58 y el terminal "<" se resuelve como reducción. (%left "<").
    El conflicto entre la regla 58 y el terminal ">" se resuelve como reducción. (%left ">").
    El conflicto entre la regla 58 y el terminal "<=" se resuelve como reducción. (%left "<=").
    El conflicto entre la regla 58 y el terminal ">=" se resuelve como reducción. (%left ">=").
    El conflicto entre la regla 58 y el terminal "+" se resuelve como desplazamiento. ("||" < "+").
    El conflicto entre la regla 58 y el terminal "-" se resuelve como desplazamiento. ("||" < "-").
    El conflicto entre la regla 58 y el terminal "*" se resuelve como desplazamiento. ("||" < "*").
    El conflicto entre la regla 58 y el terminal "/" se resuelve como desplazamiento. ("||" < "/").
    El conflicto entre la regla 58 y el terminal "%" se resuelve como desplazamiento. ("||" < "%").


estado 67

   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">="]
   55         | exp "==" exp .  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">="]
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp

    "+"  desplazar e ir al estado 41
    "-"  desplazar e ir al estado 42
    "*"  desplazar e ir al estado 43
    "/"  desplazar e ir al estado 44
    "%"  desplazar e ir al estado 45

    $default  reduce usando la regla 55 (bool_exp)

    El conflicto entre la regla 55 y el terminal "&&" se resuelve como reducción. (%left "&&").
    El conflicto entre la regla 55 y el terminal "||" se resuelve como reducción. (%left "||").
    El conflicto entre la regla 55 y el terminal "==" se resuelve como reducción. (%left "==").
    El conflicto entre la regla 55 y el terminal "!=" se resuelve como reducción. (%left "!=").
    El conflicto entre la regla 55 y el terminal "<" se resuelve como reducción. (%left "<").
    El conflicto entre la regla 55 y el terminal ">" se resuelve como reducción. (%left ">").
    El conflicto entre la regla 55 y el terminal "<=" se resuelve como reducción. (%left "<=").
    El conflicto entre la regla 55 y el terminal ">=" se resuelve como reducción. (%left ">=").
    El conflicto entre la regla 55 y el terminal "+" se resuelve como desplazamiento. ("==" < "+").
    El conflicto entre la regla 55 y el terminal "-" se resuelve como desplazamiento. ("==" < "-").
    El conflicto entre la regla 55 y el terminal "*" se resuelve como desplazamiento. ("==" < "*").
    El conflicto entre la regla 55 y el terminal "/" se resuelve como desplazamiento. ("==" < "/").
    El conflicto entre la regla 55 y el terminal "%" se resuelve como desplazamiento. ("==" < "%").


estado 68

   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">="]
   56         | exp "!=" exp .  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">="]
   57         | exp . "&&" exp
   58         | exp . "||" exp

    "+"  desplazar e ir al estado 41
    "-"  desplazar e ir al estado 42
    "*"  desplazar e ir al estado 43
    "/"  desplazar e ir al estado 44
    "%"  desplazar e ir al estado 45

    $default  reduce usando la regla 56 (bool_exp)

    El conflicto entre la regla 56 y el terminal "&&" se resuelve como reducción. (%left "&&").
    El conflicto entre la regla 56 y el terminal "||" se resuelve como reducción. (%left "||").
    El conflicto entre la regla 56 y el terminal "==" se resuelve como reducción. (%left "==").
    El conflicto entre la regla 56 y el terminal "!=" se resuelve como reducción. (%left "!=").
    El conflicto entre la regla 56 y el terminal "<" se resuelve como reducción. (%left "<").
    El conflicto entre la regla 56 y el terminal ">" se resuelve como reducción. (%left ">").
    El conflicto entre la regla 56 y el terminal "<=" se resuelve como reducción. (%left "<=").
    El conflicto entre la regla 56 y el terminal ">=" se resuelve como reducción. (%left ">=").
    El conflicto entre la regla 56 y el terminal "+" se resuelve como desplazamiento. ("!=" < "+").
    El conflicto entre la regla 56 y el terminal "-" se resuelve como desplazamiento. ("!=" < "-").
    El conflicto entre la regla 56 y el terminal "*" se resuelve como desplazamiento. ("!=" < "*").
    El conflicto entre la regla 56 y el terminal "/" se resuelve como desplazamiento. ("!=" < "/").
    El conflicto entre la regla 56 y el terminal "%" se resuelve como desplazamiento. ("!=" < "%").


estado 69

   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp
   51 bool_exp: exp . "<" exp  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">="]
   51         | exp "<" exp .  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">="]
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp

    "+"  desplazar e ir al estado 41
    "-"  desplazar e ir al estado 42
    "*"  desplazar e ir al estado 43
    "/"  desplazar e ir al estado 44
    "%"  desplazar e ir al estado 45

    $default  reduce usando la regla 51 (bool_exp)

    El conflicto entre la regla 51 y el terminal "&&" se resuelve como reducción. (%left "&&").
    El conflicto entre la regla 51 y el terminal "||" se resuelve como reducción. (%left "||").
    El conflicto entre la regla 51 y el terminal "==" se resuelve como reducción. (%left "==").
    El conflicto entre la regla 51 y el terminal "!=" se resuelve como reducción. (%left "!=").
    El conflicto entre la regla 51 y el terminal "<" se resuelve como reducción. (%left "<").
    El conflicto entre la regla 51 y el terminal ">" se resuelve como reducción. (%left ">").
    El conflicto entre la regla 51 y el terminal "<=" se resuelve como reducción. (%left "<=").
    El conflicto entre la regla 51 y el terminal ">=" se resuelve como reducción. (%left ">=").
    El conflicto entre la regla 51 y el terminal "+" se resuelve como desplazamiento. ("<" < "+").
    El conflicto entre la regla 51 y el terminal "-" se resuelve como desplazamiento. ("<" < "-").
    El conflicto entre la regla 51 y el terminal "*" se resuelve como desplazamiento. ("<" < "*").
    El conflicto entre la regla 51 y el terminal "/" se resuelve como desplazamiento. ("<" < "/").
    El conflicto entre la regla 51 y el terminal "%" se resuelve como desplazamiento. ("<" < "%").


estado 70

   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">="]
   52         | exp ">" exp .  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">="]
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp

    "+"  desplazar e ir al estado 41
    "-"  desplazar e ir al estado 42
    "*"  desplazar e ir al estado 43
    "/"  desplazar e ir al estado 44
    "%"  desplazar e ir al estado 45

    $default  reduce usando la regla 52 (bool_exp)

    El conflicto entre la regla 52 y el terminal "&&" se resuelve como reducción. (%left "&&").
    El conflicto entre la regla 52 y el terminal "||" se resuelve como reducción. (%left "||").
    El conflicto entre la regla 52 y el terminal "==" se resuelve como reducción. (%left "==").
    El conflicto entre la regla 52 y el terminal "!=" se resuelve como reducción. (%left "!=").
    El conflicto entre la regla 52 y el terminal "<" se resuelve como reducción. (%left "<").
    El conflicto entre la regla 52 y el terminal ">" se resuelve como reducción. (%left ">").
    El conflicto entre la regla 52 y el terminal "<=" se resuelve como reducción. (%left "<=").
    El conflicto entre la regla 52 y el terminal ">=" se resuelve como reducción. (%left ">=").
    El conflicto entre la regla 52 y el terminal "+" se resuelve como desplazamiento. (">" < "+").
    El conflicto entre la regla 52 y el terminal "-" se resuelve como desplazamiento. (">" < "-").
    El conflicto entre la regla 52 y el terminal "*" se resuelve como desplazamiento. (">" < "*").
    El conflicto entre la regla 52 y el terminal "/" se resuelve como desplazamiento. (">" < "/").
    El conflicto entre la regla 52 y el terminal "%" se resuelve como desplazamiento. (">" < "%").


estado 71

   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">="]
   53         | exp "<=" exp .  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">="]
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp

    "+"  desplazar e ir al estado 41
    "-"  desplazar e ir al estado 42
    "*"  desplazar e ir al estado 43
    "/"  desplazar e ir al estado 44
    "%"  desplazar e ir al estado 45

    $default  reduce usando la regla 53 (bool_exp)

    El conflicto entre la regla 53 y el terminal "&&" se resuelve como reducción. (%left "&&").
    El conflicto entre la regla 53 y el terminal "||" se resuelve como reducción. (%left "||").
    El conflicto entre la regla 53 y el terminal "==" se resuelve como reducción. (%left "==").
    El conflicto entre la regla 53 y el terminal "!=" se resuelve como reducción. (%left "!=").
    El conflicto entre la regla 53 y el terminal "<" se resuelve como reducción. (%left "<").
    El conflicto entre la regla 53 y el terminal ">" se resuelve como reducción. (%left ">").
    El conflicto entre la regla 53 y el terminal "<=" se resuelve como reducción. (%left "<=").
    El conflicto entre la regla 53 y el terminal ">=" se resuelve como reducción. (%left ">=").
    El conflicto entre la regla 53 y el terminal "+" se resuelve como desplazamiento. ("<=" < "+").
    El conflicto entre la regla 53 y el terminal "-" se resuelve como desplazamiento. ("<=" < "-").
    El conflicto entre la regla 53 y el terminal "*" se resuelve como desplazamiento. ("<=" < "*").
    El conflicto entre la regla 53 y el terminal "/" se resuelve como desplazamiento. ("<=" < "/").
    El conflicto entre la regla 53 y el terminal "%" se resuelve como desplazamiento. ("<=" < "%").


estado 72

   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">="]
   54         | exp ">=" exp .  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">="]
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp

    "+"  desplazar e ir al estado 41
    "-"  desplazar e ir al estado 42
    "*"  desplazar e ir al estado 43
    "/"  desplazar e ir al estado 44
    "%"  desplazar e ir al estado 45

    $default  reduce usando la regla 54 (bool_exp)

    El conflicto entre la regla 54 y el terminal "&&" se resuelve como reducción. (%left "&&").
    El conflicto entre la regla 54 y el terminal "||" se resuelve como reducción. (%left "||").
    El conflicto entre la regla 54 y el terminal "==" se resuelve como reducción. (%left "==").
    El conflicto entre la regla 54 y el terminal "!=" se resuelve como reducción. (%left "!=").
    El conflicto entre la regla 54 y el terminal "<" se resuelve como reducción. (%left "<").
    El conflicto entre la regla 54 y el terminal ">" se resuelve como reducción. (%left ">").
    El conflicto entre la regla 54 y el terminal "<=" se resuelve como reducción. (%left "<=").
    El conflicto entre la regla 54 y el terminal ">=" se resuelve como reducción. (%left ">=").
    El conflicto entre la regla 54 y el terminal "+" se resuelve como desplazamiento. (">=" < "+").
    El conflicto entre la regla 54 y el terminal "-" se resuelve como desplazamiento. (">=" < "-").
    El conflicto entre la regla 54 y el terminal "*" se resuelve como desplazamiento. (">=" < "*").
    El conflicto entre la regla 54 y el terminal "/" se resuelve como desplazamiento. (">=" < "/").
    El conflicto entre la regla 54 y el terminal "%" se resuelve como desplazamiento. (">=" < "%").


estado 73

   30 arithmetic_exp: exp . "+" exp  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">=", "+", "-"]
   30               | exp "+" exp .  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">=", "+", "-"]
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp

    "*"  desplazar e ir al estado 43
    "/"  desplazar e ir al estado 44
    "%"  desplazar e ir al estado 45

    $default  reduce usando la regla 30 (arithmetic_exp)

    El conflicto entre la regla 30 y el terminal "&&" se resuelve como reducción. ("&&" < "+").
    El conflicto entre la regla 30 y el terminal "||" se resuelve como reducción. ("||" < "+").
    El conflicto entre la regla 30 y el terminal "==" se resuelve como reducción. ("==" < "+").
    El conflicto entre la regla 30 y el terminal "!=" se resuelve como reducción. ("!=" < "+").
    El conflicto entre la regla 30 y el terminal "<" se resuelve como reducción. ("<" < "+").
    El conflicto entre la regla 30 y el terminal ">" se resuelve como reducción. (">" < "+").
    El conflicto entre la regla 30 y el terminal "<=" se resuelve como reducción. ("<=" < "+").
    El conflicto entre la regla 30 y el terminal ">=" se resuelve como reducción. (">=" < "+").
    El conflicto entre la regla 30 y el terminal "+" se resuelve como reducción. (%left "+").
    El conflicto entre la regla 30 y el terminal "-" se resuelve como reducción. (%left "-").
    El conflicto entre la regla 30 y el terminal "*" se resuelve como desplazamiento. ("+" < "*").
    El conflicto entre la regla 30 y el terminal "/" se resuelve como desplazamiento. ("+" < "/").
    El conflicto entre la regla 30 y el terminal "%" se resuelve como desplazamiento. ("+" < "%").


estado 74

   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">=", "+", "-"]
   31               | exp "-" exp .  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">=", "+", "-"]
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp

    "*"  desplazar e ir al estado 43
    "/"  desplazar e ir al estado 44
    "%"  desplazar e ir al estado 45

    $default  reduce usando la regla 31 (arithmetic_exp)

    El conflicto entre la regla 31 y el terminal "&&" se resuelve como reducción. ("&&" < "-").
    El conflicto entre la regla 31 y el terminal "||" se resuelve como reducción. ("||" < "-").
    El conflicto entre la regla 31 y el terminal "==" se resuelve como reducción. ("==" < "-").
    El conflicto entre la regla 31 y el terminal "!=" se resuelve como reducción. ("!=" < "-").
    El conflicto entre la regla 31 y el terminal "<" se resuelve como reducción. ("<" < "-").
    El conflicto entre la regla 31 y el terminal ">" se resuelve como reducción. (">" < "-").
    El conflicto entre la regla 31 y el terminal "<=" se resuelve como reducción. ("<=" < "-").
    El conflicto entre la regla 31 y el terminal ">=" se resuelve como reducción. (">=" < "-").
    El conflicto entre la regla 31 y el terminal "+" se resuelve como reducción. (%left "+").
    El conflicto entre la regla 31 y el terminal "-" se resuelve como reducción. (%left "-").
    El conflicto entre la regla 31 y el terminal "*" se resuelve como desplazamiento. ("-" < "*").
    El conflicto entre la regla 31 y el terminal "/" se resuelve como desplazamiento. ("-" < "/").
    El conflicto entre la regla 31 y el terminal "%" se resuelve como desplazamiento. ("-" < "%").


estado 75

   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">=", "+", "-", "*", "/", "%"]
   32               | exp "*" exp .  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">=", "+", "-", "*", "/", "%"]
   33               | exp . "/" exp
   34               | exp . "%" exp
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp

    $default  reduce usando la regla 32 (arithmetic_exp)

    El conflicto entre la regla 32 y el terminal "&&" se resuelve como reducción. ("&&" < "*").
    El conflicto entre la regla 32 y el terminal "||" se resuelve como reducción. ("||" < "*").
    El conflicto entre la regla 32 y el terminal "==" se resuelve como reducción. ("==" < "*").
    El conflicto entre la regla 32 y el terminal "!=" se resuelve como reducción. ("!=" < "*").
    El conflicto entre la regla 32 y el terminal "<" se resuelve como reducción. ("<" < "*").
    El conflicto entre la regla 32 y el terminal ">" se resuelve como reducción. (">" < "*").
    El conflicto entre la regla 32 y el terminal "<=" se resuelve como reducción. ("<=" < "*").
    El conflicto entre la regla 32 y el terminal ">=" se resuelve como reducción. (">=" < "*").
    El conflicto entre la regla 32 y el terminal "+" se resuelve como reducción. ("+" < "*").
    El conflicto entre la regla 32 y el terminal "-" se resuelve como reducción. ("-" < "*").
    El conflicto entre la regla 32 y el terminal "*" se resuelve como reducción. (%left "*").
    El conflicto entre la regla 32 y el terminal "/" se resuelve como reducción. (%left "/").
    El conflicto entre la regla 32 y el terminal "%" se resuelve como reducción. (%left "%").


estado 76

   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">=", "+", "-", "*", "/", "%"]
   33               | exp "/" exp .  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">=", "+", "-", "*", "/", "%"]
   34               | exp . "%" exp
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp

    $default  reduce usando la regla 33 (arithmetic_exp)

    El conflicto entre la regla 33 y el terminal "&&" se resuelve como reducción. ("&&" < "/").
    El conflicto entre la regla 33 y el terminal "||" se resuelve como reducción. ("||" < "/").
    El conflicto entre la regla 33 y el terminal "==" se resuelve como reducción. ("==" < "/").
    El conflicto entre la regla 33 y el terminal "!=" se resuelve como reducción. ("!=" < "/").
    El conflicto entre la regla 33 y el terminal "<" se resuelve como reducción. ("<" < "/").
    El conflicto entre la regla 33 y el terminal ">" se resuelve como reducción. (">" < "/").
    El conflicto entre la regla 33 y el terminal "<=" se resuelve como reducción. ("<=" < "/").
    El conflicto entre la regla 33 y el terminal ">=" se resuelve como reducción. (">=" < "/").
    El conflicto entre la regla 33 y el terminal "+" se resuelve como reducción. ("+" < "/").
    El conflicto entre la regla 33 y el terminal "-" se resuelve como reducción. ("-" < "/").
    El conflicto entre la regla 33 y el terminal "*" se resuelve como reducción. (%left "*").
    El conflicto entre la regla 33 y el terminal "/" se resuelve como reducción. (%left "/").
    El conflicto entre la regla 33 y el terminal "%" se resuelve como reducción. (%left "%").


estado 77

   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">=", "+", "-", "*", "/", "%"]
   34               | exp "%" exp .  [",", ";", "]", ")", "&&", "||", "==", "!=", "<", ">", "<=", ">=", "+", "-", "*", "/", "%"]
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp

    $default  reduce usando la regla 34 (arithmetic_exp)

    El conflicto entre la regla 34 y el terminal "&&" se resuelve como reducción. ("&&" < "%").
    El conflicto entre la regla 34 y el terminal "||" se resuelve como reducción. ("||" < "%").
    El conflicto entre la regla 34 y el terminal "==" se resuelve como reducción. ("==" < "%").
    El conflicto entre la regla 34 y el terminal "!=" se resuelve como reducción. ("!=" < "%").
    El conflicto entre la regla 34 y el terminal "<" se resuelve como reducción. ("<" < "%").
    El conflicto entre la regla 34 y el terminal ">" se resuelve como reducción. (">" < "%").
    El conflicto entre la regla 34 y el terminal "<=" se resuelve como reducción. ("<=" < "%").
    El conflicto entre la regla 34 y el terminal ">=" se resuelve como reducción. (">=" < "%").
    El conflicto entre la regla 34 y el terminal "+" se resuelve como reducción. ("+" < "%").
    El conflicto entre la regla 34 y el terminal "-" se resuelve como reducción. ("-" < "%").
    El conflicto entre la regla 34 y el terminal "*" se resuelve como reducción. (%left "*").
    El conflicto entre la regla 34 y el terminal "/" se resuelve como reducción. (%left "/").
    El conflicto entre la regla 34 y el terminal "%" se resuelve como reducción. (%left "%").


estado 78

   47 left_exp: left_exp "." "identifier" .  [".", ",", ";", "[", "]", ")", "=", "&&", "||", "==", "!=", "<", ">", "<=", ">=", "+", "++", "+=", "-", "--", "-=", "*", "*=", "/", "/=", "%", "%="]
   69 call_function: "identifier" . "(" call_params ")"

    "("  desplazar e ir al estado 62

    $default  reduce usando la regla 47 (left_exp)


estado 79

   48 left_exp: left_exp "." call_function .

    $default  reduce usando la regla 48 (left_exp)


estado 80

   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp
   49 left_exp: left_exp "[" exp . "]"
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp

    "]"   desplazar e ir al estado 92
    "&&"  desplazar e ir al estado 33
    "||"  desplazar e ir al estado 34
    "=="  desplazar e ir al estado 35
    "!="  desplazar e ir al estado 36
    "<"   desplazar e ir al estado 37
    ">"   desplazar e ir al estado 38
    "<="  desplazar e ir al estado 39
    ">="  desplazar e ir al estado 40
    "+"   desplazar e ir al estado 41
    "-"   desplazar e ir al estado 42
    "*"   desplazar e ir al estado 43
    "/"   desplazar e ir al estado 44
    "%"   desplazar e ir al estado 45


estado 81

   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp
   35               | left_exp "=" exp .  [",", ";", "]", ")"]
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp

    "&&"  desplazar e ir al estado 33
    "||"  desplazar e ir al estado 34
    "=="  desplazar e ir al estado 35
    "!="  desplazar e ir al estado 36
    "<"   desplazar e ir al estado 37
    ">"   desplazar e ir al estado 38
    "<="  desplazar e ir al estado 39
    ">="  desplazar e ir al estado 40
    "+"   desplazar e ir al estado 41
    "-"   desplazar e ir al estado 42
    "*"   desplazar e ir al estado 43
    "/"   desplazar e ir al estado 44
    "%"   desplazar e ir al estado 45

    $default  reduce usando la regla 35 (arithmetic_exp)

    El conflicto entre la regla 35 y el terminal "&&" se resuelve como desplazamiento. ("=" < "&&").
    El conflicto entre la regla 35 y el terminal "||" se resuelve como desplazamiento. ("=" < "||").
    El conflicto entre la regla 35 y el terminal "==" se resuelve como desplazamiento. ("=" < "==").
    El conflicto entre la regla 35 y el terminal "!=" se resuelve como desplazamiento. ("=" < "!=").
    El conflicto entre la regla 35 y el terminal "<" se resuelve como desplazamiento. ("=" < "<").
    El conflicto entre la regla 35 y el terminal ">" se resuelve como desplazamiento. ("=" < ">").
    El conflicto entre la regla 35 y el terminal "<=" se resuelve como desplazamiento. ("=" < "<=").
    El conflicto entre la regla 35 y el terminal ">=" se resuelve como desplazamiento. ("=" < ">=").
    El conflicto entre la regla 35 y el terminal "+" se resuelve como desplazamiento. ("=" < "+").
    El conflicto entre la regla 35 y el terminal "-" se resuelve como desplazamiento. ("=" < "-").
    El conflicto entre la regla 35 y el terminal "*" se resuelve como desplazamiento. ("=" < "*").
    El conflicto entre la regla 35 y el terminal "/" se resuelve como desplazamiento. ("=" < "/").
    El conflicto entre la regla 35 y el terminal "%" se resuelve como desplazamiento. ("=" < "%").


estado 82

   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp
   40               | left_exp "+=" exp .  [",", ";", "]", ")"]
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp

    "&&"  desplazar e ir al estado 33
    "||"  desplazar e ir al estado 34
    "=="  desplazar e ir al estado 35
    "!="  desplazar e ir al estado 36
    "<"   desplazar e ir al estado 37
    ">"   desplazar e ir al estado 38
    "<="  desplazar e ir al estado 39
    ">="  desplazar e ir al estado 40
    "+"   desplazar e ir al estado 41
    "-"   desplazar e ir al estado 42
    "*"   desplazar e ir al estado 43
    "/"   desplazar e ir al estado 44
    "%"   desplazar e ir al estado 45

    $default  reduce usando la regla 40 (arithmetic_exp)

    El conflicto entre la regla 40 y el terminal "&&" se resuelve como desplazamiento. ("+=" < "&&").
    El conflicto entre la regla 40 y el terminal "||" se resuelve como desplazamiento. ("+=" < "||").
    El conflicto entre la regla 40 y el terminal "==" se resuelve como desplazamiento. ("+=" < "==").
    El conflicto entre la regla 40 y el terminal "!=" se resuelve como desplazamiento. ("+=" < "!=").
    El conflicto entre la regla 40 y el terminal "<" se resuelve como desplazamiento. ("+=" < "<").
    El conflicto entre la regla 40 y el terminal ">" se resuelve como desplazamiento. ("+=" < ">").
    El conflicto entre la regla 40 y el terminal "<=" se resuelve como desplazamiento. ("+=" < "<=").
    El conflicto entre la regla 40 y el terminal ">=" se resuelve como desplazamiento. ("+=" < ">=").
    El conflicto entre la regla 40 y el terminal "+" se resuelve como desplazamiento. ("+=" < "+").
    El conflicto entre la regla 40 y el terminal "-" se resuelve como desplazamiento. ("+=" < "-").
    El conflicto entre la regla 40 y el terminal "*" se resuelve como desplazamiento. ("+=" < "*").
    El conflicto entre la regla 40 y el terminal "/" se resuelve como desplazamiento. ("+=" < "/").
    El conflicto entre la regla 40 y el terminal "%" se resuelve como desplazamiento. ("+=" < "%").


estado 83

   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp
   41               | left_exp "-=" exp .  [",", ";", "]", ")"]
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp

    "&&"  desplazar e ir al estado 33
    "||"  desplazar e ir al estado 34
    "=="  desplazar e ir al estado 35
    "!="  desplazar e ir al estado 36
    "<"   desplazar e ir al estado 37
    ">"   desplazar e ir al estado 38
    "<="  desplazar e ir al estado 39
    ">="  desplazar e ir al estado 40
    "+"   desplazar e ir al estado 41
    "-"   desplazar e ir al estado 42
    "*"   desplazar e ir al estado 43
    "/"   desplazar e ir al estado 44
    "%"   desplazar e ir al estado 45

    $default  reduce usando la regla 41 (arithmetic_exp)

    El conflicto entre la regla 41 y el terminal "&&" se resuelve como desplazamiento. ("-=" < "&&").
    El conflicto entre la regla 41 y el terminal "||" se resuelve como desplazamiento. ("-=" < "||").
    El conflicto entre la regla 41 y el terminal "==" se resuelve como desplazamiento. ("-=" < "==").
    El conflicto entre la regla 41 y el terminal "!=" se resuelve como desplazamiento. ("-=" < "!=").
    El conflicto entre la regla 41 y el terminal "<" se resuelve como desplazamiento. ("-=" < "<").
    El conflicto entre la regla 41 y el terminal ">" se resuelve como desplazamiento. ("-=" < ">").
    El conflicto entre la regla 41 y el terminal "<=" se resuelve como desplazamiento. ("-=" < "<=").
    El conflicto entre la regla 41 y el terminal ">=" se resuelve como desplazamiento. ("-=" < ">=").
    El conflicto entre la regla 41 y el terminal "+" se resuelve como desplazamiento. ("-=" < "+").
    El conflicto entre la regla 41 y el terminal "-" se resuelve como desplazamiento. ("-=" < "-").
    El conflicto entre la regla 41 y el terminal "*" se resuelve como desplazamiento. ("-=" < "*").
    El conflicto entre la regla 41 y el terminal "/" se resuelve como desplazamiento. ("-=" < "/").
    El conflicto entre la regla 41 y el terminal "%" se resuelve como desplazamiento. ("-=" < "%").


estado 84

   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp
   42               | left_exp "*=" exp .  [",", ";", "]", ")"]
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp

    "&&"  desplazar e ir al estado 33
    "||"  desplazar e ir al estado 34
    "=="  desplazar e ir al estado 35
    "!="  desplazar e ir al estado 36
    "<"   desplazar e ir al estado 37
    ">"   desplazar e ir al estado 38
    "<="  desplazar e ir al estado 39
    ">="  desplazar e ir al estado 40
    "+"   desplazar e ir al estado 41
    "-"   desplazar e ir al estado 42
    "*"   desplazar e ir al estado 43
    "/"   desplazar e ir al estado 44
    "%"   desplazar e ir al estado 45

    $default  reduce usando la regla 42 (arithmetic_exp)

    El conflicto entre la regla 42 y el terminal "&&" se resuelve como desplazamiento. ("*=" < "&&").
    El conflicto entre la regla 42 y el terminal "||" se resuelve como desplazamiento. ("*=" < "||").
    El conflicto entre la regla 42 y el terminal "==" se resuelve como desplazamiento. ("*=" < "==").
    El conflicto entre la regla 42 y el terminal "!=" se resuelve como desplazamiento. ("*=" < "!=").
    El conflicto entre la regla 42 y el terminal "<" se resuelve como desplazamiento. ("*=" < "<").
    El conflicto entre la regla 42 y el terminal ">" se resuelve como desplazamiento. ("*=" < ">").
    El conflicto entre la regla 42 y el terminal "<=" se resuelve como desplazamiento. ("*=" < "<=").
    El conflicto entre la regla 42 y el terminal ">=" se resuelve como desplazamiento. ("*=" < ">=").
    El conflicto entre la regla 42 y el terminal "+" se resuelve como desplazamiento. ("*=" < "+").
    El conflicto entre la regla 42 y el terminal "-" se resuelve como desplazamiento. ("*=" < "-").
    El conflicto entre la regla 42 y el terminal "*" se resuelve como desplazamiento. ("*=" < "*").
    El conflicto entre la regla 42 y el terminal "/" se resuelve como desplazamiento. ("*=" < "/").
    El conflicto entre la regla 42 y el terminal "%" se resuelve como desplazamiento. ("*=" < "%").


estado 85

   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp
   43               | left_exp "/=" exp .  [",", ";", "]", ")"]
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp

    "&&"  desplazar e ir al estado 33
    "||"  desplazar e ir al estado 34
    "=="  desplazar e ir al estado 35
    "!="  desplazar e ir al estado 36
    "<"   desplazar e ir al estado 37
    ">"   desplazar e ir al estado 38
    "<="  desplazar e ir al estado 39
    ">="  desplazar e ir al estado 40
    "+"   desplazar e ir al estado 41
    "-"   desplazar e ir al estado 42
    "*"   desplazar e ir al estado 43
    "/"   desplazar e ir al estado 44
    "%"   desplazar e ir al estado 45

    $default  reduce usando la regla 43 (arithmetic_exp)

    El conflicto entre la regla 43 y el terminal "&&" se resuelve como desplazamiento. ("/=" < "&&").
    El conflicto entre la regla 43 y el terminal "||" se resuelve como desplazamiento. ("/=" < "||").
    El conflicto entre la regla 43 y el terminal "==" se resuelve como desplazamiento. ("/=" < "==").
    El conflicto entre la regla 43 y el terminal "!=" se resuelve como desplazamiento. ("/=" < "!=").
    El conflicto entre la regla 43 y el terminal "<" se resuelve como desplazamiento. ("/=" < "<").
    El conflicto entre la regla 43 y el terminal ">" se resuelve como desplazamiento. ("/=" < ">").
    El conflicto entre la regla 43 y el terminal "<=" se resuelve como desplazamiento. ("/=" < "<=").
    El conflicto entre la regla 43 y el terminal ">=" se resuelve como desplazamiento. ("/=" < ">=").
    El conflicto entre la regla 43 y el terminal "+" se resuelve como desplazamiento. ("/=" < "+").
    El conflicto entre la regla 43 y el terminal "-" se resuelve como desplazamiento. ("/=" < "-").
    El conflicto entre la regla 43 y el terminal "*" se resuelve como desplazamiento. ("/=" < "*").
    El conflicto entre la regla 43 y el terminal "/" se resuelve como desplazamiento. ("/=" < "/").
    El conflicto entre la regla 43 y el terminal "%" se resuelve como desplazamiento. ("/=" < "%").


estado 86

   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp
   44               | left_exp "%=" exp .  [",", ";", "]", ")"]
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp

    "&&"  desplazar e ir al estado 33
    "||"  desplazar e ir al estado 34
    "=="  desplazar e ir al estado 35
    "!="  desplazar e ir al estado 36
    "<"   desplazar e ir al estado 37
    ">"   desplazar e ir al estado 38
    "<="  desplazar e ir al estado 39
    ">="  desplazar e ir al estado 40
    "+"   desplazar e ir al estado 41
    "-"   desplazar e ir al estado 42
    "*"   desplazar e ir al estado 43
    "/"   desplazar e ir al estado 44
    "%"   desplazar e ir al estado 45

    $default  reduce usando la regla 44 (arithmetic_exp)

    El conflicto entre la regla 44 y el terminal "&&" se resuelve como desplazamiento. ("%=" < "&&").
    El conflicto entre la regla 44 y el terminal "||" se resuelve como desplazamiento. ("%=" < "||").
    El conflicto entre la regla 44 y el terminal "==" se resuelve como desplazamiento. ("%=" < "==").
    El conflicto entre la regla 44 y el terminal "!=" se resuelve como desplazamiento. ("%=" < "!=").
    El conflicto entre la regla 44 y el terminal "<" se resuelve como desplazamiento. ("%=" < "<").
    El conflicto entre la regla 44 y el terminal ">" se resuelve como desplazamiento. ("%=" < ">").
    El conflicto entre la regla 44 y el terminal "<=" se resuelve como desplazamiento. ("%=" < "<=").
    El conflicto entre la regla 44 y el terminal ">=" se resuelve como desplazamiento. ("%=" < ">=").
    El conflicto entre la regla 44 y el terminal "+" se resuelve como desplazamiento. ("%=" < "+").
    El conflicto entre la regla 44 y el terminal "-" se resuelve como desplazamiento. ("%=" < "-").
    El conflicto entre la regla 44 y el terminal "*" se resuelve como desplazamiento. ("%=" < "*").
    El conflicto entre la regla 44 y el terminal "/" se resuelve como desplazamiento. ("%=" < "/").
    El conflicto entre la regla 44 y el terminal "%" se resuelve como desplazamiento. ("%=" < "%").


estado 87

    6 global_inst: "identifier" "(" def_params ")" . "{" instructions "}"

    "{"  desplazar e ir al estado 93


estado 88

   10 def_param: def_param "," . "identifier"

    "identifier"  desplazar e ir al estado 94


estado 89

   69 call_function: "identifier" "(" call_params ")" .

    $default  reduce usando la regla 69 (call_function)


estado 90

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   69 call_function: . "identifier" "(" call_params ")"
   73 call_param: call_param "," . exp

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    exp             ir al estado 95
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 91

   28 list_item: list_item "," exp .  [",", ")"]
   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp

    "&&"  desplazar e ir al estado 33
    "||"  desplazar e ir al estado 34
    "=="  desplazar e ir al estado 35
    "!="  desplazar e ir al estado 36
    "<"   desplazar e ir al estado 37
    ">"   desplazar e ir al estado 38
    "<="  desplazar e ir al estado 39
    ">="  desplazar e ir al estado 40
    "+"   desplazar e ir al estado 41
    "-"   desplazar e ir al estado 42
    "*"   desplazar e ir al estado 43
    "/"   desplazar e ir al estado 44
    "%"   desplazar e ir al estado 45

    $default  reduce usando la regla 28 (list_item)


estado 92

   49 left_exp: left_exp "[" exp "]" .

    $default  reduce usando la regla 49 (left_exp)


estado 93

    6 global_inst: "identifier" "(" def_params ")" "{" . instructions "}"
   11 instructions: .  ["}"]
   12             | . lines
   13 lines: . line
   14      | . lines line
   15 line: . exp ";"
   16     | . if
   17     | . while_statement
   18     | . for_statement
   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   63 if: . "if" "(" exp ")" action
   64   | . "if" "(" exp ")" action "else" action
   65 while_statement: . "while" "(" exp ")" action
   66 for_statement: . "for" "(" exp ";" exp ";" exp ")" action
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10
    "if"          desplazar e ir al estado 96
    "for"         desplazar e ir al estado 97
    "while"       desplazar e ir al estado 98

    $default  reduce usando la regla 11 (instructions)

    instructions     ir al estado 99
    lines            ir al estado 100
    line             ir al estado 101
    exp              ir al estado 102
    list             ir al estado 15
    arithmetic_exp   ir al estado 16
    left_exp         ir al estado 17
    bool_exp         ir al estado 18
    value            ir al estado 19
    if               ir al estado 103
    while_statement  ir al estado 104
    for_statement    ir al estado 105
    call_function    ir al estado 20


estado 94

   10 def_param: def_param "," "identifier" .

    $default  reduce usando la regla 10 (def_param)


estado 95

   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp
   73 call_param: call_param "," exp .  [",", ")"]

    "&&"  desplazar e ir al estado 33
    "||"  desplazar e ir al estado 34
    "=="  desplazar e ir al estado 35
    "!="  desplazar e ir al estado 36
    "<"   desplazar e ir al estado 37
    ">"   desplazar e ir al estado 38
    "<="  desplazar e ir al estado 39
    ">="  desplazar e ir al estado 40
    "+"   desplazar e ir al estado 41
    "-"   desplazar e ir al estado 42
    "*"   desplazar e ir al estado 43
    "/"   desplazar e ir al estado 44
    "%"   desplazar e ir al estado 45

    $default  reduce usando la regla 73 (call_param)


estado 96

   63 if: "if" . "(" exp ")" action
   64   | "if" . "(" exp ")" action "else" action

    "("  desplazar e ir al estado 106


estado 97

   66 for_statement: "for" . "(" exp ";" exp ";" exp ")" action

    "("  desplazar e ir al estado 107


estado 98

   65 while_statement: "while" . "(" exp ")" action

    "("  desplazar e ir al estado 108


estado 99

    6 global_inst: "identifier" "(" def_params ")" "{" instructions . "}"

    "}"  desplazar e ir al estado 109


estado 100

   12 instructions: lines .  ["}"]
   14 lines: lines . line
   15 line: . exp ";"
   16     | . if
   17     | . while_statement
   18     | . for_statement
   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   63 if: . "if" "(" exp ")" action
   64   | . "if" "(" exp ")" action "else" action
   65 while_statement: . "while" "(" exp ")" action
   66 for_statement: . "for" "(" exp ";" exp ";" exp ")" action
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10
    "if"          desplazar e ir al estado 96
    "for"         desplazar e ir al estado 97
    "while"       desplazar e ir al estado 98

    $default  reduce usando la regla 12 (instructions)

    line             ir al estado 110
    exp              ir al estado 102
    list             ir al estado 15
    arithmetic_exp   ir al estado 16
    left_exp         ir al estado 17
    bool_exp         ir al estado 18
    value            ir al estado 19
    if               ir al estado 103
    while_statement  ir al estado 104
    for_statement    ir al estado 105
    call_function    ir al estado 20


estado 101

   13 lines: line .

    $default  reduce usando la regla 13 (lines)


estado 102

   15 line: exp . ";"
   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp

    ";"   desplazar e ir al estado 111
    "&&"  desplazar e ir al estado 33
    "||"  desplazar e ir al estado 34
    "=="  desplazar e ir al estado 35
    "!="  desplazar e ir al estado 36
    "<"   desplazar e ir al estado 37
    ">"   desplazar e ir al estado 38
    "<="  desplazar e ir al estado 39
    ">="  desplazar e ir al estado 40
    "+"   desplazar e ir al estado 41
    "-"   desplazar e ir al estado 42
    "*"   desplazar e ir al estado 43
    "/"   desplazar e ir al estado 44
    "%"   desplazar e ir al estado 45


estado 103

   16 line: if .

    $default  reduce usando la regla 16 (line)


estado 104

   17 line: while_statement .

    $default  reduce usando la regla 17 (line)


estado 105

   18 line: for_statement .

    $default  reduce usando la regla 18 (line)


estado 106

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   63 if: "if" "(" . exp ")" action
   64   | "if" "(" . exp ")" action "else" action
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    exp             ir al estado 112
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 107

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   66 for_statement: "for" "(" . exp ";" exp ";" exp ")" action
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    exp             ir al estado 113
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 108

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   65 while_statement: "while" "(" . exp ")" action
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    exp             ir al estado 114
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 109

    6 global_inst: "identifier" "(" def_params ")" "{" instructions "}" .

    $default  reduce usando la regla 6 (global_inst)


estado 110

   14 lines: lines line .

    $default  reduce usando la regla 14 (lines)


estado 111

   15 line: exp ";" .

    $default  reduce usando la regla 15 (line)


estado 112

   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp
   63 if: "if" "(" exp . ")" action
   64   | "if" "(" exp . ")" action "else" action

    ")"   desplazar e ir al estado 115
    "&&"  desplazar e ir al estado 33
    "||"  desplazar e ir al estado 34
    "=="  desplazar e ir al estado 35
    "!="  desplazar e ir al estado 36
    "<"   desplazar e ir al estado 37
    ">"   desplazar e ir al estado 38
    "<="  desplazar e ir al estado 39
    ">="  desplazar e ir al estado 40
    "+"   desplazar e ir al estado 41
    "-"   desplazar e ir al estado 42
    "*"   desplazar e ir al estado 43
    "/"   desplazar e ir al estado 44
    "%"   desplazar e ir al estado 45


estado 113

   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp
   66 for_statement: "for" "(" exp . ";" exp ";" exp ")" action

    ";"   desplazar e ir al estado 116
    "&&"  desplazar e ir al estado 33
    "||"  desplazar e ir al estado 34
    "=="  desplazar e ir al estado 35
    "!="  desplazar e ir al estado 36
    "<"   desplazar e ir al estado 37
    ">"   desplazar e ir al estado 38
    "<="  desplazar e ir al estado 39
    ">="  desplazar e ir al estado 40
    "+"   desplazar e ir al estado 41
    "-"   desplazar e ir al estado 42
    "*"   desplazar e ir al estado 43
    "/"   desplazar e ir al estado 44
    "%"   desplazar e ir al estado 45


estado 114

   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp
   65 while_statement: "while" "(" exp . ")" action

    ")"   desplazar e ir al estado 117
    "&&"  desplazar e ir al estado 33
    "||"  desplazar e ir al estado 34
    "=="  desplazar e ir al estado 35
    "!="  desplazar e ir al estado 36
    "<"   desplazar e ir al estado 37
    ">"   desplazar e ir al estado 38
    "<="  desplazar e ir al estado 39
    ">="  desplazar e ir al estado 40
    "+"   desplazar e ir al estado 41
    "-"   desplazar e ir al estado 42
    "*"   desplazar e ir al estado 43
    "/"   desplazar e ir al estado 44
    "%"   desplazar e ir al estado 45


estado 115

   15 line: . exp ";"
   16     | . if
   17     | . while_statement
   18     | . for_statement
   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   63 if: . "if" "(" exp ")" action
   63   | "if" "(" exp ")" . action
   64   | . "if" "(" exp ")" action "else" action
   64   | "if" "(" exp ")" . action "else" action
   65 while_statement: . "while" "(" exp ")" action
   66 for_statement: . "for" "(" exp ";" exp ";" exp ")" action
   67 action: . line
   68       | . "{" instructions "}"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "{"           desplazar e ir al estado 118
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10
    "if"          desplazar e ir al estado 96
    "for"         desplazar e ir al estado 97
    "while"       desplazar e ir al estado 98

    line             ir al estado 119
    exp              ir al estado 102
    list             ir al estado 15
    arithmetic_exp   ir al estado 16
    left_exp         ir al estado 17
    bool_exp         ir al estado 18
    value            ir al estado 19
    if               ir al estado 103
    while_statement  ir al estado 104
    for_statement    ir al estado 105
    action           ir al estado 120
    call_function    ir al estado 20


estado 116

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   66 for_statement: "for" "(" exp ";" . exp ";" exp ")" action
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    exp             ir al estado 121
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 117

   15 line: . exp ";"
   16     | . if
   17     | . while_statement
   18     | . for_statement
   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   63 if: . "if" "(" exp ")" action
   64   | . "if" "(" exp ")" action "else" action
   65 while_statement: . "while" "(" exp ")" action
   65                | "while" "(" exp ")" . action
   66 for_statement: . "for" "(" exp ";" exp ";" exp ")" action
   67 action: . line
   68       | . "{" instructions "}"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "{"           desplazar e ir al estado 118
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10
    "if"          desplazar e ir al estado 96
    "for"         desplazar e ir al estado 97
    "while"       desplazar e ir al estado 98

    line             ir al estado 119
    exp              ir al estado 102
    list             ir al estado 15
    arithmetic_exp   ir al estado 16
    left_exp         ir al estado 17
    bool_exp         ir al estado 18
    value            ir al estado 19
    if               ir al estado 103
    while_statement  ir al estado 104
    for_statement    ir al estado 105
    action           ir al estado 122
    call_function    ir al estado 20


estado 118

   11 instructions: .  ["}"]
   12             | . lines
   13 lines: . line
   14      | . lines line
   15 line: . exp ";"
   16     | . if
   17     | . while_statement
   18     | . for_statement
   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   63 if: . "if" "(" exp ")" action
   64   | . "if" "(" exp ")" action "else" action
   65 while_statement: . "while" "(" exp ")" action
   66 for_statement: . "for" "(" exp ";" exp ";" exp ")" action
   68 action: "{" . instructions "}"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10
    "if"          desplazar e ir al estado 96
    "for"         desplazar e ir al estado 97
    "while"       desplazar e ir al estado 98

    $default  reduce usando la regla 11 (instructions)

    instructions     ir al estado 123
    lines            ir al estado 100
    line             ir al estado 101
    exp              ir al estado 102
    list             ir al estado 15
    arithmetic_exp   ir al estado 16
    left_exp         ir al estado 17
    bool_exp         ir al estado 18
    value            ir al estado 19
    if               ir al estado 103
    while_statement  ir al estado 104
    for_statement    ir al estado 105
    call_function    ir al estado 20


estado 119

   67 action: line .

    $default  reduce usando la regla 67 (action)


estado 120

   63 if: "if" "(" exp ")" action .  ["identifier", "int", "bool", "float", "string", "(", "}", "!", "++", "-", "--", "if", "else", "for", "while"]
   64   | "if" "(" exp ")" action . "else" action

    "else"  desplazar e ir al estado 124

    "else"    [reduce usando la regla 63 (if)]
    $default  reduce usando la regla 63 (if)


estado 121

   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp
   66 for_statement: "for" "(" exp ";" exp . ";" exp ")" action

    ";"   desplazar e ir al estado 125
    "&&"  desplazar e ir al estado 33
    "||"  desplazar e ir al estado 34
    "=="  desplazar e ir al estado 35
    "!="  desplazar e ir al estado 36
    "<"   desplazar e ir al estado 37
    ">"   desplazar e ir al estado 38
    "<="  desplazar e ir al estado 39
    ">="  desplazar e ir al estado 40
    "+"   desplazar e ir al estado 41
    "-"   desplazar e ir al estado 42
    "*"   desplazar e ir al estado 43
    "/"   desplazar e ir al estado 44
    "%"   desplazar e ir al estado 45


estado 122

   65 while_statement: "while" "(" exp ")" action .

    $default  reduce usando la regla 65 (while_statement)


estado 123

   68 action: "{" instructions . "}"

    "}"  desplazar e ir al estado 126


estado 124

   15 line: . exp ";"
   16     | . if
   17     | . while_statement
   18     | . for_statement
   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   63 if: . "if" "(" exp ")" action
   64   | . "if" "(" exp ")" action "else" action
   64   | "if" "(" exp ")" action "else" . action
   65 while_statement: . "while" "(" exp ")" action
   66 for_statement: . "for" "(" exp ";" exp ";" exp ")" action
   67 action: . line
   68       | . "{" instructions "}"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "{"           desplazar e ir al estado 118
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10
    "if"          desplazar e ir al estado 96
    "for"         desplazar e ir al estado 97
    "while"       desplazar e ir al estado 98

    line             ir al estado 119
    exp              ir al estado 102
    list             ir al estado 15
    arithmetic_exp   ir al estado 16
    left_exp         ir al estado 17
    bool_exp         ir al estado 18
    value            ir al estado 19
    if               ir al estado 103
    while_statement  ir al estado 104
    for_statement    ir al estado 105
    action           ir al estado 127
    call_function    ir al estado 20


estado 125

   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   66 for_statement: "for" "(" exp ";" exp ";" . exp ")" action
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10

    exp             ir al estado 128
    list            ir al estado 15
    arithmetic_exp  ir al estado 16
    left_exp        ir al estado 17
    bool_exp        ir al estado 18
    value           ir al estado 19
    call_function   ir al estado 20


estado 126

   68 action: "{" instructions "}" .

    $default  reduce usando la regla 68 (action)


estado 127

   64 if: "if" "(" exp ")" action "else" action .

    $default  reduce usando la regla 64 (if)


estado 128

   30 arithmetic_exp: exp . "+" exp
   31               | exp . "-" exp
   32               | exp . "*" exp
   33               | exp . "/" exp
   34               | exp . "%" exp
   51 bool_exp: exp . "<" exp
   52         | exp . ">" exp
   53         | exp . "<=" exp
   54         | exp . ">=" exp
   55         | exp . "==" exp
   56         | exp . "!=" exp
   57         | exp . "&&" exp
   58         | exp . "||" exp
   66 for_statement: "for" "(" exp ";" exp ";" exp . ")" action

    ")"   desplazar e ir al estado 129
    "&&"  desplazar e ir al estado 33
    "||"  desplazar e ir al estado 34
    "=="  desplazar e ir al estado 35
    "!="  desplazar e ir al estado 36
    "<"   desplazar e ir al estado 37
    ">"   desplazar e ir al estado 38
    "<="  desplazar e ir al estado 39
    ">="  desplazar e ir al estado 40
    "+"   desplazar e ir al estado 41
    "-"   desplazar e ir al estado 42
    "*"   desplazar e ir al estado 43
    "/"   desplazar e ir al estado 44
    "%"   desplazar e ir al estado 45


estado 129

   15 line: . exp ";"
   16     | . if
   17     | . while_statement
   18     | . for_statement
   19 exp: . value
   20    | . list
   21    | . bool_exp
   22    | . arithmetic_exp
   23    | . left_exp
   24 list: . "(" list_items ")"
   29 arithmetic_exp: . "-" exp
   30               | . exp "+" exp
   31               | . exp "-" exp
   32               | . exp "*" exp
   33               | . exp "/" exp
   34               | . exp "%" exp
   35               | . left_exp "=" exp
   36               | . "++" left_exp
   37               | . left_exp "++"
   38               | . "--" left_exp
   39               | . left_exp "--"
   40               | . left_exp "+=" exp
   41               | . left_exp "-=" exp
   42               | . left_exp "*=" exp
   43               | . left_exp "/=" exp
   44               | . left_exp "%=" exp
   45 left_exp: . "identifier"
   46         | . call_function
   47         | . left_exp "." "identifier"
   48         | . left_exp "." call_function
   49         | . left_exp "[" exp "]"
   50 bool_exp: . "!" exp
   51         | . exp "<" exp
   52         | . exp ">" exp
   53         | . exp "<=" exp
   54         | . exp ">=" exp
   55         | . exp "==" exp
   56         | . exp "!=" exp
   57         | . exp "&&" exp
   58         | . exp "||" exp
   59 value: . "int"
   60      | . "bool"
   61      | . "float"
   62      | . "string"
   63 if: . "if" "(" exp ")" action
   64   | . "if" "(" exp ")" action "else" action
   65 while_statement: . "while" "(" exp ")" action
   66 for_statement: . "for" "(" exp ";" exp ";" exp ")" action
   66              | "for" "(" exp ";" exp ";" exp ")" . action
   67 action: . line
   68       | . "{" instructions "}"
   69 call_function: . "identifier" "(" call_params ")"

    "identifier"  desplazar e ir al estado 22
    "int"         desplazar e ir al estado 2
    "bool"        desplazar e ir al estado 3
    "float"       desplazar e ir al estado 4
    "string"      desplazar e ir al estado 5
    "("           desplazar e ir al estado 6
    "{"           desplazar e ir al estado 118
    "!"           desplazar e ir al estado 7
    "++"          desplazar e ir al estado 8
    "-"           desplazar e ir al estado 9
    "--"          desplazar e ir al estado 10
    "if"          desplazar e ir al estado 96
    "for"         desplazar e ir al estado 97
    "while"       desplazar e ir al estado 98

    line             ir al estado 119
    exp              ir al estado 102
    list             ir al estado 15
    arithmetic_exp   ir al estado 16
    left_exp         ir al estado 17
    bool_exp         ir al estado 18
    value            ir al estado 19
    if               ir al estado 103
    while_statement  ir al estado 104
    for_statement    ir al estado 105
    action           ir al estado 130
    call_function    ir al estado 20


estado 130

   66 for_statement: "for" "(" exp ";" exp ";" exp ")" action .

    $default  reduce usando la regla 66 (for_statement)
