diff --git a/compilador.output b/compilador.output
index 3bd8023f5f158a44dd6f6a6974b3dfd02cd11e87..de30752f979b47aae362436be038788b7d4132e4 100644
--- a/compilador.output
+++ b/compilador.output
@@ -1,49 +1,49 @@
-Terminais sem uso na gramática
+Terminals which are not used
 
-    TYPE
-    ARRAY
-    FUNCTION
-    GOTO
-    OR
-    AND
-    NOT
+   TYPE
+   ARRAY
+   FUNCTION
+   GOTO
+   OR
+   AND
+   NOT
 
 
-Estado 71 conflitos: 1 de redução/redução
+State 71 conflicts: 1 reduce/reduce
 
 
-Gramática
+Grammar
 
     0 $accept: programa $end
 
-    1 $@1: ε
+    1 @1: /* empty */
 
-    2 programa: $@1 PROGRAM IDENT ABRE_PARENTESES lista_idents FECHA_PARENTESES PONTO_E_VIRGULA bloco PONTO
+    2 programa: @1 PROGRAM IDENT ABRE_PARENTESES lista_idents FECHA_PARENTESES PONTO_E_VIRGULA bloco PONTO
 
-    3 $@2: ε
+    3 @2: /* empty */
 
-    4 $@3: ε
+    4 @3: /* empty */
 
-    5 bloco: parte_declara_rotulos parte_declara_vars $@2 parte_declara_subrotinas $@3 comando_composto
+    5 bloco: parte_declara_rotulos parte_declara_vars @2 parte_declara_subrotinas @3 comando_composto
 
     6 parte_declara_rotulos: LABEL VIRGULA
-    7                      | ε
+    7                      | /* empty */
 
     8 parte_declara_vars: var
 
-    9 $@4: ε
+    9 @4: /* empty */
 
-   10 var: $@4 VAR declara_vars
-   11    | ε
+   10 var: @4 VAR declara_vars
+   11    | /* empty */
 
    12 declara_vars: declara_vars declara_var
    13             | declara_var
 
-   14 $@5: ε
+   14 @5: /* empty */
 
-   15 $@6: ε
+   15 @6: /* empty */
 
-   16 declara_var: $@5 lista_id_var DOIS_PONTOS tipo $@6 PONTO_E_VIRGULA
+   16 declara_var: @5 lista_id_var DOIS_PONTOS tipo @6 PONTO_E_VIRGULA
 
    17 tipo: IDENT
 
@@ -54,1691 +54,1657 @@ Gramática
    21             | IDENT
 
    22 parte_declara_subrotinas: parte_declara_subrotinas declaracao_procedimento
-   23                         | ε
+   23                         | /* empty */
 
-   24 $@7: ε
+   24 @7: /* empty */
 
-   25 declaracao_procedimento: PROCEDURE IDENT $@7 parametros_ou_nada PONTO_E_VIRGULA bloco
+   25 @8: /* empty */
 
-   26 $@8: ε
+   26 declaracao_procedimento: PROCEDURE IDENT @7 parametros_ou_nada PONTO_E_VIRGULA bloco @8 PONTO_E_VIRGULA
 
-   27 $@9: ε
+   27 @9: /* empty */
 
-   28 parametros_ou_nada: ABRE_PARENTESES $@8 paramentros_formais $@9 FECHA_PARENTESES
-   29                   | ε
+   28 @10: /* empty */
 
-   30 paramentros_formais: secao_pfs
-   31                    | paramentros_formais PONTO_E_VIRGULA secao_pfs
+   29 parametros_ou_nada: ABRE_PARENTESES @9 paramentros_formais @10 FECHA_PARENTESES
+   30                   | /* empty */
 
-   32 $@10: ε
+   31 paramentros_formais: secao_pfs
+   32                    | paramentros_formais PONTO_E_VIRGULA secao_pfs
 
-   33 secao_pfs: $@10 lista_id_pf DOIS_PONTOS tipo
+   33 @11: /* empty */
 
-   34 lista_id_pf: parametro VIRGULA lista_id_pf
-   35            | parametro
+   34 secao_pfs: @11 lista_id_pf DOIS_PONTOS tipo
 
-   36 parametro: IDENT
+   35 lista_id_pf: parametro VIRGULA lista_id_pf
+   36            | parametro
 
-   37 comando_composto: T_BEGIN comandos T_END
+   37 parametro: IDENT
 
-   38 comandos: comando PONTO_E_VIRGULA comandos
-   39         | comando PONTO_E_VIRGULA
-   40         | ε
+   38 comando_composto: T_BEGIN comandos T_END
 
-   41 comando: numero DOIS_PONTOS comando_sem_rotulo
-   42        | comando_sem_rotulo
+   39 comandos: comando PONTO_E_VIRGULA comandos
+   40         | comando PONTO_E_VIRGULA
+   41         | /* empty */
 
-   43 comando_sem_rotulo: atribuicao_ou_procedimento
-   44                   | comando_composto
-   45                   | comando_condicional
-   46                   | comando_repetitivo
-   47                   | leitura
-   48                   | escrita
+   42 comando: numero DOIS_PONTOS comando_sem_rotulo
+   43        | comando_sem_rotulo
 
-   49 $@11: ε
+   44 comando_sem_rotulo: atribuicao_ou_procedimento
+   45                   | comando_composto
+   46                   | comando_condicional
+   47                   | comando_repetitivo
+   48                   | leitura
+   49                   | escrita
 
-   50 atribuicao_ou_procedimento: IDENT $@11 atribuicao_ou_procedimento_token
+   50 @12: /* empty */
 
-   51 atribuicao_ou_procedimento_token: atribuicao
-   52                                 | chamada_procedimento
+   51 atribuicao_ou_procedimento: IDENT @12 atribuicao_ou_procedimento_token
 
-   53 $@12: ε
+   52 atribuicao_ou_procedimento_token: atribuicao
+   53                                 | chamada_procedimento
 
-   54 atribuicao: $@12 ATRIBUICAO expressao_simples
+   54 @13: /* empty */
 
-   55 chamada_procedimento: ε
+   55 atribuicao: @13 ATRIBUICAO expressao_simples
 
-   56 leitura: READ ABRE_PARENTESES lista_leituras FECHA_PARENTESES
+   56 chamada_procedimento: /* empty */
 
-   57 lista_leituras: lista_leituras VIRGULA simb_leitura
-   58               | simb_leitura
+   57 leitura: READ ABRE_PARENTESES lista_leituras FECHA_PARENTESES
 
-   59 simb_leitura: IDENT
+   58 lista_leituras: lista_leituras VIRGULA simb_leitura
+   59               | simb_leitura
 
-   60 escrita: WRITE ABRE_PARENTESES lista_escritas FECHA_PARENTESES
+   60 simb_leitura: IDENT
 
-   61 lista_escritas: lista_escritas VIRGULA expressao_simples
-   62               | expressao_simples
+   61 escrita: WRITE ABRE_PARENTESES lista_escritas FECHA_PARENTESES
 
-   63 expressao: expressao IGUAL expressao_simples
-   64          | expressao DIFERENTE expressao_simples
-   65          | expressao MENOR expressao_simples
-   66          | expressao MENOR_IGUAL expressao_simples
-   67          | expressao MAIOR expressao_simples
-   68          | expressao MAIOR_IGUAL expressao_simples
-   69          | expressao_simples
+   62 lista_escritas: lista_escritas VIRGULA expressao_simples
+   63               | expressao_simples
 
-   70 expressao_simples: expressao_simples MAIS termo
-   71                  | expressao_simples MENOS termo
-   72                  | termo
-
-   73 termo: termo ASTERISCO fator
-   74      | termo DIV fator
-   75      | fator
-
-   76 fator: IDENT
-   77      | NUMERO
-
-   78 numero: NUMERO
-
-   79 $@13: ε
-
-   80 $@14: ε
-
-   81 comando_repetitivo: $@13 WHILE expressao DO $@14 comando_sem_rotulo
-
-   82 comando_condicional: if_then cond_else
-
-   83 cond_else: ELSE comando_sem_rotulo
-   84          | ε
-
-   85 $@15: ε
-
-   86 if_then: IF expressao $@15 THEN comando_sem_rotulo
-
-
-Terminais, com as regras onde eles aparecem
-
-    $end (0) 0
-    error (256)
-    PROGRAM (258) 2
-    ABRE_PARENTESES (259) 2 28 56 60
-    FECHA_PARENTESES (260) 2 28 56 60
-    VIRGULA (261) 6 18 20 34 57 61
-    PONTO_E_VIRGULA (262) 2 16 25 31 38 39
-    DOIS_PONTOS (263) 16 33 41
-    PONTO (264) 2
-    T_BEGIN (265) 37
-    T_END (266) 37
-    VAR (267) 10
-    IDENT (268) 2 17 18 19 20 21 25 36 50 59 76
-    ATRIBUICAO (269) 54
-    LABEL (270) 6
-    TYPE (271)
-    ARRAY (272)
-    PROCEDURE (273) 25
-    FUNCTION (274)
-    GOTO (275)
-    IF (276) 86
-    THEN (277) 86
-    ELSE (278) 83
-    WHILE (279) 81
-    DO (280) 81
-    OR (281)
-    DIV (282) 74
-    AND (283)
-    NOT (284)
-    IGUAL (285) 63
-    DIFERENTE (286) 64
-    MENOR_IGUAL (287) 66
-    MAIOR_IGUAL (288) 68
-    MENOR (289) 65
-    MAIOR (290) 67
-    MAIS (291) 70
-    MENOS (292) 71
-    ASTERISCO (293) 73
-    NUMERO (294) 77 78
-    READ (295) 56
-    WRITE (296) 60
-    LOWER_THAN_ELSE (297)
-
-
-Não terminais com as regras onde eles aparecem
-
-    $accept (43)
-        à esquerda: 0
-    programa (44)
-        à esquerda: 2
-        à direita: 0
-    $@1 (45)
-        à esquerda: 1
-        à direita: 2
-    bloco (46)
-        à esquerda: 5
-        à direita: 2 25
-    $@2 (47)
-        à esquerda: 3
-        à direita: 5
-    $@3 (48)
-        à esquerda: 4
-        à direita: 5
-    parte_declara_rotulos (49)
-        à esquerda: 6 7
-        à direita: 5
-    parte_declara_vars (50)
-        à esquerda: 8
-        à direita: 5
-    var (51)
-        à esquerda: 10 11
-        à direita: 8
-    $@4 (52)
-        à esquerda: 9
-        à direita: 10
-    declara_vars (53)
-        à esquerda: 12 13
-        à direita: 10 12
-    declara_var (54)
-        à esquerda: 16
-        à direita: 12 13
-    $@5 (55)
-        à esquerda: 14
-        à direita: 16
-    $@6 (56)
-        à esquerda: 15
-        à direita: 16
-    tipo (57)
-        à esquerda: 17
-        à direita: 16 33
-    lista_id_var (58)
-        à esquerda: 18 19
-        à direita: 16 18
-    lista_idents (59)
-        à esquerda: 20 21
-        à direita: 2 20
-    parte_declara_subrotinas (60)
-        à esquerda: 22 23
-        à direita: 5 22
-    declaracao_procedimento (61)
-        à esquerda: 25
-        à direita: 22
-    $@7 (62)
-        à esquerda: 24
-        à direita: 25
-    parametros_ou_nada (63)
-        à esquerda: 28 29
-        à direita: 25
-    $@8 (64)
-        à esquerda: 26
-        à direita: 28
-    $@9 (65)
-        à esquerda: 27
-        à direita: 28
-    paramentros_formais (66)
-        à esquerda: 30 31
-        à direita: 28 31
-    secao_pfs (67)
-        à esquerda: 33
-        à direita: 30 31
-    $@10 (68)
-        à esquerda: 32
-        à direita: 33
-    lista_id_pf (69)
-        à esquerda: 34 35
-        à direita: 33 34
-    parametro (70)
-        à esquerda: 36
-        à direita: 34 35
-    comando_composto (71)
-        à esquerda: 37
-        à direita: 5 44
-    comandos (72)
-        à esquerda: 38 39 40
-        à direita: 37 38
-    comando (73)
-        à esquerda: 41 42
-        à direita: 38 39
-    comando_sem_rotulo (74)
-        à esquerda: 43 44 45 46 47 48
-        à direita: 41 42 81 83 86
-    atribuicao_ou_procedimento (75)
-        à esquerda: 50
-        à direita: 43
-    $@11 (76)
-        à esquerda: 49
-        à direita: 50
-    atribuicao_ou_procedimento_token (77)
-        à esquerda: 51 52
-        à direita: 50
-    atribuicao (78)
-        à esquerda: 54
-        à direita: 51
-    $@12 (79)
-        à esquerda: 53
-        à direita: 54
-    chamada_procedimento (80)
-        à esquerda: 55
-        à direita: 52
-    leitura (81)
-        à esquerda: 56
-        à direita: 47
-    lista_leituras (82)
-        à esquerda: 57 58
-        à direita: 56 57
-    simb_leitura (83)
-        à esquerda: 59
-        à direita: 57 58
-    escrita (84)
-        à esquerda: 60
-        à direita: 48
-    lista_escritas (85)
-        à esquerda: 61 62
-        à direita: 60 61
-    expressao (86)
-        à esquerda: 63 64 65 66 67 68 69
-        à direita: 63 64 65 66 67 68 81 86
-    expressao_simples (87)
-        à esquerda: 70 71 72
-        à direita: 54 61 62 63 64 65 66 67 68 69 70 71
-    termo (88)
-        à esquerda: 73 74 75
-        à direita: 70 71 72 73 74
-    fator (89)
-        à esquerda: 76 77
-        à direita: 73 74 75
-    numero (90)
-        à esquerda: 78
-        à direita: 41
-    comando_repetitivo (91)
-        à esquerda: 81
-        à direita: 46
-    $@13 (92)
-        à esquerda: 79
-        à direita: 81
-    $@14 (93)
-        à esquerda: 80
-        à direita: 81
-    comando_condicional (94)
-        à esquerda: 82
-        à direita: 45
-    cond_else (95)
-        à esquerda: 83 84
-        à direita: 82
-    if_then (96)
-        à esquerda: 86
-        à direita: 82
-    $@15 (97)
-        à esquerda: 85
-        à direita: 86
+   64 expressao: expressao IGUAL expressao_simples
+   65          | expressao DIFERENTE expressao_simples
+   66          | expressao MENOR expressao_simples
+   67          | expressao MENOR_IGUAL expressao_simples
+   68          | expressao MAIOR expressao_simples
+   69          | expressao MAIOR_IGUAL expressao_simples
+   70          | expressao_simples
 
+   71 expressao_simples: expressao_simples MAIS termo
+   72                  | expressao_simples MENOS termo
+   73                  | termo
+
+   74 termo: termo ASTERISCO fator
+   75      | termo DIV fator
+   76      | fator
+
+   77 fator: IDENT
+   78      | NUMERO
+
+   79 numero: NUMERO
+
+   80 @14: /* empty */
+
+   81 @15: /* empty */
+
+   82 comando_repetitivo: @14 WHILE expressao DO @15 comando_sem_rotulo
+
+   83 comando_condicional: if_then cond_else
+
+   84 cond_else: ELSE comando_sem_rotulo
+   85          | /* empty */
+
+   86 @16: /* empty */
+
+   87 if_then: IF expressao @16 THEN comando_sem_rotulo
+
+
+Terminals, with rules where they appear
+
+$end (0) 0
+error (256)
+PROGRAM (258) 2
+ABRE_PARENTESES (259) 2 29 57 61
+FECHA_PARENTESES (260) 2 29 57 61
+VIRGULA (261) 6 18 20 35 58 62
+PONTO_E_VIRGULA (262) 2 16 26 32 39 40
+DOIS_PONTOS (263) 16 34 42
+PONTO (264) 2
+T_BEGIN (265) 38
+T_END (266) 38
+VAR (267) 10
+IDENT (268) 2 17 18 19 20 21 26 37 51 60 77
+ATRIBUICAO (269) 55
+LABEL (270) 6
+TYPE (271)
+ARRAY (272)
+PROCEDURE (273) 26
+FUNCTION (274)
+GOTO (275)
+IF (276) 87
+THEN (277) 87
+ELSE (278) 84
+WHILE (279) 82
+DO (280) 82
+OR (281)
+DIV (282) 75
+AND (283)
+NOT (284)
+IGUAL (285) 64
+DIFERENTE (286) 65
+MENOR_IGUAL (287) 67
+MAIOR_IGUAL (288) 69
+MENOR (289) 66
+MAIOR (290) 68
+MAIS (291) 71
+MENOS (292) 72
+ASTERISCO (293) 74
+NUMERO (294) 78 79
+READ (295) 57
+WRITE (296) 61
+LOWER_THAN_ELSE (297)
+
+
+Nonterminals, with rules where they appear
+
+$accept (43)
+    on left: 0
+programa (44)
+    on left: 2, on right: 0
+@1 (45)
+    on left: 1, on right: 2
+bloco (46)
+    on left: 5, on right: 2 26
+@2 (47)
+    on left: 3, on right: 5
+@3 (48)
+    on left: 4, on right: 5
+parte_declara_rotulos (49)
+    on left: 6 7, on right: 5
+parte_declara_vars (50)
+    on left: 8, on right: 5
+var (51)
+    on left: 10 11, on right: 8
+@4 (52)
+    on left: 9, on right: 10
+declara_vars (53)
+    on left: 12 13, on right: 10 12
+declara_var (54)
+    on left: 16, on right: 12 13
+@5 (55)
+    on left: 14, on right: 16
+@6 (56)
+    on left: 15, on right: 16
+tipo (57)
+    on left: 17, on right: 16 34
+lista_id_var (58)
+    on left: 18 19, on right: 16 18
+lista_idents (59)
+    on left: 20 21, on right: 2 20
+parte_declara_subrotinas (60)
+    on left: 22 23, on right: 5 22
+declaracao_procedimento (61)
+    on left: 26, on right: 22
+@7 (62)
+    on left: 24, on right: 26
+@8 (63)
+    on left: 25, on right: 26
+parametros_ou_nada (64)
+    on left: 29 30, on right: 26
+@9 (65)
+    on left: 27, on right: 29
+@10 (66)
+    on left: 28, on right: 29
+paramentros_formais (67)
+    on left: 31 32, on right: 29 32
+secao_pfs (68)
+    on left: 34, on right: 31 32
+@11 (69)
+    on left: 33, on right: 34
+lista_id_pf (70)
+    on left: 35 36, on right: 34 35
+parametro (71)
+    on left: 37, on right: 35 36
+comando_composto (72)
+    on left: 38, on right: 5 45
+comandos (73)
+    on left: 39 40 41, on right: 38 39
+comando (74)
+    on left: 42 43, on right: 39 40
+comando_sem_rotulo (75)
+    on left: 44 45 46 47 48 49, on right: 42 43 82 84 87
+atribuicao_ou_procedimento (76)
+    on left: 51, on right: 44
+@12 (77)
+    on left: 50, on right: 51
+atribuicao_ou_procedimento_token (78)
+    on left: 52 53, on right: 51
+atribuicao (79)
+    on left: 55, on right: 52
+@13 (80)
+    on left: 54, on right: 55
+chamada_procedimento (81)
+    on left: 56, on right: 53
+leitura (82)
+    on left: 57, on right: 48
+lista_leituras (83)
+    on left: 58 59, on right: 57 58
+simb_leitura (84)
+    on left: 60, on right: 58 59
+escrita (85)
+    on left: 61, on right: 49
+lista_escritas (86)
+    on left: 62 63, on right: 61 62
+expressao (87)
+    on left: 64 65 66 67 68 69 70, on right: 64 65 66 67 68 69 82 87
+expressao_simples (88)
+    on left: 71 72 73, on right: 55 62 63 64 65 66 67 68 69 70 71 72
+termo (89)
+    on left: 74 75 76, on right: 71 72 73 74 75
+fator (90)
+    on left: 77 78, on right: 74 75 76
+numero (91)
+    on left: 79, on right: 42
+comando_repetitivo (92)
+    on left: 82, on right: 47
+@14 (93)
+    on left: 80, on right: 82
+@15 (94)
+    on left: 81, on right: 82
+comando_condicional (95)
+    on left: 83, on right: 46
+cond_else (96)
+    on left: 84 85, on right: 83
+if_then (97)
+    on left: 87, on right: 83
+@16 (98)
+    on left: 86, on right: 87
 
-Estado 0
 
-    0 $accept: • programa $end
+state 0
 
-    $padrão  reduzir usando a regra 1 ($@1)
+    0 $accept: . programa $end
 
-    programa  ir ao estado 1
-    $@1       ir ao estado 2
+    $default  reduce using rule 1 (@1)
 
+    programa  go to state 1
+    @1        go to state 2
 
-Estado 1
 
-    0 $accept: programa • $end
+state 1
 
-    $end  deslocar, e ir ao estado 3
+    0 $accept: programa . $end
 
+    $end  shift, and go to state 3
 
-Estado 2
 
-    2 programa: $@1 • PROGRAM IDENT ABRE_PARENTESES lista_idents FECHA_PARENTESES PONTO_E_VIRGULA bloco PONTO
+state 2
 
-    PROGRAM  deslocar, e ir ao estado 4
+    2 programa: @1 . PROGRAM IDENT ABRE_PARENTESES lista_idents FECHA_PARENTESES PONTO_E_VIRGULA bloco PONTO
 
+    PROGRAM  shift, and go to state 4
 
-Estado 3
 
-    0 $accept: programa $end •
+state 3
 
-    $padrão  aceitar
+    0 $accept: programa $end .
 
+    $default  accept
 
-Estado 4
 
-    2 programa: $@1 PROGRAM • IDENT ABRE_PARENTESES lista_idents FECHA_PARENTESES PONTO_E_VIRGULA bloco PONTO
+state 4
 
-    IDENT  deslocar, e ir ao estado 5
+    2 programa: @1 PROGRAM . IDENT ABRE_PARENTESES lista_idents FECHA_PARENTESES PONTO_E_VIRGULA bloco PONTO
 
+    IDENT  shift, and go to state 5
 
-Estado 5
 
-    2 programa: $@1 PROGRAM IDENT • ABRE_PARENTESES lista_idents FECHA_PARENTESES PONTO_E_VIRGULA bloco PONTO
+state 5
 
-    ABRE_PARENTESES  deslocar, e ir ao estado 6
+    2 programa: @1 PROGRAM IDENT . ABRE_PARENTESES lista_idents FECHA_PARENTESES PONTO_E_VIRGULA bloco PONTO
 
+    ABRE_PARENTESES  shift, and go to state 6
 
-Estado 6
 
-    2 programa: $@1 PROGRAM IDENT ABRE_PARENTESES • lista_idents FECHA_PARENTESES PONTO_E_VIRGULA bloco PONTO
+state 6
 
-    IDENT  deslocar, e ir ao estado 7
+    2 programa: @1 PROGRAM IDENT ABRE_PARENTESES . lista_idents FECHA_PARENTESES PONTO_E_VIRGULA bloco PONTO
 
-    lista_idents  ir ao estado 8
+    IDENT  shift, and go to state 7
 
+    lista_idents  go to state 8
 
-Estado 7
 
-   21 lista_idents: IDENT •
+state 7
 
-    $padrão  reduzir usando a regra 21 (lista_idents)
+   21 lista_idents: IDENT .
 
+    $default  reduce using rule 21 (lista_idents)
 
-Estado 8
 
-    2 programa: $@1 PROGRAM IDENT ABRE_PARENTESES lista_idents • FECHA_PARENTESES PONTO_E_VIRGULA bloco PONTO
-   20 lista_idents: lista_idents • VIRGULA IDENT
+state 8
 
-    FECHA_PARENTESES  deslocar, e ir ao estado 9
-    VIRGULA           deslocar, e ir ao estado 10
+    2 programa: @1 PROGRAM IDENT ABRE_PARENTESES lista_idents . FECHA_PARENTESES PONTO_E_VIRGULA bloco PONTO
+   20 lista_idents: lista_idents . VIRGULA IDENT
 
+    FECHA_PARENTESES  shift, and go to state 9
+    VIRGULA           shift, and go to state 10
 
-Estado 9
 
-    2 programa: $@1 PROGRAM IDENT ABRE_PARENTESES lista_idents FECHA_PARENTESES • PONTO_E_VIRGULA bloco PONTO
+state 9
 
-    PONTO_E_VIRGULA  deslocar, e ir ao estado 11
+    2 programa: @1 PROGRAM IDENT ABRE_PARENTESES lista_idents FECHA_PARENTESES . PONTO_E_VIRGULA bloco PONTO
 
+    PONTO_E_VIRGULA  shift, and go to state 11
 
-Estado 10
 
-   20 lista_idents: lista_idents VIRGULA • IDENT
+state 10
 
-    IDENT  deslocar, e ir ao estado 12
+   20 lista_idents: lista_idents VIRGULA . IDENT
 
+    IDENT  shift, and go to state 12
 
-Estado 11
 
-    2 programa: $@1 PROGRAM IDENT ABRE_PARENTESES lista_idents FECHA_PARENTESES PONTO_E_VIRGULA • bloco PONTO
+state 11
 
-    LABEL  deslocar, e ir ao estado 13
+    2 programa: @1 PROGRAM IDENT ABRE_PARENTESES lista_idents FECHA_PARENTESES PONTO_E_VIRGULA . bloco PONTO
 
-    $padrão  reduzir usando a regra 7 (parte_declara_rotulos)
+    LABEL  shift, and go to state 13
 
-    bloco                  ir ao estado 14
-    parte_declara_rotulos  ir ao estado 15
+    $default  reduce using rule 7 (parte_declara_rotulos)
 
+    bloco                  go to state 14
+    parte_declara_rotulos  go to state 15
 
-Estado 12
 
-   20 lista_idents: lista_idents VIRGULA IDENT •
+state 12
 
-    $padrão  reduzir usando a regra 20 (lista_idents)
+   20 lista_idents: lista_idents VIRGULA IDENT .
 
+    $default  reduce using rule 20 (lista_idents)
 
-Estado 13
 
-    6 parte_declara_rotulos: LABEL • VIRGULA
+state 13
 
-    VIRGULA  deslocar, e ir ao estado 16
+    6 parte_declara_rotulos: LABEL . VIRGULA
 
+    VIRGULA  shift, and go to state 16
 
-Estado 14
 
-    2 programa: $@1 PROGRAM IDENT ABRE_PARENTESES lista_idents FECHA_PARENTESES PONTO_E_VIRGULA bloco • PONTO
+state 14
 
-    PONTO  deslocar, e ir ao estado 17
+    2 programa: @1 PROGRAM IDENT ABRE_PARENTESES lista_idents FECHA_PARENTESES PONTO_E_VIRGULA bloco . PONTO
 
+    PONTO  shift, and go to state 17
 
-Estado 15
 
-    5 bloco: parte_declara_rotulos • parte_declara_vars $@2 parte_declara_subrotinas $@3 comando_composto
+state 15
 
-    VAR      reduzir usando a regra 9 ($@4)
-    $padrão  reduzir usando a regra 11 (var)
+    5 bloco: parte_declara_rotulos . parte_declara_vars @2 parte_declara_subrotinas @3 comando_composto
 
-    parte_declara_vars  ir ao estado 18
-    var                 ir ao estado 19
-    $@4                 ir ao estado 20
+    VAR       reduce using rule 9 (@4)
+    $default  reduce using rule 11 (var)
 
+    parte_declara_vars  go to state 18
+    var                 go to state 19
+    @4                  go to state 20
 
-Estado 16
 
-    6 parte_declara_rotulos: LABEL VIRGULA •
+state 16
 
-    $padrão  reduzir usando a regra 6 (parte_declara_rotulos)
+    6 parte_declara_rotulos: LABEL VIRGULA .
 
+    $default  reduce using rule 6 (parte_declara_rotulos)
 
-Estado 17
 
-    2 programa: $@1 PROGRAM IDENT ABRE_PARENTESES lista_idents FECHA_PARENTESES PONTO_E_VIRGULA bloco PONTO •
+state 17
 
-    $padrão  reduzir usando a regra 2 (programa)
+    2 programa: @1 PROGRAM IDENT ABRE_PARENTESES lista_idents FECHA_PARENTESES PONTO_E_VIRGULA bloco PONTO .
 
+    $default  reduce using rule 2 (programa)
 
-Estado 18
 
-    5 bloco: parte_declara_rotulos parte_declara_vars • $@2 parte_declara_subrotinas $@3 comando_composto
+state 18
 
-    $padrão  reduzir usando a regra 3 ($@2)
+    5 bloco: parte_declara_rotulos parte_declara_vars . @2 parte_declara_subrotinas @3 comando_composto
 
-    $@2  ir ao estado 21
+    $default  reduce using rule 3 (@2)
 
+    @2  go to state 21
 
-Estado 19
 
-    8 parte_declara_vars: var •
+state 19
 
-    $padrão  reduzir usando a regra 8 (parte_declara_vars)
+    8 parte_declara_vars: var .
 
+    $default  reduce using rule 8 (parte_declara_vars)
 
-Estado 20
 
-   10 var: $@4 • VAR declara_vars
+state 20
 
-    VAR  deslocar, e ir ao estado 22
+   10 var: @4 . VAR declara_vars
 
+    VAR  shift, and go to state 22
 
-Estado 21
 
-    5 bloco: parte_declara_rotulos parte_declara_vars $@2 • parte_declara_subrotinas $@3 comando_composto
+state 21
 
-    $padrão  reduzir usando a regra 23 (parte_declara_subrotinas)
+    5 bloco: parte_declara_rotulos parte_declara_vars @2 . parte_declara_subrotinas @3 comando_composto
 
-    parte_declara_subrotinas  ir ao estado 23
+    $default  reduce using rule 23 (parte_declara_subrotinas)
 
+    parte_declara_subrotinas  go to state 23
 
-Estado 22
 
-   10 var: $@4 VAR • declara_vars
+state 22
 
-    $padrão  reduzir usando a regra 14 ($@5)
+   10 var: @4 VAR . declara_vars
 
-    declara_vars  ir ao estado 24
-    declara_var   ir ao estado 25
-    $@5           ir ao estado 26
+    $default  reduce using rule 14 (@5)
 
+    declara_vars  go to state 24
+    declara_var   go to state 25
+    @5            go to state 26
 
-Estado 23
 
-    5 bloco: parte_declara_rotulos parte_declara_vars $@2 parte_declara_subrotinas • $@3 comando_composto
-   22 parte_declara_subrotinas: parte_declara_subrotinas • declaracao_procedimento
+state 23
 
-    PROCEDURE  deslocar, e ir ao estado 27
+    5 bloco: parte_declara_rotulos parte_declara_vars @2 parte_declara_subrotinas . @3 comando_composto
+   22 parte_declara_subrotinas: parte_declara_subrotinas . declaracao_procedimento
 
-    $padrão  reduzir usando a regra 4 ($@3)
+    PROCEDURE  shift, and go to state 27
 
-    $@3                      ir ao estado 28
-    declaracao_procedimento  ir ao estado 29
+    $default  reduce using rule 4 (@3)
 
+    @3                       go to state 28
+    declaracao_procedimento  go to state 29
 
-Estado 24
 
-   10 var: $@4 VAR declara_vars •
-   12 declara_vars: declara_vars • declara_var
+state 24
 
-    IDENT    reduzir usando a regra 14 ($@5)
-    $padrão  reduzir usando a regra 10 (var)
+   10 var: @4 VAR declara_vars .
+   12 declara_vars: declara_vars . declara_var
 
-    declara_var  ir ao estado 30
-    $@5          ir ao estado 26
+    IDENT     reduce using rule 14 (@5)
+    $default  reduce using rule 10 (var)
 
+    declara_var  go to state 30
+    @5           go to state 26
 
-Estado 25
 
-   13 declara_vars: declara_var •
+state 25
 
-    $padrão  reduzir usando a regra 13 (declara_vars)
+   13 declara_vars: declara_var .
 
+    $default  reduce using rule 13 (declara_vars)
 
-Estado 26
 
-   16 declara_var: $@5 • lista_id_var DOIS_PONTOS tipo $@6 PONTO_E_VIRGULA
+state 26
 
-    IDENT  deslocar, e ir ao estado 31
+   16 declara_var: @5 . lista_id_var DOIS_PONTOS tipo @6 PONTO_E_VIRGULA
 
-    lista_id_var  ir ao estado 32
+    IDENT  shift, and go to state 31
 
+    lista_id_var  go to state 32
 
-Estado 27
 
-   25 declaracao_procedimento: PROCEDURE • IDENT $@7 parametros_ou_nada PONTO_E_VIRGULA bloco
+state 27
 
-    IDENT  deslocar, e ir ao estado 33
+   26 declaracao_procedimento: PROCEDURE . IDENT @7 parametros_ou_nada PONTO_E_VIRGULA bloco @8 PONTO_E_VIRGULA
 
+    IDENT  shift, and go to state 33
 
-Estado 28
 
-    5 bloco: parte_declara_rotulos parte_declara_vars $@2 parte_declara_subrotinas $@3 • comando_composto
+state 28
 
-    T_BEGIN  deslocar, e ir ao estado 34
+    5 bloco: parte_declara_rotulos parte_declara_vars @2 parte_declara_subrotinas @3 . comando_composto
 
-    comando_composto  ir ao estado 35
+    T_BEGIN  shift, and go to state 34
 
+    comando_composto  go to state 35
 
-Estado 29
 
-   22 parte_declara_subrotinas: parte_declara_subrotinas declaracao_procedimento •
+state 29
 
-    $padrão  reduzir usando a regra 22 (parte_declara_subrotinas)
+   22 parte_declara_subrotinas: parte_declara_subrotinas declaracao_procedimento .
 
+    $default  reduce using rule 22 (parte_declara_subrotinas)
 
-Estado 30
 
-   12 declara_vars: declara_vars declara_var •
+state 30
 
-    $padrão  reduzir usando a regra 12 (declara_vars)
+   12 declara_vars: declara_vars declara_var .
 
+    $default  reduce using rule 12 (declara_vars)
 
-Estado 31
 
-   19 lista_id_var: IDENT •
+state 31
 
-    $padrão  reduzir usando a regra 19 (lista_id_var)
+   19 lista_id_var: IDENT .
 
+    $default  reduce using rule 19 (lista_id_var)
 
-Estado 32
 
-   16 declara_var: $@5 lista_id_var • DOIS_PONTOS tipo $@6 PONTO_E_VIRGULA
-   18 lista_id_var: lista_id_var • VIRGULA IDENT
+state 32
 
-    VIRGULA      deslocar, e ir ao estado 36
-    DOIS_PONTOS  deslocar, e ir ao estado 37
+   16 declara_var: @5 lista_id_var . DOIS_PONTOS tipo @6 PONTO_E_VIRGULA
+   18 lista_id_var: lista_id_var . VIRGULA IDENT
 
+    VIRGULA      shift, and go to state 36
+    DOIS_PONTOS  shift, and go to state 37
 
-Estado 33
 
-   25 declaracao_procedimento: PROCEDURE IDENT • $@7 parametros_ou_nada PONTO_E_VIRGULA bloco
+state 33
 
-    $padrão  reduzir usando a regra 24 ($@7)
+   26 declaracao_procedimento: PROCEDURE IDENT . @7 parametros_ou_nada PONTO_E_VIRGULA bloco @8 PONTO_E_VIRGULA
 
-    $@7  ir ao estado 38
+    $default  reduce using rule 24 (@7)
 
+    @7  go to state 38
 
-Estado 34
 
-   37 comando_composto: T_BEGIN • comandos T_END
+state 34
 
-    T_BEGIN  deslocar, e ir ao estado 34
-    IDENT    deslocar, e ir ao estado 39
-    IF       deslocar, e ir ao estado 40
-    NUMERO   deslocar, e ir ao estado 41
-    READ     deslocar, e ir ao estado 42
-    WRITE    deslocar, e ir ao estado 43
+   38 comando_composto: T_BEGIN . comandos T_END
 
-    WHILE    reduzir usando a regra 79 ($@13)
-    $padrão  reduzir usando a regra 40 (comandos)
+    T_BEGIN  shift, and go to state 34
+    IDENT    shift, and go to state 39
+    IF       shift, and go to state 40
+    NUMERO   shift, and go to state 41
+    READ     shift, and go to state 42
+    WRITE    shift, and go to state 43
 
-    comando_composto            ir ao estado 44
-    comandos                    ir ao estado 45
-    comando                     ir ao estado 46
-    comando_sem_rotulo          ir ao estado 47
-    atribuicao_ou_procedimento  ir ao estado 48
-    leitura                     ir ao estado 49
-    escrita                     ir ao estado 50
-    numero                      ir ao estado 51
-    comando_repetitivo          ir ao estado 52
-    $@13                        ir ao estado 53
-    comando_condicional         ir ao estado 54
-    if_then                     ir ao estado 55
+    WHILE     reduce using rule 80 (@14)
+    $default  reduce using rule 41 (comandos)
 
+    comando_composto            go to state 44
+    comandos                    go to state 45
+    comando                     go to state 46
+    comando_sem_rotulo          go to state 47
+    atribuicao_ou_procedimento  go to state 48
+    leitura                     go to state 49
+    escrita                     go to state 50
+    numero                      go to state 51
+    comando_repetitivo          go to state 52
+    @14                         go to state 53
+    comando_condicional         go to state 54
+    if_then                     go to state 55
 
-Estado 35
 
-    5 bloco: parte_declara_rotulos parte_declara_vars $@2 parte_declara_subrotinas $@3 comando_composto •
+state 35
 
-    $padrão  reduzir usando a regra 5 (bloco)
+    5 bloco: parte_declara_rotulos parte_declara_vars @2 parte_declara_subrotinas @3 comando_composto .
 
+    $default  reduce using rule 5 (bloco)
 
-Estado 36
 
-   18 lista_id_var: lista_id_var VIRGULA • IDENT
+state 36
 
-    IDENT  deslocar, e ir ao estado 56
+   18 lista_id_var: lista_id_var VIRGULA . IDENT
 
+    IDENT  shift, and go to state 56
 
-Estado 37
 
-   16 declara_var: $@5 lista_id_var DOIS_PONTOS • tipo $@6 PONTO_E_VIRGULA
+state 37
 
-    IDENT  deslocar, e ir ao estado 57
+   16 declara_var: @5 lista_id_var DOIS_PONTOS . tipo @6 PONTO_E_VIRGULA
 
-    tipo  ir ao estado 58
+    IDENT  shift, and go to state 57
 
+    tipo  go to state 58
 
-Estado 38
 
-   25 declaracao_procedimento: PROCEDURE IDENT $@7 • parametros_ou_nada PONTO_E_VIRGULA bloco
+state 38
 
-    ABRE_PARENTESES  deslocar, e ir ao estado 59
+   26 declaracao_procedimento: PROCEDURE IDENT @7 . parametros_ou_nada PONTO_E_VIRGULA bloco @8 PONTO_E_VIRGULA
 
-    $padrão  reduzir usando a regra 29 (parametros_ou_nada)
+    ABRE_PARENTESES  shift, and go to state 59
 
-    parametros_ou_nada  ir ao estado 60
+    $default  reduce using rule 30 (parametros_ou_nada)
 
+    parametros_ou_nada  go to state 60
 
-Estado 39
 
-   50 atribuicao_ou_procedimento: IDENT • $@11 atribuicao_ou_procedimento_token
+state 39
 
-    $padrão  reduzir usando a regra 49 ($@11)
+   51 atribuicao_ou_procedimento: IDENT . @12 atribuicao_ou_procedimento_token
 
-    $@11  ir ao estado 61
+    $default  reduce using rule 50 (@12)
 
+    @12  go to state 61
 
-Estado 40
 
-   86 if_then: IF • expressao $@15 THEN comando_sem_rotulo
+state 40
 
-    IDENT   deslocar, e ir ao estado 62
-    NUMERO  deslocar, e ir ao estado 63
+   87 if_then: IF . expressao @16 THEN comando_sem_rotulo
 
-    expressao          ir ao estado 64
-    expressao_simples  ir ao estado 65
-    termo              ir ao estado 66
-    fator              ir ao estado 67
+    IDENT   shift, and go to state 62
+    NUMERO  shift, and go to state 63
 
+    expressao          go to state 64
+    expressao_simples  go to state 65
+    termo              go to state 66
+    fator              go to state 67
 
-Estado 41
 
-   78 numero: NUMERO •
+state 41
 
-    $padrão  reduzir usando a regra 78 (numero)
+   79 numero: NUMERO .
 
+    $default  reduce using rule 79 (numero)
 
-Estado 42
 
-   56 leitura: READ • ABRE_PARENTESES lista_leituras FECHA_PARENTESES
+state 42
 
-    ABRE_PARENTESES  deslocar, e ir ao estado 68
+   57 leitura: READ . ABRE_PARENTESES lista_leituras FECHA_PARENTESES
 
+    ABRE_PARENTESES  shift, and go to state 68
 
-Estado 43
 
-   60 escrita: WRITE • ABRE_PARENTESES lista_escritas FECHA_PARENTESES
+state 43
 
-    ABRE_PARENTESES  deslocar, e ir ao estado 69
+   61 escrita: WRITE . ABRE_PARENTESES lista_escritas FECHA_PARENTESES
 
+    ABRE_PARENTESES  shift, and go to state 69
 
-Estado 44
 
-   44 comando_sem_rotulo: comando_composto •
+state 44
 
-    $padrão  reduzir usando a regra 44 (comando_sem_rotulo)
+   45 comando_sem_rotulo: comando_composto .
 
+    $default  reduce using rule 45 (comando_sem_rotulo)
 
-Estado 45
 
-   37 comando_composto: T_BEGIN comandos • T_END
+state 45
 
-    T_END  deslocar, e ir ao estado 70
+   38 comando_composto: T_BEGIN comandos . T_END
 
+    T_END  shift, and go to state 70
 
-Estado 46
 
-   38 comandos: comando • PONTO_E_VIRGULA comandos
-   39         | comando • PONTO_E_VIRGULA
+state 46
 
-    PONTO_E_VIRGULA  deslocar, e ir ao estado 71
+   39 comandos: comando . PONTO_E_VIRGULA comandos
+   40         | comando . PONTO_E_VIRGULA
 
+    PONTO_E_VIRGULA  shift, and go to state 71
 
-Estado 47
 
-   42 comando: comando_sem_rotulo •
+state 47
 
-    $padrão  reduzir usando a regra 42 (comando)
+   43 comando: comando_sem_rotulo .
 
+    $default  reduce using rule 43 (comando)
 
-Estado 48
 
-   43 comando_sem_rotulo: atribuicao_ou_procedimento •
+state 48
 
-    $padrão  reduzir usando a regra 43 (comando_sem_rotulo)
+   44 comando_sem_rotulo: atribuicao_ou_procedimento .
 
+    $default  reduce using rule 44 (comando_sem_rotulo)
 
-Estado 49
 
-   47 comando_sem_rotulo: leitura •
+state 49
 
-    $padrão  reduzir usando a regra 47 (comando_sem_rotulo)
+   48 comando_sem_rotulo: leitura .
 
+    $default  reduce using rule 48 (comando_sem_rotulo)
 
-Estado 50
 
-   48 comando_sem_rotulo: escrita •
+state 50
 
-    $padrão  reduzir usando a regra 48 (comando_sem_rotulo)
+   49 comando_sem_rotulo: escrita .
 
+    $default  reduce using rule 49 (comando_sem_rotulo)
 
-Estado 51
 
-   41 comando: numero • DOIS_PONTOS comando_sem_rotulo
+state 51
 
-    DOIS_PONTOS  deslocar, e ir ao estado 72
+   42 comando: numero . DOIS_PONTOS comando_sem_rotulo
 
+    DOIS_PONTOS  shift, and go to state 72
 
-Estado 52
 
-   46 comando_sem_rotulo: comando_repetitivo •
+state 52
 
-    $padrão  reduzir usando a regra 46 (comando_sem_rotulo)
+   47 comando_sem_rotulo: comando_repetitivo .
 
+    $default  reduce using rule 47 (comando_sem_rotulo)
 
-Estado 53
 
-   81 comando_repetitivo: $@13 • WHILE expressao DO $@14 comando_sem_rotulo
+state 53
 
-    WHILE  deslocar, e ir ao estado 73
+   82 comando_repetitivo: @14 . WHILE expressao DO @15 comando_sem_rotulo
 
+    WHILE  shift, and go to state 73
 
-Estado 54
 
-   45 comando_sem_rotulo: comando_condicional •
+state 54
 
-    $padrão  reduzir usando a regra 45 (comando_sem_rotulo)
+   46 comando_sem_rotulo: comando_condicional .
 
+    $default  reduce using rule 46 (comando_sem_rotulo)
 
-Estado 55
 
-   82 comando_condicional: if_then • cond_else
+state 55
 
-    ELSE  deslocar, e ir ao estado 74
+   83 comando_condicional: if_then . cond_else
 
-    $padrão  reduzir usando a regra 84 (cond_else)
+    ELSE  shift, and go to state 74
 
-    cond_else  ir ao estado 75
+    $default  reduce using rule 85 (cond_else)
 
+    cond_else  go to state 75
 
-Estado 56
 
-   18 lista_id_var: lista_id_var VIRGULA IDENT •
+state 56
 
-    $padrão  reduzir usando a regra 18 (lista_id_var)
+   18 lista_id_var: lista_id_var VIRGULA IDENT .
 
+    $default  reduce using rule 18 (lista_id_var)
 
-Estado 57
 
-   17 tipo: IDENT •
+state 57
 
-    $padrão  reduzir usando a regra 17 (tipo)
+   17 tipo: IDENT .
 
+    $default  reduce using rule 17 (tipo)
 
-Estado 58
 
-   16 declara_var: $@5 lista_id_var DOIS_PONTOS tipo • $@6 PONTO_E_VIRGULA
+state 58
 
-    $padrão  reduzir usando a regra 15 ($@6)
+   16 declara_var: @5 lista_id_var DOIS_PONTOS tipo . @6 PONTO_E_VIRGULA
 
-    $@6  ir ao estado 76
+    $default  reduce using rule 15 (@6)
 
+    @6  go to state 76
 
-Estado 59
 
-   28 parametros_ou_nada: ABRE_PARENTESES • $@8 paramentros_formais $@9 FECHA_PARENTESES
+state 59
 
-    $padrão  reduzir usando a regra 26 ($@8)
+   29 parametros_ou_nada: ABRE_PARENTESES . @9 paramentros_formais @10 FECHA_PARENTESES
 
-    $@8  ir ao estado 77
+    $default  reduce using rule 27 (@9)
 
+    @9  go to state 77
 
-Estado 60
 
-   25 declaracao_procedimento: PROCEDURE IDENT $@7 parametros_ou_nada • PONTO_E_VIRGULA bloco
+state 60
 
-    PONTO_E_VIRGULA  deslocar, e ir ao estado 78
+   26 declaracao_procedimento: PROCEDURE IDENT @7 parametros_ou_nada . PONTO_E_VIRGULA bloco @8 PONTO_E_VIRGULA
 
+    PONTO_E_VIRGULA  shift, and go to state 78
 
-Estado 61
 
-   50 atribuicao_ou_procedimento: IDENT $@11 • atribuicao_ou_procedimento_token
+state 61
 
-    ATRIBUICAO  reduzir usando a regra 53 ($@12)
-    $padrão     reduzir usando a regra 55 (chamada_procedimento)
+   51 atribuicao_ou_procedimento: IDENT @12 . atribuicao_ou_procedimento_token
 
-    atribuicao_ou_procedimento_token  ir ao estado 79
-    atribuicao                        ir ao estado 80
-    $@12                              ir ao estado 81
-    chamada_procedimento              ir ao estado 82
+    ATRIBUICAO  reduce using rule 54 (@13)
+    $default    reduce using rule 56 (chamada_procedimento)
 
+    atribuicao_ou_procedimento_token  go to state 79
+    atribuicao                        go to state 80
+    @13                               go to state 81
+    chamada_procedimento              go to state 82
 
-Estado 62
 
-   76 fator: IDENT •
+state 62
 
-    $padrão  reduzir usando a regra 76 (fator)
+   77 fator: IDENT .
 
+    $default  reduce using rule 77 (fator)
 
-Estado 63
 
-   77 fator: NUMERO •
+state 63
 
-    $padrão  reduzir usando a regra 77 (fator)
+   78 fator: NUMERO .
 
+    $default  reduce using rule 78 (fator)
 
-Estado 64
 
-   63 expressao: expressao • IGUAL expressao_simples
-   64          | expressao • DIFERENTE expressao_simples
-   65          | expressao • MENOR expressao_simples
-   66          | expressao • MENOR_IGUAL expressao_simples
-   67          | expressao • MAIOR expressao_simples
-   68          | expressao • MAIOR_IGUAL expressao_simples
-   86 if_then: IF expressao • $@15 THEN comando_sem_rotulo
+state 64
 
-    IGUAL        deslocar, e ir ao estado 83
-    DIFERENTE    deslocar, e ir ao estado 84
-    MENOR_IGUAL  deslocar, e ir ao estado 85
-    MAIOR_IGUAL  deslocar, e ir ao estado 86
-    MENOR        deslocar, e ir ao estado 87
-    MAIOR        deslocar, e ir ao estado 88
+   64 expressao: expressao . IGUAL expressao_simples
+   65          | expressao . DIFERENTE expressao_simples
+   66          | expressao . MENOR expressao_simples
+   67          | expressao . MENOR_IGUAL expressao_simples
+   68          | expressao . MAIOR expressao_simples
+   69          | expressao . MAIOR_IGUAL expressao_simples
+   87 if_then: IF expressao . @16 THEN comando_sem_rotulo
 
-    $padrão  reduzir usando a regra 85 ($@15)
+    IGUAL        shift, and go to state 83
+    DIFERENTE    shift, and go to state 84
+    MENOR_IGUAL  shift, and go to state 85
+    MAIOR_IGUAL  shift, and go to state 86
+    MENOR        shift, and go to state 87
+    MAIOR        shift, and go to state 88
 
-    $@15  ir ao estado 89
+    $default  reduce using rule 86 (@16)
 
+    @16  go to state 89
 
-Estado 65
 
-   69 expressao: expressao_simples •
-   70 expressao_simples: expressao_simples • MAIS termo
-   71                  | expressao_simples • MENOS termo
+state 65
 
-    MAIS   deslocar, e ir ao estado 90
-    MENOS  deslocar, e ir ao estado 91
+   70 expressao: expressao_simples .
+   71 expressao_simples: expressao_simples . MAIS termo
+   72                  | expressao_simples . MENOS termo
 
-    $padrão  reduzir usando a regra 69 (expressao)
+    MAIS   shift, and go to state 90
+    MENOS  shift, and go to state 91
 
+    $default  reduce using rule 70 (expressao)
 
-Estado 66
 
-   72 expressao_simples: termo •
-   73 termo: termo • ASTERISCO fator
-   74      | termo • DIV fator
+state 66
 
-    DIV        deslocar, e ir ao estado 92
-    ASTERISCO  deslocar, e ir ao estado 93
+   73 expressao_simples: termo .
+   74 termo: termo . ASTERISCO fator
+   75      | termo . DIV fator
 
-    $padrão  reduzir usando a regra 72 (expressao_simples)
+    DIV        shift, and go to state 92
+    ASTERISCO  shift, and go to state 93
 
+    $default  reduce using rule 73 (expressao_simples)
 
-Estado 67
 
-   75 termo: fator •
+state 67
 
-    $padrão  reduzir usando a regra 75 (termo)
+   76 termo: fator .
 
+    $default  reduce using rule 76 (termo)
 
-Estado 68
 
-   56 leitura: READ ABRE_PARENTESES • lista_leituras FECHA_PARENTESES
+state 68
 
-    IDENT  deslocar, e ir ao estado 94
+   57 leitura: READ ABRE_PARENTESES . lista_leituras FECHA_PARENTESES
 
-    lista_leituras  ir ao estado 95
-    simb_leitura    ir ao estado 96
+    IDENT  shift, and go to state 94
 
+    lista_leituras  go to state 95
+    simb_leitura    go to state 96
 
-Estado 69
 
-   60 escrita: WRITE ABRE_PARENTESES • lista_escritas FECHA_PARENTESES
+state 69
 
-    IDENT   deslocar, e ir ao estado 62
-    NUMERO  deslocar, e ir ao estado 63
+   61 escrita: WRITE ABRE_PARENTESES . lista_escritas FECHA_PARENTESES
 
-    lista_escritas     ir ao estado 97
-    expressao_simples  ir ao estado 98
-    termo              ir ao estado 66
-    fator              ir ao estado 67
+    IDENT   shift, and go to state 62
+    NUMERO  shift, and go to state 63
 
+    lista_escritas     go to state 97
+    expressao_simples  go to state 98
+    termo              go to state 66
+    fator              go to state 67
 
-Estado 70
 
-   37 comando_composto: T_BEGIN comandos T_END •
+state 70
 
-    $padrão  reduzir usando a regra 37 (comando_composto)
+   38 comando_composto: T_BEGIN comandos T_END .
 
+    $default  reduce using rule 38 (comando_composto)
 
-Estado 71
 
-   38 comandos: comando PONTO_E_VIRGULA • comandos
-   39         | comando PONTO_E_VIRGULA •
+state 71
 
-    T_BEGIN  deslocar, e ir ao estado 34
-    IDENT    deslocar, e ir ao estado 39
-    IF       deslocar, e ir ao estado 40
-    NUMERO   deslocar, e ir ao estado 41
-    READ     deslocar, e ir ao estado 42
-    WRITE    deslocar, e ir ao estado 43
+   39 comandos: comando PONTO_E_VIRGULA . comandos
+   40         | comando PONTO_E_VIRGULA .
 
-    T_END    reduzir usando a regra 39 (comandos)
-    T_END    [reduzir usando a regra 40 (comandos)]
-    WHILE    reduzir usando a regra 79 ($@13)
-    $padrão  reduzir usando a regra 39 (comandos)
+    T_BEGIN  shift, and go to state 34
+    IDENT    shift, and go to state 39
+    IF       shift, and go to state 40
+    NUMERO   shift, and go to state 41
+    READ     shift, and go to state 42
+    WRITE    shift, and go to state 43
 
-    comando_composto            ir ao estado 44
-    comandos                    ir ao estado 99
-    comando                     ir ao estado 46
-    comando_sem_rotulo          ir ao estado 47
-    atribuicao_ou_procedimento  ir ao estado 48
-    leitura                     ir ao estado 49
-    escrita                     ir ao estado 50
-    numero                      ir ao estado 51
-    comando_repetitivo          ir ao estado 52
-    $@13                        ir ao estado 53
-    comando_condicional         ir ao estado 54
-    if_then                     ir ao estado 55
+    T_END     reduce using rule 40 (comandos)
+    T_END     [reduce using rule 41 (comandos)]
+    WHILE     reduce using rule 80 (@14)
+    $default  reduce using rule 40 (comandos)
 
+    comando_composto            go to state 44
+    comandos                    go to state 99
+    comando                     go to state 46
+    comando_sem_rotulo          go to state 47
+    atribuicao_ou_procedimento  go to state 48
+    leitura                     go to state 49
+    escrita                     go to state 50
+    numero                      go to state 51
+    comando_repetitivo          go to state 52
+    @14                         go to state 53
+    comando_condicional         go to state 54
+    if_then                     go to state 55
 
-Estado 72
 
-   41 comando: numero DOIS_PONTOS • comando_sem_rotulo
+state 72
 
-    T_BEGIN  deslocar, e ir ao estado 34
-    IDENT    deslocar, e ir ao estado 39
-    IF       deslocar, e ir ao estado 40
-    READ     deslocar, e ir ao estado 42
-    WRITE    deslocar, e ir ao estado 43
+   42 comando: numero DOIS_PONTOS . comando_sem_rotulo
 
-    $padrão  reduzir usando a regra 79 ($@13)
+    T_BEGIN  shift, and go to state 34
+    IDENT    shift, and go to state 39
+    IF       shift, and go to state 40
+    READ     shift, and go to state 42
+    WRITE    shift, and go to state 43
 
-    comando_composto            ir ao estado 44
-    comando_sem_rotulo          ir ao estado 100
-    atribuicao_ou_procedimento  ir ao estado 48
-    leitura                     ir ao estado 49
-    escrita                     ir ao estado 50
-    comando_repetitivo          ir ao estado 52
-    $@13                        ir ao estado 53
-    comando_condicional         ir ao estado 54
-    if_then                     ir ao estado 55
+    $default  reduce using rule 80 (@14)
 
+    comando_composto            go to state 44
+    comando_sem_rotulo          go to state 100
+    atribuicao_ou_procedimento  go to state 48
+    leitura                     go to state 49
+    escrita                     go to state 50
+    comando_repetitivo          go to state 52
+    @14                         go to state 53
+    comando_condicional         go to state 54
+    if_then                     go to state 55
 
-Estado 73
 
-   81 comando_repetitivo: $@13 WHILE • expressao DO $@14 comando_sem_rotulo
+state 73
 
-    IDENT   deslocar, e ir ao estado 62
-    NUMERO  deslocar, e ir ao estado 63
+   82 comando_repetitivo: @14 WHILE . expressao DO @15 comando_sem_rotulo
 
-    expressao          ir ao estado 101
-    expressao_simples  ir ao estado 65
-    termo              ir ao estado 66
-    fator              ir ao estado 67
+    IDENT   shift, and go to state 62
+    NUMERO  shift, and go to state 63
 
+    expressao          go to state 101
+    expressao_simples  go to state 65
+    termo              go to state 66
+    fator              go to state 67
 
-Estado 74
 
-   83 cond_else: ELSE • comando_sem_rotulo
+state 74
 
-    T_BEGIN  deslocar, e ir ao estado 34
-    IDENT    deslocar, e ir ao estado 39
-    IF       deslocar, e ir ao estado 40
-    READ     deslocar, e ir ao estado 42
-    WRITE    deslocar, e ir ao estado 43
+   84 cond_else: ELSE . comando_sem_rotulo
 
-    $padrão  reduzir usando a regra 79 ($@13)
+    T_BEGIN  shift, and go to state 34
+    IDENT    shift, and go to state 39
+    IF       shift, and go to state 40
+    READ     shift, and go to state 42
+    WRITE    shift, and go to state 43
 
-    comando_composto            ir ao estado 44
-    comando_sem_rotulo          ir ao estado 102
-    atribuicao_ou_procedimento  ir ao estado 48
-    leitura                     ir ao estado 49
-    escrita                     ir ao estado 50
-    comando_repetitivo          ir ao estado 52
-    $@13                        ir ao estado 53
-    comando_condicional         ir ao estado 54
-    if_then                     ir ao estado 55
+    $default  reduce using rule 80 (@14)
 
+    comando_composto            go to state 44
+    comando_sem_rotulo          go to state 102
+    atribuicao_ou_procedimento  go to state 48
+    leitura                     go to state 49
+    escrita                     go to state 50
+    comando_repetitivo          go to state 52
+    @14                         go to state 53
+    comando_condicional         go to state 54
+    if_then                     go to state 55
 
-Estado 75
 
-   82 comando_condicional: if_then cond_else •
+state 75
 
-    $padrão  reduzir usando a regra 82 (comando_condicional)
+   83 comando_condicional: if_then cond_else .
 
+    $default  reduce using rule 83 (comando_condicional)
 
-Estado 76
 
-   16 declara_var: $@5 lista_id_var DOIS_PONTOS tipo $@6 • PONTO_E_VIRGULA
+state 76
 
-    PONTO_E_VIRGULA  deslocar, e ir ao estado 103
+   16 declara_var: @5 lista_id_var DOIS_PONTOS tipo @6 . PONTO_E_VIRGULA
 
+    PONTO_E_VIRGULA  shift, and go to state 103
 
-Estado 77
 
-   28 parametros_ou_nada: ABRE_PARENTESES $@8 • paramentros_formais $@9 FECHA_PARENTESES
+state 77
 
-    $padrão  reduzir usando a regra 32 ($@10)
+   29 parametros_ou_nada: ABRE_PARENTESES @9 . paramentros_formais @10 FECHA_PARENTESES
 
-    paramentros_formais  ir ao estado 104
-    secao_pfs            ir ao estado 105
-    $@10                 ir ao estado 106
+    $default  reduce using rule 33 (@11)
 
+    paramentros_formais  go to state 104
+    secao_pfs            go to state 105
+    @11                  go to state 106
 
-Estado 78
 
-   25 declaracao_procedimento: PROCEDURE IDENT $@7 parametros_ou_nada PONTO_E_VIRGULA • bloco
+state 78
 
-    LABEL  deslocar, e ir ao estado 13
+   26 declaracao_procedimento: PROCEDURE IDENT @7 parametros_ou_nada PONTO_E_VIRGULA . bloco @8 PONTO_E_VIRGULA
 
-    $padrão  reduzir usando a regra 7 (parte_declara_rotulos)
+    LABEL  shift, and go to state 13
 
-    bloco                  ir ao estado 107
-    parte_declara_rotulos  ir ao estado 15
+    $default  reduce using rule 7 (parte_declara_rotulos)
 
+    bloco                  go to state 107
+    parte_declara_rotulos  go to state 15
 
-Estado 79
 
-   50 atribuicao_ou_procedimento: IDENT $@11 atribuicao_ou_procedimento_token •
+state 79
 
-    $padrão  reduzir usando a regra 50 (atribuicao_ou_procedimento)
+   51 atribuicao_ou_procedimento: IDENT @12 atribuicao_ou_procedimento_token .
 
+    $default  reduce using rule 51 (atribuicao_ou_procedimento)
 
-Estado 80
 
-   51 atribuicao_ou_procedimento_token: atribuicao •
+state 80
 
-    $padrão  reduzir usando a regra 51 (atribuicao_ou_procedimento_token)
+   52 atribuicao_ou_procedimento_token: atribuicao .
 
+    $default  reduce using rule 52 (atribuicao_ou_procedimento_token)
 
-Estado 81
 
-   54 atribuicao: $@12 • ATRIBUICAO expressao_simples
+state 81
 
-    ATRIBUICAO  deslocar, e ir ao estado 108
+   55 atribuicao: @13 . ATRIBUICAO expressao_simples
 
+    ATRIBUICAO  shift, and go to state 108
 
-Estado 82
 
-   52 atribuicao_ou_procedimento_token: chamada_procedimento •
+state 82
 
-    $padrão  reduzir usando a regra 52 (atribuicao_ou_procedimento_token)
+   53 atribuicao_ou_procedimento_token: chamada_procedimento .
 
+    $default  reduce using rule 53 (atribuicao_ou_procedimento_token)
 
-Estado 83
 
-   63 expressao: expressao IGUAL • expressao_simples
+state 83
 
-    IDENT   deslocar, e ir ao estado 62
-    NUMERO  deslocar, e ir ao estado 63
+   64 expressao: expressao IGUAL . expressao_simples
 
-    expressao_simples  ir ao estado 109
-    termo              ir ao estado 66
-    fator              ir ao estado 67
+    IDENT   shift, and go to state 62
+    NUMERO  shift, and go to state 63
 
+    expressao_simples  go to state 109
+    termo              go to state 66
+    fator              go to state 67
 
-Estado 84
 
-   64 expressao: expressao DIFERENTE • expressao_simples
+state 84
 
-    IDENT   deslocar, e ir ao estado 62
-    NUMERO  deslocar, e ir ao estado 63
+   65 expressao: expressao DIFERENTE . expressao_simples
 
-    expressao_simples  ir ao estado 110
-    termo              ir ao estado 66
-    fator              ir ao estado 67
+    IDENT   shift, and go to state 62
+    NUMERO  shift, and go to state 63
 
+    expressao_simples  go to state 110
+    termo              go to state 66
+    fator              go to state 67
 
-Estado 85
 
-   66 expressao: expressao MENOR_IGUAL • expressao_simples
+state 85
 
-    IDENT   deslocar, e ir ao estado 62
-    NUMERO  deslocar, e ir ao estado 63
+   67 expressao: expressao MENOR_IGUAL . expressao_simples
 
-    expressao_simples  ir ao estado 111
-    termo              ir ao estado 66
-    fator              ir ao estado 67
+    IDENT   shift, and go to state 62
+    NUMERO  shift, and go to state 63
 
+    expressao_simples  go to state 111
+    termo              go to state 66
+    fator              go to state 67
 
-Estado 86
 
-   68 expressao: expressao MAIOR_IGUAL • expressao_simples
+state 86
 
-    IDENT   deslocar, e ir ao estado 62
-    NUMERO  deslocar, e ir ao estado 63
+   69 expressao: expressao MAIOR_IGUAL . expressao_simples
 
-    expressao_simples  ir ao estado 112
-    termo              ir ao estado 66
-    fator              ir ao estado 67
+    IDENT   shift, and go to state 62
+    NUMERO  shift, and go to state 63
 
+    expressao_simples  go to state 112
+    termo              go to state 66
+    fator              go to state 67
 
-Estado 87
 
-   65 expressao: expressao MENOR • expressao_simples
+state 87
 
-    IDENT   deslocar, e ir ao estado 62
-    NUMERO  deslocar, e ir ao estado 63
+   66 expressao: expressao MENOR . expressao_simples
 
-    expressao_simples  ir ao estado 113
-    termo              ir ao estado 66
-    fator              ir ao estado 67
+    IDENT   shift, and go to state 62
+    NUMERO  shift, and go to state 63
 
+    expressao_simples  go to state 113
+    termo              go to state 66
+    fator              go to state 67
 
-Estado 88
 
-   67 expressao: expressao MAIOR • expressao_simples
+state 88
 
-    IDENT   deslocar, e ir ao estado 62
-    NUMERO  deslocar, e ir ao estado 63
+   68 expressao: expressao MAIOR . expressao_simples
 
-    expressao_simples  ir ao estado 114
-    termo              ir ao estado 66
-    fator              ir ao estado 67
+    IDENT   shift, and go to state 62
+    NUMERO  shift, and go to state 63
 
+    expressao_simples  go to state 114
+    termo              go to state 66
+    fator              go to state 67
 
-Estado 89
 
-   86 if_then: IF expressao $@15 • THEN comando_sem_rotulo
+state 89
 
-    THEN  deslocar, e ir ao estado 115
+   87 if_then: IF expressao @16 . THEN comando_sem_rotulo
 
+    THEN  shift, and go to state 115
 
-Estado 90
 
-   70 expressao_simples: expressao_simples MAIS • termo
+state 90
 
-    IDENT   deslocar, e ir ao estado 62
-    NUMERO  deslocar, e ir ao estado 63
+   71 expressao_simples: expressao_simples MAIS . termo
 
-    termo  ir ao estado 116
-    fator  ir ao estado 67
+    IDENT   shift, and go to state 62
+    NUMERO  shift, and go to state 63
 
+    termo  go to state 116
+    fator  go to state 67
 
-Estado 91
 
-   71 expressao_simples: expressao_simples MENOS • termo
+state 91
 
-    IDENT   deslocar, e ir ao estado 62
-    NUMERO  deslocar, e ir ao estado 63
+   72 expressao_simples: expressao_simples MENOS . termo
 
-    termo  ir ao estado 117
-    fator  ir ao estado 67
+    IDENT   shift, and go to state 62
+    NUMERO  shift, and go to state 63
 
+    termo  go to state 117
+    fator  go to state 67
 
-Estado 92
 
-   74 termo: termo DIV • fator
+state 92
 
-    IDENT   deslocar, e ir ao estado 62
-    NUMERO  deslocar, e ir ao estado 63
+   75 termo: termo DIV . fator
 
-    fator  ir ao estado 118
+    IDENT   shift, and go to state 62
+    NUMERO  shift, and go to state 63
 
+    fator  go to state 118
 
-Estado 93
 
-   73 termo: termo ASTERISCO • fator
+state 93
 
-    IDENT   deslocar, e ir ao estado 62
-    NUMERO  deslocar, e ir ao estado 63
+   74 termo: termo ASTERISCO . fator
 
-    fator  ir ao estado 119
+    IDENT   shift, and go to state 62
+    NUMERO  shift, and go to state 63
 
+    fator  go to state 119
 
-Estado 94
 
-   59 simb_leitura: IDENT •
+state 94
 
-    $padrão  reduzir usando a regra 59 (simb_leitura)
+   60 simb_leitura: IDENT .
 
+    $default  reduce using rule 60 (simb_leitura)
 
-Estado 95
 
-   56 leitura: READ ABRE_PARENTESES lista_leituras • FECHA_PARENTESES
-   57 lista_leituras: lista_leituras • VIRGULA simb_leitura
+state 95
 
-    FECHA_PARENTESES  deslocar, e ir ao estado 120
-    VIRGULA           deslocar, e ir ao estado 121
+   57 leitura: READ ABRE_PARENTESES lista_leituras . FECHA_PARENTESES
+   58 lista_leituras: lista_leituras . VIRGULA simb_leitura
 
+    FECHA_PARENTESES  shift, and go to state 120
+    VIRGULA           shift, and go to state 121
 
-Estado 96
 
-   58 lista_leituras: simb_leitura •
+state 96
 
-    $padrão  reduzir usando a regra 58 (lista_leituras)
+   59 lista_leituras: simb_leitura .
 
+    $default  reduce using rule 59 (lista_leituras)
 
-Estado 97
 
-   60 escrita: WRITE ABRE_PARENTESES lista_escritas • FECHA_PARENTESES
-   61 lista_escritas: lista_escritas • VIRGULA expressao_simples
+state 97
 
-    FECHA_PARENTESES  deslocar, e ir ao estado 122
-    VIRGULA           deslocar, e ir ao estado 123
+   61 escrita: WRITE ABRE_PARENTESES lista_escritas . FECHA_PARENTESES
+   62 lista_escritas: lista_escritas . VIRGULA expressao_simples
 
+    FECHA_PARENTESES  shift, and go to state 122
+    VIRGULA           shift, and go to state 123
 
-Estado 98
 
-   62 lista_escritas: expressao_simples •
-   70 expressao_simples: expressao_simples • MAIS termo
-   71                  | expressao_simples • MENOS termo
+state 98
 
-    MAIS   deslocar, e ir ao estado 90
-    MENOS  deslocar, e ir ao estado 91
+   63 lista_escritas: expressao_simples .
+   71 expressao_simples: expressao_simples . MAIS termo
+   72                  | expressao_simples . MENOS termo
 
-    $padrão  reduzir usando a regra 62 (lista_escritas)
+    MAIS   shift, and go to state 90
+    MENOS  shift, and go to state 91
 
+    $default  reduce using rule 63 (lista_escritas)
 
-Estado 99
 
-   38 comandos: comando PONTO_E_VIRGULA comandos •
+state 99
 
-    $padrão  reduzir usando a regra 38 (comandos)
+   39 comandos: comando PONTO_E_VIRGULA comandos .
 
+    $default  reduce using rule 39 (comandos)
 
-Estado 100
 
-   41 comando: numero DOIS_PONTOS comando_sem_rotulo •
+state 100
 
-    $padrão  reduzir usando a regra 41 (comando)
+   42 comando: numero DOIS_PONTOS comando_sem_rotulo .
 
+    $default  reduce using rule 42 (comando)
 
-Estado 101
 
-   63 expressao: expressao • IGUAL expressao_simples
-   64          | expressao • DIFERENTE expressao_simples
-   65          | expressao • MENOR expressao_simples
-   66          | expressao • MENOR_IGUAL expressao_simples
-   67          | expressao • MAIOR expressao_simples
-   68          | expressao • MAIOR_IGUAL expressao_simples
-   81 comando_repetitivo: $@13 WHILE expressao • DO $@14 comando_sem_rotulo
+state 101
 
-    DO           deslocar, e ir ao estado 124
-    IGUAL        deslocar, e ir ao estado 83
-    DIFERENTE    deslocar, e ir ao estado 84
-    MENOR_IGUAL  deslocar, e ir ao estado 85
-    MAIOR_IGUAL  deslocar, e ir ao estado 86
-    MENOR        deslocar, e ir ao estado 87
-    MAIOR        deslocar, e ir ao estado 88
+   64 expressao: expressao . IGUAL expressao_simples
+   65          | expressao . DIFERENTE expressao_simples
+   66          | expressao . MENOR expressao_simples
+   67          | expressao . MENOR_IGUAL expressao_simples
+   68          | expressao . MAIOR expressao_simples
+   69          | expressao . MAIOR_IGUAL expressao_simples
+   82 comando_repetitivo: @14 WHILE expressao . DO @15 comando_sem_rotulo
 
+    DO           shift, and go to state 124
+    IGUAL        shift, and go to state 83
+    DIFERENTE    shift, and go to state 84
+    MENOR_IGUAL  shift, and go to state 85
+    MAIOR_IGUAL  shift, and go to state 86
+    MENOR        shift, and go to state 87
+    MAIOR        shift, and go to state 88
 
-Estado 102
 
-   83 cond_else: ELSE comando_sem_rotulo •
+state 102
 
-    $padrão  reduzir usando a regra 83 (cond_else)
+   84 cond_else: ELSE comando_sem_rotulo .
 
+    $default  reduce using rule 84 (cond_else)
 
-Estado 103
 
-   16 declara_var: $@5 lista_id_var DOIS_PONTOS tipo $@6 PONTO_E_VIRGULA •
+state 103
 
-    $padrão  reduzir usando a regra 16 (declara_var)
+   16 declara_var: @5 lista_id_var DOIS_PONTOS tipo @6 PONTO_E_VIRGULA .
 
+    $default  reduce using rule 16 (declara_var)
 
-Estado 104
 
-   28 parametros_ou_nada: ABRE_PARENTESES $@8 paramentros_formais • $@9 FECHA_PARENTESES
-   31 paramentros_formais: paramentros_formais • PONTO_E_VIRGULA secao_pfs
+state 104
 
-    PONTO_E_VIRGULA  deslocar, e ir ao estado 125
+   29 parametros_ou_nada: ABRE_PARENTESES @9 paramentros_formais . @10 FECHA_PARENTESES
+   32 paramentros_formais: paramentros_formais . PONTO_E_VIRGULA secao_pfs
 
-    $padrão  reduzir usando a regra 27 ($@9)
+    PONTO_E_VIRGULA  shift, and go to state 125
 
-    $@9  ir ao estado 126
+    $default  reduce using rule 28 (@10)
 
+    @10  go to state 126
 
-Estado 105
 
-   30 paramentros_formais: secao_pfs •
+state 105
 
-    $padrão  reduzir usando a regra 30 (paramentros_formais)
+   31 paramentros_formais: secao_pfs .
 
+    $default  reduce using rule 31 (paramentros_formais)
 
-Estado 106
 
-   33 secao_pfs: $@10 • lista_id_pf DOIS_PONTOS tipo
+state 106
 
-    IDENT  deslocar, e ir ao estado 127
+   34 secao_pfs: @11 . lista_id_pf DOIS_PONTOS tipo
 
-    lista_id_pf  ir ao estado 128
-    parametro    ir ao estado 129
+    IDENT  shift, and go to state 127
 
+    lista_id_pf  go to state 128
+    parametro    go to state 129
 
-Estado 107
 
-   25 declaracao_procedimento: PROCEDURE IDENT $@7 parametros_ou_nada PONTO_E_VIRGULA bloco •
+state 107
 
-    $padrão  reduzir usando a regra 25 (declaracao_procedimento)
+   26 declaracao_procedimento: PROCEDURE IDENT @7 parametros_ou_nada PONTO_E_VIRGULA bloco . @8 PONTO_E_VIRGULA
 
+    $default  reduce using rule 25 (@8)
 
-Estado 108
+    @8  go to state 130
 
-   54 atribuicao: $@12 ATRIBUICAO • expressao_simples
 
-    IDENT   deslocar, e ir ao estado 62
-    NUMERO  deslocar, e ir ao estado 63
+state 108
 
-    expressao_simples  ir ao estado 130
-    termo              ir ao estado 66
-    fator              ir ao estado 67
+   55 atribuicao: @13 ATRIBUICAO . expressao_simples
 
+    IDENT   shift, and go to state 62
+    NUMERO  shift, and go to state 63
 
-Estado 109
+    expressao_simples  go to state 131
+    termo              go to state 66
+    fator              go to state 67
 
-   63 expressao: expressao IGUAL expressao_simples •
-   70 expressao_simples: expressao_simples • MAIS termo
-   71                  | expressao_simples • MENOS termo
 
-    MAIS   deslocar, e ir ao estado 90
-    MENOS  deslocar, e ir ao estado 91
+state 109
 
-    $padrão  reduzir usando a regra 63 (expressao)
+   64 expressao: expressao IGUAL expressao_simples .
+   71 expressao_simples: expressao_simples . MAIS termo
+   72                  | expressao_simples . MENOS termo
 
+    MAIS   shift, and go to state 90
+    MENOS  shift, and go to state 91
 
-Estado 110
+    $default  reduce using rule 64 (expressao)
 
-   64 expressao: expressao DIFERENTE expressao_simples •
-   70 expressao_simples: expressao_simples • MAIS termo
-   71                  | expressao_simples • MENOS termo
 
-    MAIS   deslocar, e ir ao estado 90
-    MENOS  deslocar, e ir ao estado 91
+state 110
 
-    $padrão  reduzir usando a regra 64 (expressao)
+   65 expressao: expressao DIFERENTE expressao_simples .
+   71 expressao_simples: expressao_simples . MAIS termo
+   72                  | expressao_simples . MENOS termo
 
+    MAIS   shift, and go to state 90
+    MENOS  shift, and go to state 91
 
-Estado 111
+    $default  reduce using rule 65 (expressao)
 
-   66 expressao: expressao MENOR_IGUAL expressao_simples •
-   70 expressao_simples: expressao_simples • MAIS termo
-   71                  | expressao_simples • MENOS termo
 
-    MAIS   deslocar, e ir ao estado 90
-    MENOS  deslocar, e ir ao estado 91
+state 111
 
-    $padrão  reduzir usando a regra 66 (expressao)
+   67 expressao: expressao MENOR_IGUAL expressao_simples .
+   71 expressao_simples: expressao_simples . MAIS termo
+   72                  | expressao_simples . MENOS termo
 
+    MAIS   shift, and go to state 90
+    MENOS  shift, and go to state 91
 
-Estado 112
+    $default  reduce using rule 67 (expressao)
 
-   68 expressao: expressao MAIOR_IGUAL expressao_simples •
-   70 expressao_simples: expressao_simples • MAIS termo
-   71                  | expressao_simples • MENOS termo
 
-    MAIS   deslocar, e ir ao estado 90
-    MENOS  deslocar, e ir ao estado 91
+state 112
 
-    $padrão  reduzir usando a regra 68 (expressao)
+   69 expressao: expressao MAIOR_IGUAL expressao_simples .
+   71 expressao_simples: expressao_simples . MAIS termo
+   72                  | expressao_simples . MENOS termo
 
+    MAIS   shift, and go to state 90
+    MENOS  shift, and go to state 91
 
-Estado 113
+    $default  reduce using rule 69 (expressao)
 
-   65 expressao: expressao MENOR expressao_simples •
-   70 expressao_simples: expressao_simples • MAIS termo
-   71                  | expressao_simples • MENOS termo
 
-    MAIS   deslocar, e ir ao estado 90
-    MENOS  deslocar, e ir ao estado 91
+state 113
 
-    $padrão  reduzir usando a regra 65 (expressao)
+   66 expressao: expressao MENOR expressao_simples .
+   71 expressao_simples: expressao_simples . MAIS termo
+   72                  | expressao_simples . MENOS termo
 
+    MAIS   shift, and go to state 90
+    MENOS  shift, and go to state 91
 
-Estado 114
+    $default  reduce using rule 66 (expressao)
 
-   67 expressao: expressao MAIOR expressao_simples •
-   70 expressao_simples: expressao_simples • MAIS termo
-   71                  | expressao_simples • MENOS termo
 
-    MAIS   deslocar, e ir ao estado 90
-    MENOS  deslocar, e ir ao estado 91
+state 114
 
-    $padrão  reduzir usando a regra 67 (expressao)
+   68 expressao: expressao MAIOR expressao_simples .
+   71 expressao_simples: expressao_simples . MAIS termo
+   72                  | expressao_simples . MENOS termo
 
+    MAIS   shift, and go to state 90
+    MENOS  shift, and go to state 91
 
-Estado 115
+    $default  reduce using rule 68 (expressao)
 
-   86 if_then: IF expressao $@15 THEN • comando_sem_rotulo
 
-    T_BEGIN  deslocar, e ir ao estado 34
-    IDENT    deslocar, e ir ao estado 39
-    IF       deslocar, e ir ao estado 40
-    READ     deslocar, e ir ao estado 42
-    WRITE    deslocar, e ir ao estado 43
+state 115
 
-    $padrão  reduzir usando a regra 79 ($@13)
+   87 if_then: IF expressao @16 THEN . comando_sem_rotulo
 
-    comando_composto            ir ao estado 44
-    comando_sem_rotulo          ir ao estado 131
-    atribuicao_ou_procedimento  ir ao estado 48
-    leitura                     ir ao estado 49
-    escrita                     ir ao estado 50
-    comando_repetitivo          ir ao estado 52
-    $@13                        ir ao estado 53
-    comando_condicional         ir ao estado 54
-    if_then                     ir ao estado 55
+    T_BEGIN  shift, and go to state 34
+    IDENT    shift, and go to state 39
+    IF       shift, and go to state 40
+    READ     shift, and go to state 42
+    WRITE    shift, and go to state 43
 
+    $default  reduce using rule 80 (@14)
 
-Estado 116
+    comando_composto            go to state 44
+    comando_sem_rotulo          go to state 132
+    atribuicao_ou_procedimento  go to state 48
+    leitura                     go to state 49
+    escrita                     go to state 50
+    comando_repetitivo          go to state 52
+    @14                         go to state 53
+    comando_condicional         go to state 54
+    if_then                     go to state 55
 
-   70 expressao_simples: expressao_simples MAIS termo •
-   73 termo: termo • ASTERISCO fator
-   74      | termo • DIV fator
 
-    DIV        deslocar, e ir ao estado 92
-    ASTERISCO  deslocar, e ir ao estado 93
+state 116
 
-    $padrão  reduzir usando a regra 70 (expressao_simples)
+   71 expressao_simples: expressao_simples MAIS termo .
+   74 termo: termo . ASTERISCO fator
+   75      | termo . DIV fator
 
+    DIV        shift, and go to state 92
+    ASTERISCO  shift, and go to state 93
 
-Estado 117
+    $default  reduce using rule 71 (expressao_simples)
 
-   71 expressao_simples: expressao_simples MENOS termo •
-   73 termo: termo • ASTERISCO fator
-   74      | termo • DIV fator
 
-    DIV        deslocar, e ir ao estado 92
-    ASTERISCO  deslocar, e ir ao estado 93
+state 117
 
-    $padrão  reduzir usando a regra 71 (expressao_simples)
+   72 expressao_simples: expressao_simples MENOS termo .
+   74 termo: termo . ASTERISCO fator
+   75      | termo . DIV fator
 
+    DIV        shift, and go to state 92
+    ASTERISCO  shift, and go to state 93
 
-Estado 118
+    $default  reduce using rule 72 (expressao_simples)
 
-   74 termo: termo DIV fator •
 
-    $padrão  reduzir usando a regra 74 (termo)
+state 118
 
+   75 termo: termo DIV fator .
 
-Estado 119
+    $default  reduce using rule 75 (termo)
 
-   73 termo: termo ASTERISCO fator •
 
-    $padrão  reduzir usando a regra 73 (termo)
+state 119
 
+   74 termo: termo ASTERISCO fator .
 
-Estado 120
+    $default  reduce using rule 74 (termo)
 
-   56 leitura: READ ABRE_PARENTESES lista_leituras FECHA_PARENTESES •
 
-    $padrão  reduzir usando a regra 56 (leitura)
+state 120
 
+   57 leitura: READ ABRE_PARENTESES lista_leituras FECHA_PARENTESES .
 
-Estado 121
+    $default  reduce using rule 57 (leitura)
 
-   57 lista_leituras: lista_leituras VIRGULA • simb_leitura
 
-    IDENT  deslocar, e ir ao estado 94
+state 121
 
-    simb_leitura  ir ao estado 132
+   58 lista_leituras: lista_leituras VIRGULA . simb_leitura
 
+    IDENT  shift, and go to state 94
 
-Estado 122
+    simb_leitura  go to state 133
 
-   60 escrita: WRITE ABRE_PARENTESES lista_escritas FECHA_PARENTESES •
 
-    $padrão  reduzir usando a regra 60 (escrita)
+state 122
 
+   61 escrita: WRITE ABRE_PARENTESES lista_escritas FECHA_PARENTESES .
 
-Estado 123
+    $default  reduce using rule 61 (escrita)
 
-   61 lista_escritas: lista_escritas VIRGULA • expressao_simples
 
-    IDENT   deslocar, e ir ao estado 62
-    NUMERO  deslocar, e ir ao estado 63
+state 123
 
-    expressao_simples  ir ao estado 133
-    termo              ir ao estado 66
-    fator              ir ao estado 67
+   62 lista_escritas: lista_escritas VIRGULA . expressao_simples
 
+    IDENT   shift, and go to state 62
+    NUMERO  shift, and go to state 63
 
-Estado 124
+    expressao_simples  go to state 134
+    termo              go to state 66
+    fator              go to state 67
 
-   81 comando_repetitivo: $@13 WHILE expressao DO • $@14 comando_sem_rotulo
 
-    $padrão  reduzir usando a regra 80 ($@14)
+state 124
 
-    $@14  ir ao estado 134
+   82 comando_repetitivo: @14 WHILE expressao DO . @15 comando_sem_rotulo
 
+    $default  reduce using rule 81 (@15)
 
-Estado 125
+    @15  go to state 135
 
-   31 paramentros_formais: paramentros_formais PONTO_E_VIRGULA • secao_pfs
 
-    $padrão  reduzir usando a regra 32 ($@10)
+state 125
 
-    secao_pfs  ir ao estado 135
-    $@10       ir ao estado 106
+   32 paramentros_formais: paramentros_formais PONTO_E_VIRGULA . secao_pfs
 
+    $default  reduce using rule 33 (@11)
 
-Estado 126
+    secao_pfs  go to state 136
+    @11        go to state 106
 
-   28 parametros_ou_nada: ABRE_PARENTESES $@8 paramentros_formais $@9 • FECHA_PARENTESES
 
-    FECHA_PARENTESES  deslocar, e ir ao estado 136
+state 126
 
+   29 parametros_ou_nada: ABRE_PARENTESES @9 paramentros_formais @10 . FECHA_PARENTESES
 
-Estado 127
+    FECHA_PARENTESES  shift, and go to state 137
 
-   36 parametro: IDENT •
 
-    $padrão  reduzir usando a regra 36 (parametro)
+state 127
 
+   37 parametro: IDENT .
 
-Estado 128
+    $default  reduce using rule 37 (parametro)
 
-   33 secao_pfs: $@10 lista_id_pf • DOIS_PONTOS tipo
 
-    DOIS_PONTOS  deslocar, e ir ao estado 137
+state 128
 
+   34 secao_pfs: @11 lista_id_pf . DOIS_PONTOS tipo
 
-Estado 129
+    DOIS_PONTOS  shift, and go to state 138
 
-   34 lista_id_pf: parametro • VIRGULA lista_id_pf
-   35            | parametro •
 
-    VIRGULA  deslocar, e ir ao estado 138
+state 129
 
-    $padrão  reduzir usando a regra 35 (lista_id_pf)
+   35 lista_id_pf: parametro . VIRGULA lista_id_pf
+   36            | parametro .
 
+    VIRGULA  shift, and go to state 139
 
-Estado 130
+    $default  reduce using rule 36 (lista_id_pf)
 
-   54 atribuicao: $@12 ATRIBUICAO expressao_simples •
-   70 expressao_simples: expressao_simples • MAIS termo
-   71                  | expressao_simples • MENOS termo
 
-    MAIS   deslocar, e ir ao estado 90
-    MENOS  deslocar, e ir ao estado 91
+state 130
 
-    $padrão  reduzir usando a regra 54 (atribuicao)
+   26 declaracao_procedimento: PROCEDURE IDENT @7 parametros_ou_nada PONTO_E_VIRGULA bloco @8 . PONTO_E_VIRGULA
 
+    PONTO_E_VIRGULA  shift, and go to state 140
 
-Estado 131
 
-   86 if_then: IF expressao $@15 THEN comando_sem_rotulo •
+state 131
 
-    $padrão  reduzir usando a regra 86 (if_then)
+   55 atribuicao: @13 ATRIBUICAO expressao_simples .
+   71 expressao_simples: expressao_simples . MAIS termo
+   72                  | expressao_simples . MENOS termo
 
+    MAIS   shift, and go to state 90
+    MENOS  shift, and go to state 91
 
-Estado 132
+    $default  reduce using rule 55 (atribuicao)
 
-   57 lista_leituras: lista_leituras VIRGULA simb_leitura •
 
-    $padrão  reduzir usando a regra 57 (lista_leituras)
+state 132
 
+   87 if_then: IF expressao @16 THEN comando_sem_rotulo .
 
-Estado 133
+    $default  reduce using rule 87 (if_then)
 
-   61 lista_escritas: lista_escritas VIRGULA expressao_simples •
-   70 expressao_simples: expressao_simples • MAIS termo
-   71                  | expressao_simples • MENOS termo
 
-    MAIS   deslocar, e ir ao estado 90
-    MENOS  deslocar, e ir ao estado 91
+state 133
 
-    $padrão  reduzir usando a regra 61 (lista_escritas)
+   58 lista_leituras: lista_leituras VIRGULA simb_leitura .
 
+    $default  reduce using rule 58 (lista_leituras)
 
-Estado 134
 
-   81 comando_repetitivo: $@13 WHILE expressao DO $@14 • comando_sem_rotulo
+state 134
 
-    T_BEGIN  deslocar, e ir ao estado 34
-    IDENT    deslocar, e ir ao estado 39
-    IF       deslocar, e ir ao estado 40
-    READ     deslocar, e ir ao estado 42
-    WRITE    deslocar, e ir ao estado 43
+   62 lista_escritas: lista_escritas VIRGULA expressao_simples .
+   71 expressao_simples: expressao_simples . MAIS termo
+   72                  | expressao_simples . MENOS termo
 
-    $padrão  reduzir usando a regra 79 ($@13)
+    MAIS   shift, and go to state 90
+    MENOS  shift, and go to state 91
 
-    comando_composto            ir ao estado 44
-    comando_sem_rotulo          ir ao estado 139
-    atribuicao_ou_procedimento  ir ao estado 48
-    leitura                     ir ao estado 49
-    escrita                     ir ao estado 50
-    comando_repetitivo          ir ao estado 52
-    $@13                        ir ao estado 53
-    comando_condicional         ir ao estado 54
-    if_then                     ir ao estado 55
+    $default  reduce using rule 62 (lista_escritas)
 
 
-Estado 135
+state 135
 
-   31 paramentros_formais: paramentros_formais PONTO_E_VIRGULA secao_pfs •
+   82 comando_repetitivo: @14 WHILE expressao DO @15 . comando_sem_rotulo
 
-    $padrão  reduzir usando a regra 31 (paramentros_formais)
+    T_BEGIN  shift, and go to state 34
+    IDENT    shift, and go to state 39
+    IF       shift, and go to state 40
+    READ     shift, and go to state 42
+    WRITE    shift, and go to state 43
 
+    $default  reduce using rule 80 (@14)
 
-Estado 136
+    comando_composto            go to state 44
+    comando_sem_rotulo          go to state 141
+    atribuicao_ou_procedimento  go to state 48
+    leitura                     go to state 49
+    escrita                     go to state 50
+    comando_repetitivo          go to state 52
+    @14                         go to state 53
+    comando_condicional         go to state 54
+    if_then                     go to state 55
 
-   28 parametros_ou_nada: ABRE_PARENTESES $@8 paramentros_formais $@9 FECHA_PARENTESES •
 
-    $padrão  reduzir usando a regra 28 (parametros_ou_nada)
+state 136
 
+   32 paramentros_formais: paramentros_formais PONTO_E_VIRGULA secao_pfs .
 
-Estado 137
+    $default  reduce using rule 32 (paramentros_formais)
 
-   33 secao_pfs: $@10 lista_id_pf DOIS_PONTOS • tipo
 
-    IDENT  deslocar, e ir ao estado 57
+state 137
 
-    tipo  ir ao estado 140
+   29 parametros_ou_nada: ABRE_PARENTESES @9 paramentros_formais @10 FECHA_PARENTESES .
 
+    $default  reduce using rule 29 (parametros_ou_nada)
 
-Estado 138
 
-   34 lista_id_pf: parametro VIRGULA • lista_id_pf
+state 138
 
-    IDENT  deslocar, e ir ao estado 127
+   34 secao_pfs: @11 lista_id_pf DOIS_PONTOS . tipo
 
-    lista_id_pf  ir ao estado 141
-    parametro    ir ao estado 129
+    IDENT  shift, and go to state 57
 
+    tipo  go to state 142
 
-Estado 139
 
-   81 comando_repetitivo: $@13 WHILE expressao DO $@14 comando_sem_rotulo •
+state 139
 
-    $padrão  reduzir usando a regra 81 (comando_repetitivo)
+   35 lista_id_pf: parametro VIRGULA . lista_id_pf
 
+    IDENT  shift, and go to state 127
 
-Estado 140
+    lista_id_pf  go to state 143
+    parametro    go to state 129
 
-   33 secao_pfs: $@10 lista_id_pf DOIS_PONTOS tipo •
 
-    $padrão  reduzir usando a regra 33 (secao_pfs)
+state 140
 
+   26 declaracao_procedimento: PROCEDURE IDENT @7 parametros_ou_nada PONTO_E_VIRGULA bloco @8 PONTO_E_VIRGULA .
 
-Estado 141
+    $default  reduce using rule 26 (declaracao_procedimento)
 
-   34 lista_id_pf: parametro VIRGULA lista_id_pf •
 
-    $padrão  reduzir usando a regra 34 (lista_id_pf)
+state 141
+
+   82 comando_repetitivo: @14 WHILE expressao DO @15 comando_sem_rotulo .
+
+    $default  reduce using rule 82 (comando_repetitivo)
+
+
+state 142
+
+   34 secao_pfs: @11 lista_id_pf DOIS_PONTOS tipo .
+
+    $default  reduce using rule 34 (secao_pfs)
+
+
+state 143
+
+   35 lista_id_pf: parametro VIRGULA lista_id_pf .
+
+    $default  reduce using rule 35 (lista_id_pf)
diff --git a/compilador.y b/compilador.y
index ab6e281ad31111be96a1fe9463ae0fa50f87c5ab..e83b328109978eecb7482e6d22f513f8631d3226 100644
--- a/compilador.y
+++ b/compilador.y
@@ -21,8 +21,8 @@ int destino_nivel;
 int destino_desloc;
 simb_t *l_elem;
 int rot_id;
-stack_t *rot;
-stack_t *proc;
+custom_stack_t *rot;
+custom_stack_t *proc;
 
 %}
 
@@ -185,6 +185,7 @@ declaracao_procedimento: PROCEDURE IDENT {
                 // Retorna ao nível léxico anterior e mantém o deslocamento atualizado
                 nivel_lexico -= 1; 
             }
+            PONTO_E_VIRGULA
 ;
 
 parametros_ou_nada: ABRE_PARENTESES
@@ -468,11 +469,11 @@ int main (int argc, char** argv) {
    desloc = 0;
 
    // Inicializa Rotulos
-   rot = (stack_t *)malloc(sizeof(stack_t));
+   rot = (custom_stack_t *)malloc(sizeof(custom_stack_t));
    inicializa_stack(rot);
    rot_id = 0;
 
-   proc = (stack_t *)malloc(sizeof(stack_t));
+   proc = (custom_stack_t *)malloc(sizeof(custom_stack_t));
    inicializa_stack(proc);
 
    yyin=fp;
diff --git a/stack/stack.c b/stack/stack.c
index 1d4006500626302744a9bcd9bfac7862c1119be4..7a4ca082b6efc55adf095a9098a2e1f008a85438 100644
--- a/stack/stack.c
+++ b/stack/stack.c
@@ -3,12 +3,12 @@
 #include <string.h>
 #include "stack.h" 
 
-void inicializa_stack(stack_t *stack) {
+void inicializa_stack(custom_stack_t *stack) {
     stack->topo = NULL;
     stack->tam = 0;
 }
 
-void empilha(char *item, stack_t *stack) {
+void empilha(char *item, custom_stack_t *stack) {
     if (stack == NULL) {
         return;
     }
@@ -22,7 +22,7 @@ void empilha(char *item, stack_t *stack) {
     stack->tam += 1;
 }
 
-void desempilha(char *item, stack_t *stack) {
+void desempilha(char *item, custom_stack_t *stack) {
     if (stack == NULL || stack->topo == NULL) {
         return;
     }
@@ -36,7 +36,7 @@ void desempilha(char *item, stack_t *stack) {
     free(p);
 }
 
-void mostra_stack(stack_t *stack) {
+void mostra_stack(custom_stack_t *stack) {
     if (stack == NULL || stack->topo == NULL) {
         printf("Pilha está vazia ou não inicializada.\n");
         return;
diff --git a/stack/stack.h b/stack/stack.h
index 35097893261bd7d4d6286c59bb66c4fa1246c563..56ec259f85e4bc9fb22e28121a7d52b6ad01f77f 100644
--- a/stack/stack.h
+++ b/stack/stack.h
@@ -9,14 +9,14 @@ typedef struct item_t {
 typedef struct stack_t {
     item_t *topo;
     int tam;
-} stack_t;
+} custom_stack_t;
 
-void inicializa_stack(stack_t *stack);
+void inicializa_stack(custom_stack_t *stack);
 
-void empilha(char *item, stack_t *stack);
+void empilha(char *item, custom_stack_t *stack);
 
-void desempilha(char *item, stack_t *stack);
+void desempilha(char *item, custom_stack_t *stack);
 
-void mostra_stack(stack_t *stack);
+void mostra_stack(custom_stack_t *stack);
 
 #endif
diff --git a/teste7.pas b/teste7.pas
index 59822eca5586d304e7f173ddba72e545ab617eaf..2b0fec6d8cff0addd0f5313f079560c981579aec 100644
--- a/teste7.pas
+++ b/teste7.pas
@@ -4,7 +4,7 @@ program proc1 (input, output);
     var z: integer;
     begin
         z := a;
-    end
+    end;
 begin
     x := 8;
 end.
\ No newline at end of file