Skip to content
Snippets Groups Projects
Select Git revision
  • b351b471b8bbd337a318e334f22a97ba2bb1365f
  • development default protected
  • treinamento-2025
  • cursos-superior
  • doc_agregado_ies
  • micro_dados_2021
  • escola-agregada-teste
  • homologa protected
  • master protected
  • v1.0.41
10 results

curso_ens_superior.csv

Blame
  • compilador.output 39.46 KiB
    Terminals which are not used
    
       TYPE
       ARRAY
       FUNCTION
       GOTO
       OR
       AND
       NOT
    
    
    State 71 conflicts: 1 reduce/reduce
    
    
    Grammar
    
        0 $accept: programa $end
    
        1 @1: /* empty */
    
        2 programa: @1 PROGRAM IDENT ABRE_PARENTESES lista_idents FECHA_PARENTESES PONTO_E_VIRGULA bloco PONTO
    
        3 @2: /* empty */
    
        4 @3: /* empty */
    
        5 bloco: parte_declara_rotulos parte_declara_vars @2 parte_declara_subrotinas @3 comando_composto
    
        6 parte_declara_rotulos: LABEL VIRGULA
        7                      | /* empty */
    
        8 parte_declara_vars: var
    
        9 @4: /* empty */
    
       10 var: @4 VAR declara_vars
       11    | /* empty */
    
       12 declara_vars: declara_vars declara_var
       13             | declara_var
    
       14 @5: /* empty */
    
       15 @6: /* empty */
    
       16 declara_var: @5 lista_id_var DOIS_PONTOS tipo @6 PONTO_E_VIRGULA
    
       17 tipo: IDENT
    
       18 lista_id_var: lista_id_var VIRGULA IDENT
       19             | IDENT
    
       20 lista_idents: lista_idents VIRGULA IDENT
       21             | IDENT
    
       22 parte_declara_subrotinas: parte_declara_subrotinas declaracao_procedimento
       23                         | /* empty */
    
       24 @7: /* empty */
    
       25 @8: /* empty */
    
       26 declaracao_procedimento: PROCEDURE IDENT @7 parametros_ou_nada PONTO_E_VIRGULA bloco @8 PONTO_E_VIRGULA
    
       27 @9: /* empty */
    
       28 @10: /* empty */
    
       29 parametros_ou_nada: ABRE_PARENTESES @9 paramentros_formais @10 FECHA_PARENTESES
       30                   | /* empty */
    
       31 paramentros_formais: secao_pfs
       32                    | paramentros_formais PONTO_E_VIRGULA secao_pfs
    
       33 @11: /* empty */
    
       34 secao_pfs: @11 lista_id_pf DOIS_PONTOS tipo
    
       35 lista_id_pf: parametro VIRGULA lista_id_pf
       36            | parametro
    
       37 parametro: IDENT
    
       38 comando_composto: T_BEGIN comandos T_END
    
       39 comandos: comando PONTO_E_VIRGULA comandos
       40         | comando PONTO_E_VIRGULA
       41         | /* empty */
    
       42 comando: numero DOIS_PONTOS comando_sem_rotulo
       43        | comando_sem_rotulo
    
       44 comando_sem_rotulo: atribuicao_ou_procedimento
       45                   | comando_composto
       46                   | comando_condicional
       47                   | comando_repetitivo
       48                   | leitura
       49                   | escrita
    
       50 @12: /* empty */
    
       51 atribuicao_ou_procedimento: IDENT @12 atribuicao_ou_procedimento_token
    
       52 atribuicao_ou_procedimento_token: atribuicao
       53                                 | chamada_procedimento
    
       54 @13: /* empty */
    
       55 atribuicao: @13 ATRIBUICAO expressao_simples
    
       56 @14: /* empty */
    
       57 chamada_procedimento: @14 lista_parametros
    
       58 lista_parametros: ABRE_PARENTESES lista_parametros_parenteses FECHA_PARENTESES
       59                 | /* empty */
    
       60 lista_parametros_parenteses: lista_parametros_parenteses VIRGULA expressao_simples
       61                            | expressao_simples
    
       62 leitura: READ ABRE_PARENTESES lista_leituras FECHA_PARENTESES
    
       63 lista_leituras: lista_leituras VIRGULA simb_leitura
       64               | simb_leitura
    
       65 simb_leitura: IDENT
    
       66 escrita: WRITE ABRE_PARENTESES lista_escritas FECHA_PARENTESES
    
       67 lista_escritas: lista_escritas VIRGULA expressao_simples
       68               | expressao_simples
    
       69 expressao: expressao IGUAL expressao_simples
       70          | expressao DIFERENTE expressao_simples
       71          | expressao MENOR expressao_simples
       72          | expressao MENOR_IGUAL expressao_simples
       73          | expressao MAIOR expressao_simples
       74          | expressao MAIOR_IGUAL expressao_simples
       75          | expressao_simples
    
       76 expressao_simples: expressao_simples MAIS termo
       77                  | expressao_simples MENOS termo
       78                  | termo
    
       79 termo: termo ASTERISCO fator
       80      | termo DIV fator
       81      | fator
    
       82 fator: IDENT
       83      | NUMERO
    
       84 numero: NUMERO
    
       85 @15: /* empty */
    
       86 @16: /* empty */
    
       87 comando_repetitivo: @15 WHILE expressao DO @16 comando_sem_rotulo
    
       88 comando_condicional: if_then cond_else
    
       89 cond_else: ELSE comando_sem_rotulo
       90          | /* empty */
    
       91 @17: /* empty */
    
       92 if_then: IF expressao @17 THEN comando_sem_rotulo
    
    
    Terminals, with rules where they appear
    
    $end (0) 0
    error (256)
    PROGRAM (258) 2
    ABRE_PARENTESES (259) 2 29 58 62 66
    FECHA_PARENTESES (260) 2 29 58 62 66
    VIRGULA (261) 6 18 20 35 60 63 67
    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 65 82
    ATRIBUICAO (269) 55
    LABEL (270) 6
    TYPE (271)
    ARRAY (272)
    PROCEDURE (273) 26
    FUNCTION (274)
    GOTO (275)
    IF (276) 92
    THEN (277) 92
    ELSE (278) 89
    WHILE (279) 87
    DO (280) 87
    OR (281)
    DIV (282) 80
    AND (283)
    NOT (284)
    IGUAL (285) 69
    DIFERENTE (286) 70
    MENOR_IGUAL (287) 72
    MAIOR_IGUAL (288) 74
    MENOR (289) 71
    MAIOR (290) 73
    MAIS (291) 76
    MENOS (292) 77
    ASTERISCO (293) 79
    NUMERO (294) 83 84
    READ (295) 62
    WRITE (296) 66
    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 87 89 92
    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: 57, on right: 53
    @14 (82)
        on left: 56, on right: 57
    lista_parametros (83)
        on left: 58 59, on right: 57
    lista_parametros_parenteses (84)
        on left: 60 61, on right: 58 60
    leitura (85)
        on left: 62, on right: 48
    lista_leituras (86)
        on left: 63 64, on right: 62 63
    simb_leitura (87)
        on left: 65, on right: 63 64
    escrita (88)
        on left: 66, on right: 49
    lista_escritas (89)
        on left: 67 68, on right: 66 67
    expressao (90)
        on left: 69 70 71 72 73 74 75, on right: 69 70 71 72 73 74 87 92
    expressao_simples (91)
        on left: 76 77 78, on right: 55 60 61 67 68 69 70 71 72 73 74 75
        76 77
    termo (92)
        on left: 79 80 81, on right: 76 77 78 79 80
    fator (93)
        on left: 82 83, on right: 79 80 81
    numero (94)
        on left: 84, on right: 42
    comando_repetitivo (95)
        on left: 87, on right: 47
    @15 (96)
        on left: 85, on right: 87
    @16 (97)
        on left: 86, on right: 87
    comando_condicional (98)
        on left: 88, on right: 46
    cond_else (99)
        on left: 89 90, on right: 88
    if_then (100)
        on left: 92, on right: 88
    @17 (101)
        on left: 91, on right: 92
    
    
    state 0
    
        0 $accept: . programa $end
    
        $default  reduce using rule 1 (@1)
    
        programa  go to state 1
        @1        go to state 2
    
    
    state 1
    
        0 $accept: programa . $end
    
        $end  shift, and go to state 3
    
    
    state 2
    
        2 programa: @1 . PROGRAM IDENT ABRE_PARENTESES lista_idents FECHA_PARENTESES PONTO_E_VIRGULA bloco PONTO
    
        PROGRAM  shift, and go to state 4
    
    
    state 3
    
        0 $accept: programa $end .
    
        $default  accept
    
    
    state 4
    
        2 programa: @1 PROGRAM . IDENT ABRE_PARENTESES lista_idents FECHA_PARENTESES PONTO_E_VIRGULA bloco PONTO
    
        IDENT  shift, and go to state 5
    
    
    state 5
    
        2 programa: @1 PROGRAM IDENT . ABRE_PARENTESES lista_idents FECHA_PARENTESES PONTO_E_VIRGULA bloco PONTO
    
        ABRE_PARENTESES  shift, and go to state 6
    
    
    state 6
    
        2 programa: @1 PROGRAM IDENT ABRE_PARENTESES . lista_idents FECHA_PARENTESES PONTO_E_VIRGULA bloco PONTO
    
        IDENT  shift, and go to state 7
    
        lista_idents  go to state 8
    
    
    state 7
    
       21 lista_idents: IDENT .
    
        $default  reduce using rule 21 (lista_idents)
    
    
    state 8
    
        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
    
    
    state 9
    
        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
    
    
    state 10
    
       20 lista_idents: lista_idents VIRGULA . IDENT
    
        IDENT  shift, and go to state 12
    
    
    state 11
    
        2 programa: @1 PROGRAM IDENT ABRE_PARENTESES lista_idents FECHA_PARENTESES PONTO_E_VIRGULA . bloco PONTO
    
        LABEL  shift, and go to state 13
    
        $default  reduce using rule 7 (parte_declara_rotulos)
    
        bloco                  go to state 14
        parte_declara_rotulos  go to state 15
    
    
    state 12
    
       20 lista_idents: lista_idents VIRGULA IDENT .
    
        $default  reduce using rule 20 (lista_idents)
    
    
    state 13
    
        6 parte_declara_rotulos: LABEL . VIRGULA
    
        VIRGULA  shift, and go to state 16
    
    
    state 14
    
        2 programa: @1 PROGRAM IDENT ABRE_PARENTESES lista_idents FECHA_PARENTESES PONTO_E_VIRGULA bloco . PONTO
    
        PONTO  shift, and go to state 17
    
    
    state 15
    
        5 bloco: parte_declara_rotulos . parte_declara_vars @2 parte_declara_subrotinas @3 comando_composto
    
        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
    
    
    state 16
    
        6 parte_declara_rotulos: LABEL VIRGULA .
    
        $default  reduce using rule 6 (parte_declara_rotulos)
    
    
    state 17
    
        2 programa: @1 PROGRAM IDENT ABRE_PARENTESES lista_idents FECHA_PARENTESES PONTO_E_VIRGULA bloco PONTO .
    
        $default  reduce using rule 2 (programa)
    
    
    state 18
    
        5 bloco: parte_declara_rotulos parte_declara_vars . @2 parte_declara_subrotinas @3 comando_composto
    
        $default  reduce using rule 3 (@2)
    
        @2  go to state 21
    
    
    state 19
    
        8 parte_declara_vars: var .
    
        $default  reduce using rule 8 (parte_declara_vars)
    
    
    state 20
    
       10 var: @4 . VAR declara_vars
    
        VAR  shift, and go to state 22
    
    
    state 21
    
        5 bloco: parte_declara_rotulos parte_declara_vars @2 . parte_declara_subrotinas @3 comando_composto
    
        $default  reduce using rule 23 (parte_declara_subrotinas)
    
        parte_declara_subrotinas  go to state 23
    
    
    state 22
    
       10 var: @4 VAR . declara_vars
    
        $default  reduce using rule 14 (@5)
    
        declara_vars  go to state 24
        declara_var   go to state 25
        @5            go to state 26
    
    
    state 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
    
        PROCEDURE  shift, and go to state 27
    
        $default  reduce using rule 4 (@3)
    
        @3                       go to state 28
        declaracao_procedimento  go to state 29
    
    
    state 24
    
       10 var: @4 VAR declara_vars .
       12 declara_vars: declara_vars . declara_var
    
        IDENT     reduce using rule 14 (@5)
        $default  reduce using rule 10 (var)
    
        declara_var  go to state 30
        @5           go to state 26
    
    
    state 25
    
       13 declara_vars: declara_var .
    
        $default  reduce using rule 13 (declara_vars)
    
    
    state 26
    
       16 declara_var: @5 . lista_id_var DOIS_PONTOS tipo @6 PONTO_E_VIRGULA
    
        IDENT  shift, and go to state 31
    
        lista_id_var  go to state 32
    
    
    state 27
    
       26 declaracao_procedimento: PROCEDURE . IDENT @7 parametros_ou_nada PONTO_E_VIRGULA bloco @8 PONTO_E_VIRGULA
    
        IDENT  shift, and go to state 33
    
    
    state 28
    
        5 bloco: parte_declara_rotulos parte_declara_vars @2 parte_declara_subrotinas @3 . comando_composto
    
        T_BEGIN  shift, and go to state 34
    
        comando_composto  go to state 35
    
    
    state 29
    
       22 parte_declara_subrotinas: parte_declara_subrotinas declaracao_procedimento .
    
        $default  reduce using rule 22 (parte_declara_subrotinas)
    
    
    state 30
    
       12 declara_vars: declara_vars declara_var .
    
        $default  reduce using rule 12 (declara_vars)
    
    
    state 31
    
       19 lista_id_var: IDENT .
    
        $default  reduce using rule 19 (lista_id_var)
    
    
    state 32
    
       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
    
    
    state 33
    
       26 declaracao_procedimento: PROCEDURE IDENT . @7 parametros_ou_nada PONTO_E_VIRGULA bloco @8 PONTO_E_VIRGULA
    
        $default  reduce using rule 24 (@7)
    
        @7  go to state 38
    
    
    state 34
    
       38 comando_composto: T_BEGIN . comandos T_END
    
        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
    
        WHILE     reduce using rule 85 (@15)
        $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
        @15                         go to state 53
        comando_condicional         go to state 54
        if_then                     go to state 55
    
    
    state 35
    
        5 bloco: parte_declara_rotulos parte_declara_vars @2 parte_declara_subrotinas @3 comando_composto .
    
        $default  reduce using rule 5 (bloco)
    
    
    state 36
    
       18 lista_id_var: lista_id_var VIRGULA . IDENT
    
        IDENT  shift, and go to state 56
    
    
    state 37
    
       16 declara_var: @5 lista_id_var DOIS_PONTOS . tipo @6 PONTO_E_VIRGULA
    
        IDENT  shift, and go to state 57
    
        tipo  go to state 58
    
    
    state 38
    
       26 declaracao_procedimento: PROCEDURE IDENT @7 . parametros_ou_nada PONTO_E_VIRGULA bloco @8 PONTO_E_VIRGULA
    
        ABRE_PARENTESES  shift, and go to state 59
    
        $default  reduce using rule 30 (parametros_ou_nada)
    
        parametros_ou_nada  go to state 60
    
    
    state 39
    
       51 atribuicao_ou_procedimento: IDENT . @12 atribuicao_ou_procedimento_token
    
        $default  reduce using rule 50 (@12)
    
        @12  go to state 61
    
    
    state 40
    
       92 if_then: IF . expressao @17 THEN comando_sem_rotulo
    
        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
    
    
    state 41
    
       84 numero: NUMERO .
    
        $default  reduce using rule 84 (numero)
    
    
    state 42
    
       62 leitura: READ . ABRE_PARENTESES lista_leituras FECHA_PARENTESES
    
        ABRE_PARENTESES  shift, and go to state 68
    
    
    state 43
    
       66 escrita: WRITE . ABRE_PARENTESES lista_escritas FECHA_PARENTESES
    
        ABRE_PARENTESES  shift, and go to state 69
    
    
    state 44
    
       45 comando_sem_rotulo: comando_composto .
    
        $default  reduce using rule 45 (comando_sem_rotulo)
    
    
    state 45
    
       38 comando_composto: T_BEGIN comandos . T_END
    
        T_END  shift, and go to state 70
    
    
    state 46
    
       39 comandos: comando . PONTO_E_VIRGULA comandos
       40         | comando . PONTO_E_VIRGULA
    
        PONTO_E_VIRGULA  shift, and go to state 71
    
    
    state 47
    
       43 comando: comando_sem_rotulo .
    
        $default  reduce using rule 43 (comando)
    
    
    state 48
    
       44 comando_sem_rotulo: atribuicao_ou_procedimento .
    
        $default  reduce using rule 44 (comando_sem_rotulo)
    
    
    state 49
    
       48 comando_sem_rotulo: leitura .
    
        $default  reduce using rule 48 (comando_sem_rotulo)
    
    
    state 50
    
       49 comando_sem_rotulo: escrita .
    
        $default  reduce using rule 49 (comando_sem_rotulo)
    
    
    state 51
    
       42 comando: numero . DOIS_PONTOS comando_sem_rotulo
    
        DOIS_PONTOS  shift, and go to state 72
    
    
    state 52
    
       47 comando_sem_rotulo: comando_repetitivo .
    
        $default  reduce using rule 47 (comando_sem_rotulo)
    
    
    state 53
    
       87 comando_repetitivo: @15 . WHILE expressao DO @16 comando_sem_rotulo
    
        WHILE  shift, and go to state 73
    
    
    state 54
    
       46 comando_sem_rotulo: comando_condicional .
    
        $default  reduce using rule 46 (comando_sem_rotulo)
    
    
    state 55
    
       88 comando_condicional: if_then . cond_else
    
        ELSE  shift, and go to state 74
    
        $default  reduce using rule 90 (cond_else)
    
        cond_else  go to state 75
    
    
    state 56
    
       18 lista_id_var: lista_id_var VIRGULA IDENT .
    
        $default  reduce using rule 18 (lista_id_var)
    
    
    state 57
    
       17 tipo: IDENT .
    
        $default  reduce using rule 17 (tipo)
    
    
    state 58
    
       16 declara_var: @5 lista_id_var DOIS_PONTOS tipo . @6 PONTO_E_VIRGULA
    
        $default  reduce using rule 15 (@6)
    
        @6  go to state 76
    
    
    state 59
    
       29 parametros_ou_nada: ABRE_PARENTESES . @9 paramentros_formais @10 FECHA_PARENTESES
    
        $default  reduce using rule 27 (@9)
    
        @9  go to state 77
    
    
    state 60
    
       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
    
    
    state 61
    
       51 atribuicao_ou_procedimento: IDENT @12 . atribuicao_ou_procedimento_token
    
        ATRIBUICAO  reduce using rule 54 (@13)
        $default    reduce using rule 56 (@14)
    
        atribuicao_ou_procedimento_token  go to state 79
        atribuicao                        go to state 80
        @13                               go to state 81
        chamada_procedimento              go to state 82
        @14                               go to state 83
    
    
    state 62
    
       82 fator: IDENT .
    
        $default  reduce using rule 82 (fator)
    
    
    state 63
    
       83 fator: NUMERO .
    
        $default  reduce using rule 83 (fator)
    
    
    state 64
    
       69 expressao: expressao . IGUAL expressao_simples
       70          | expressao . DIFERENTE expressao_simples
       71          | expressao . MENOR expressao_simples
       72          | expressao . MENOR_IGUAL expressao_simples
       73          | expressao . MAIOR expressao_simples
       74          | expressao . MAIOR_IGUAL expressao_simples
       92 if_then: IF expressao . @17 THEN comando_sem_rotulo
    
        IGUAL        shift, and go to state 84
        DIFERENTE    shift, and go to state 85
        MENOR_IGUAL  shift, and go to state 86
        MAIOR_IGUAL  shift, and go to state 87
        MENOR        shift, and go to state 88
        MAIOR        shift, and go to state 89
    
        $default  reduce using rule 91 (@17)
    
        @17  go to state 90
    
    
    state 65
    
       75 expressao: expressao_simples .
       76 expressao_simples: expressao_simples . MAIS termo
       77                  | expressao_simples . MENOS termo
    
        MAIS   shift, and go to state 91
        MENOS  shift, and go to state 92
    
        $default  reduce using rule 75 (expressao)
    
    
    state 66
    
       78 expressao_simples: termo .
       79 termo: termo . ASTERISCO fator
       80      | termo . DIV fator
    
        DIV        shift, and go to state 93
        ASTERISCO  shift, and go to state 94
    
        $default  reduce using rule 78 (expressao_simples)
    
    
    state 67
    
       81 termo: fator .
    
        $default  reduce using rule 81 (termo)
    
    
    state 68
    
       62 leitura: READ ABRE_PARENTESES . lista_leituras FECHA_PARENTESES
    
        IDENT  shift, and go to state 95
    
        lista_leituras  go to state 96
        simb_leitura    go to state 97
    
    
    state 69
    
       66 escrita: WRITE ABRE_PARENTESES . lista_escritas FECHA_PARENTESES
    
        IDENT   shift, and go to state 62
        NUMERO  shift, and go to state 63
    
        lista_escritas     go to state 98
        expressao_simples  go to state 99
        termo              go to state 66
        fator              go to state 67
    
    
    state 70
    
       38 comando_composto: T_BEGIN comandos T_END .
    
        $default  reduce using rule 38 (comando_composto)
    
    
    state 71
    
       39 comandos: comando PONTO_E_VIRGULA . comandos
       40         | comando PONTO_E_VIRGULA .
    
        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
    
        T_END     reduce using rule 40 (comandos)
        T_END     [reduce using rule 41 (comandos)]
        WHILE     reduce using rule 85 (@15)
        $default  reduce using rule 40 (comandos)
    
        comando_composto            go to state 44
        comandos                    go to state 100
        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
        @15                         go to state 53
        comando_condicional         go to state 54
        if_then                     go to state 55
    
    
    state 72
    
       42 comando: numero DOIS_PONTOS . comando_sem_rotulo
    
        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 85 (@15)
    
        comando_composto            go to state 44
        comando_sem_rotulo          go to state 101
        atribuicao_ou_procedimento  go to state 48
        leitura                     go to state 49
        escrita                     go to state 50
        comando_repetitivo          go to state 52
        @15                         go to state 53
        comando_condicional         go to state 54
        if_then                     go to state 55
    
    
    state 73
    
       87 comando_repetitivo: @15 WHILE . expressao DO @16 comando_sem_rotulo
    
        IDENT   shift, and go to state 62
        NUMERO  shift, and go to state 63
    
        expressao          go to state 102
        expressao_simples  go to state 65
        termo              go to state 66
        fator              go to state 67
    
    
    state 74
    
       89 cond_else: ELSE . comando_sem_rotulo
    
        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 85 (@15)
    
        comando_composto            go to state 44
        comando_sem_rotulo          go to state 103
        atribuicao_ou_procedimento  go to state 48
        leitura                     go to state 49
        escrita                     go to state 50
        comando_repetitivo          go to state 52
        @15                         go to state 53
        comando_condicional         go to state 54
        if_then                     go to state 55
    
    
    state 75
    
       88 comando_condicional: if_then cond_else .
    
        $default  reduce using rule 88 (comando_condicional)
    
    
    state 76
    
       16 declara_var: @5 lista_id_var DOIS_PONTOS tipo @6 . PONTO_E_VIRGULA
    
        PONTO_E_VIRGULA  shift, and go to state 104
    
    
    state 77
    
       29 parametros_ou_nada: ABRE_PARENTESES @9 . paramentros_formais @10 FECHA_PARENTESES
    
        $default  reduce using rule 33 (@11)
    
        paramentros_formais  go to state 105
        secao_pfs            go to state 106
        @11                  go to state 107
    
    
    state 78
    
       26 declaracao_procedimento: PROCEDURE IDENT @7 parametros_ou_nada PONTO_E_VIRGULA . bloco @8 PONTO_E_VIRGULA
    
        LABEL  shift, and go to state 13
    
        $default  reduce using rule 7 (parte_declara_rotulos)
    
        bloco                  go to state 108
        parte_declara_rotulos  go to state 15
    
    
    state 79
    
       51 atribuicao_ou_procedimento: IDENT @12 atribuicao_ou_procedimento_token .
    
        $default  reduce using rule 51 (atribuicao_ou_procedimento)
    
    
    state 80
    
       52 atribuicao_ou_procedimento_token: atribuicao .
    
        $default  reduce using rule 52 (atribuicao_ou_procedimento_token)
    
    
    state 81
    
       55 atribuicao: @13 . ATRIBUICAO expressao_simples
    
        ATRIBUICAO  shift, and go to state 109
    
    
    state 82
    
       53 atribuicao_ou_procedimento_token: chamada_procedimento .
    
        $default  reduce using rule 53 (atribuicao_ou_procedimento_token)
    
    
    state 83
    
       57 chamada_procedimento: @14 . lista_parametros
    
        ABRE_PARENTESES  shift, and go to state 110
    
        $default  reduce using rule 59 (lista_parametros)
    
        lista_parametros  go to state 111
    
    
    state 84
    
       69 expressao: expressao IGUAL . expressao_simples
    
        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
    
    
    state 85
    
       70 expressao: expressao DIFERENTE . expressao_simples
    
        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
    
    
    state 86
    
       72 expressao: expressao MENOR_IGUAL . expressao_simples
    
        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
    
    
    state 87
    
       74 expressao: expressao MAIOR_IGUAL . expressao_simples
    
        IDENT   shift, and go to state 62
        NUMERO  shift, and go to state 63
    
        expressao_simples  go to state 115
        termo              go to state 66
        fator              go to state 67
    
    
    state 88
    
       71 expressao: expressao MENOR . expressao_simples
    
        IDENT   shift, and go to state 62
        NUMERO  shift, and go to state 63
    
        expressao_simples  go to state 116
        termo              go to state 66
        fator              go to state 67
    
    
    state 89
    
       73 expressao: expressao MAIOR . expressao_simples
    
        IDENT   shift, and go to state 62
        NUMERO  shift, and go to state 63
    
        expressao_simples  go to state 117
        termo              go to state 66
        fator              go to state 67
    
    
    state 90
    
       92 if_then: IF expressao @17 . THEN comando_sem_rotulo
    
        THEN  shift, and go to state 118
    
    
    state 91
    
       76 expressao_simples: expressao_simples MAIS . termo
    
        IDENT   shift, and go to state 62
        NUMERO  shift, and go to state 63
    
        termo  go to state 119
        fator  go to state 67
    
    
    state 92
    
       77 expressao_simples: expressao_simples MENOS . termo
    
        IDENT   shift, and go to state 62
        NUMERO  shift, and go to state 63
    
        termo  go to state 120
        fator  go to state 67
    
    
    state 93
    
       80 termo: termo DIV . fator
    
        IDENT   shift, and go to state 62
        NUMERO  shift, and go to state 63
    
        fator  go to state 121
    
    
    state 94
    
       79 termo: termo ASTERISCO . fator
    
        IDENT   shift, and go to state 62
        NUMERO  shift, and go to state 63
    
        fator  go to state 122
    
    
    state 95
    
       65 simb_leitura: IDENT .
    
        $default  reduce using rule 65 (simb_leitura)
    
    
    state 96
    
       62 leitura: READ ABRE_PARENTESES lista_leituras . FECHA_PARENTESES
       63 lista_leituras: lista_leituras . VIRGULA simb_leitura
    
        FECHA_PARENTESES  shift, and go to state 123
        VIRGULA           shift, and go to state 124
    
    
    state 97
    
       64 lista_leituras: simb_leitura .
    
        $default  reduce using rule 64 (lista_leituras)
    
    
    state 98
    
       66 escrita: WRITE ABRE_PARENTESES lista_escritas . FECHA_PARENTESES
       67 lista_escritas: lista_escritas . VIRGULA expressao_simples
    
        FECHA_PARENTESES  shift, and go to state 125
        VIRGULA           shift, and go to state 126
    
    
    state 99
    
       68 lista_escritas: expressao_simples .
       76 expressao_simples: expressao_simples . MAIS termo
       77                  | expressao_simples . MENOS termo
    
        MAIS   shift, and go to state 91
        MENOS  shift, and go to state 92
    
        $default  reduce using rule 68 (lista_escritas)
    
    
    state 100
    
       39 comandos: comando PONTO_E_VIRGULA comandos .
    
        $default  reduce using rule 39 (comandos)
    
    
    state 101
    
       42 comando: numero DOIS_PONTOS comando_sem_rotulo .
    
        $default  reduce using rule 42 (comando)
    
    
    state 102
    
       69 expressao: expressao . IGUAL expressao_simples
       70          | expressao . DIFERENTE expressao_simples
       71          | expressao . MENOR expressao_simples
       72          | expressao . MENOR_IGUAL expressao_simples
       73          | expressao . MAIOR expressao_simples
       74          | expressao . MAIOR_IGUAL expressao_simples
       87 comando_repetitivo: @15 WHILE expressao . DO @16 comando_sem_rotulo
    
        DO           shift, and go to state 127
        IGUAL        shift, and go to state 84
        DIFERENTE    shift, and go to state 85
        MENOR_IGUAL  shift, and go to state 86
        MAIOR_IGUAL  shift, and go to state 87
        MENOR        shift, and go to state 88
        MAIOR        shift, and go to state 89
    
    
    state 103
    
       89 cond_else: ELSE comando_sem_rotulo .
    
        $default  reduce using rule 89 (cond_else)
    
    
    state 104
    
       16 declara_var: @5 lista_id_var DOIS_PONTOS tipo @6 PONTO_E_VIRGULA .
    
        $default  reduce using rule 16 (declara_var)
    
    
    state 105
    
       29 parametros_ou_nada: ABRE_PARENTESES @9 paramentros_formais . @10 FECHA_PARENTESES
       32 paramentros_formais: paramentros_formais . PONTO_E_VIRGULA secao_pfs
    
        PONTO_E_VIRGULA  shift, and go to state 128
    
        $default  reduce using rule 28 (@10)
    
        @10  go to state 129
    
    
    state 106
    
       31 paramentros_formais: secao_pfs .
    
        $default  reduce using rule 31 (paramentros_formais)
    
    
    state 107
    
       34 secao_pfs: @11 . lista_id_pf DOIS_PONTOS tipo
    
        IDENT  shift, and go to state 130
    
        lista_id_pf  go to state 131
        parametro    go to state 132
    
    
    state 108
    
       26 declaracao_procedimento: PROCEDURE IDENT @7 parametros_ou_nada PONTO_E_VIRGULA bloco . @8 PONTO_E_VIRGULA
    
        $default  reduce using rule 25 (@8)
    
        @8  go to state 133
    
    
    state 109
    
       55 atribuicao: @13 ATRIBUICAO . expressao_simples
    
        IDENT   shift, and go to state 62
        NUMERO  shift, and go to state 63
    
        expressao_simples  go to state 134
        termo              go to state 66
        fator              go to state 67
    
    
    state 110
    
       58 lista_parametros: ABRE_PARENTESES . lista_parametros_parenteses FECHA_PARENTESES
    
        IDENT   shift, and go to state 62
        NUMERO  shift, and go to state 63
    
        lista_parametros_parenteses  go to state 135
        expressao_simples            go to state 136
        termo                        go to state 66
        fator                        go to state 67
    
    
    state 111
    
       57 chamada_procedimento: @14 lista_parametros .
    
        $default  reduce using rule 57 (chamada_procedimento)
    
    
    state 112
    
       69 expressao: expressao IGUAL expressao_simples .
       76 expressao_simples: expressao_simples . MAIS termo
       77                  | expressao_simples . MENOS termo
    
        MAIS   shift, and go to state 91
        MENOS  shift, and go to state 92
    
        $default  reduce using rule 69 (expressao)
    
    
    state 113
    
       70 expressao: expressao DIFERENTE expressao_simples .
       76 expressao_simples: expressao_simples . MAIS termo
       77                  | expressao_simples . MENOS termo
    
        MAIS   shift, and go to state 91
        MENOS  shift, and go to state 92
    
        $default  reduce using rule 70 (expressao)
    
    
    state 114
    
       72 expressao: expressao MENOR_IGUAL expressao_simples .
       76 expressao_simples: expressao_simples . MAIS termo
       77                  | expressao_simples . MENOS termo
    
        MAIS   shift, and go to state 91
        MENOS  shift, and go to state 92
    
        $default  reduce using rule 72 (expressao)
    
    
    state 115
    
       74 expressao: expressao MAIOR_IGUAL expressao_simples .
       76 expressao_simples: expressao_simples . MAIS termo
       77                  | expressao_simples . MENOS termo
    
        MAIS   shift, and go to state 91
        MENOS  shift, and go to state 92
    
        $default  reduce using rule 74 (expressao)
    
    
    state 116
    
       71 expressao: expressao MENOR expressao_simples .
       76 expressao_simples: expressao_simples . MAIS termo
       77                  | expressao_simples . MENOS termo
    
        MAIS   shift, and go to state 91
        MENOS  shift, and go to state 92
    
        $default  reduce using rule 71 (expressao)
    
    
    state 117
    
       73 expressao: expressao MAIOR expressao_simples .
       76 expressao_simples: expressao_simples . MAIS termo
       77                  | expressao_simples . MENOS termo
    
        MAIS   shift, and go to state 91
        MENOS  shift, and go to state 92
    
        $default  reduce using rule 73 (expressao)
    
    
    state 118
    
       92 if_then: IF expressao @17 THEN . comando_sem_rotulo
    
        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 85 (@15)
    
        comando_composto            go to state 44
        comando_sem_rotulo          go to state 137
        atribuicao_ou_procedimento  go to state 48
        leitura                     go to state 49
        escrita                     go to state 50
        comando_repetitivo          go to state 52
        @15                         go to state 53
        comando_condicional         go to state 54
        if_then                     go to state 55
    
    
    state 119
    
       76 expressao_simples: expressao_simples MAIS termo .
       79 termo: termo . ASTERISCO fator
       80      | termo . DIV fator
    
        DIV        shift, and go to state 93
        ASTERISCO  shift, and go to state 94
    
        $default  reduce using rule 76 (expressao_simples)
    
    
    state 120
    
       77 expressao_simples: expressao_simples MENOS termo .
       79 termo: termo . ASTERISCO fator
       80      | termo . DIV fator
    
        DIV        shift, and go to state 93
        ASTERISCO  shift, and go to state 94
    
        $default  reduce using rule 77 (expressao_simples)
    
    
    state 121
    
       80 termo: termo DIV fator .
    
        $default  reduce using rule 80 (termo)
    
    
    state 122
    
       79 termo: termo ASTERISCO fator .
    
        $default  reduce using rule 79 (termo)
    
    
    state 123
    
       62 leitura: READ ABRE_PARENTESES lista_leituras FECHA_PARENTESES .
    
        $default  reduce using rule 62 (leitura)
    
    
    state 124
    
       63 lista_leituras: lista_leituras VIRGULA . simb_leitura
    
        IDENT  shift, and go to state 95
    
        simb_leitura  go to state 138
    
    
    state 125
    
       66 escrita: WRITE ABRE_PARENTESES lista_escritas FECHA_PARENTESES .
    
        $default  reduce using rule 66 (escrita)
    
    
    state 126
    
       67 lista_escritas: lista_escritas VIRGULA . expressao_simples
    
        IDENT   shift, and go to state 62
        NUMERO  shift, and go to state 63
    
        expressao_simples  go to state 139
        termo              go to state 66
        fator              go to state 67
    
    
    state 127
    
       87 comando_repetitivo: @15 WHILE expressao DO . @16 comando_sem_rotulo
    
        $default  reduce using rule 86 (@16)
    
        @16  go to state 140
    
    
    state 128
    
       32 paramentros_formais: paramentros_formais PONTO_E_VIRGULA . secao_pfs
    
        $default  reduce using rule 33 (@11)
    
        secao_pfs  go to state 141
        @11        go to state 107
    
    
    state 129
    
       29 parametros_ou_nada: ABRE_PARENTESES @9 paramentros_formais @10 . FECHA_PARENTESES
    
        FECHA_PARENTESES  shift, and go to state 142
    
    
    state 130
    
       37 parametro: IDENT .
    
        $default  reduce using rule 37 (parametro)
    
    
    state 131
    
       34 secao_pfs: @11 lista_id_pf . DOIS_PONTOS tipo
    
        DOIS_PONTOS  shift, and go to state 143
    
    
    state 132
    
       35 lista_id_pf: parametro . VIRGULA lista_id_pf
       36            | parametro .
    
        VIRGULA  shift, and go to state 144
    
        $default  reduce using rule 36 (lista_id_pf)
    
    
    state 133
    
       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 145
    
    
    state 134
    
       55 atribuicao: @13 ATRIBUICAO expressao_simples .
       76 expressao_simples: expressao_simples . MAIS termo
       77                  | expressao_simples . MENOS termo
    
        MAIS   shift, and go to state 91
        MENOS  shift, and go to state 92
    
        $default  reduce using rule 55 (atribuicao)
    
    
    state 135
    
       58 lista_parametros: ABRE_PARENTESES lista_parametros_parenteses . FECHA_PARENTESES
       60 lista_parametros_parenteses: lista_parametros_parenteses . VIRGULA expressao_simples
    
        FECHA_PARENTESES  shift, and go to state 146
        VIRGULA           shift, and go to state 147
    
    
    state 136
    
       61 lista_parametros_parenteses: expressao_simples .
       76 expressao_simples: expressao_simples . MAIS termo
       77                  | expressao_simples . MENOS termo
    
        MAIS   shift, and go to state 91
        MENOS  shift, and go to state 92
    
        $default  reduce using rule 61 (lista_parametros_parenteses)
    
    
    state 137
    
       92 if_then: IF expressao @17 THEN comando_sem_rotulo .
    
        $default  reduce using rule 92 (if_then)
    
    
    state 138
    
       63 lista_leituras: lista_leituras VIRGULA simb_leitura .
    
        $default  reduce using rule 63 (lista_leituras)
    
    
    state 139
    
       67 lista_escritas: lista_escritas VIRGULA expressao_simples .
       76 expressao_simples: expressao_simples . MAIS termo
       77                  | expressao_simples . MENOS termo
    
        MAIS   shift, and go to state 91
        MENOS  shift, and go to state 92
    
        $default  reduce using rule 67 (lista_escritas)
    
    
    state 140
    
       87 comando_repetitivo: @15 WHILE expressao DO @16 . comando_sem_rotulo
    
        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 85 (@15)
    
        comando_composto            go to state 44
        comando_sem_rotulo          go to state 148
        atribuicao_ou_procedimento  go to state 48
        leitura                     go to state 49
        escrita                     go to state 50
        comando_repetitivo          go to state 52
        @15                         go to state 53
        comando_condicional         go to state 54
        if_then                     go to state 55
    
    
    state 141
    
       32 paramentros_formais: paramentros_formais PONTO_E_VIRGULA secao_pfs .
    
        $default  reduce using rule 32 (paramentros_formais)
    
    
    state 142
    
       29 parametros_ou_nada: ABRE_PARENTESES @9 paramentros_formais @10 FECHA_PARENTESES .
    
        $default  reduce using rule 29 (parametros_ou_nada)
    
    
    state 143
    
       34 secao_pfs: @11 lista_id_pf DOIS_PONTOS . tipo
    
        IDENT  shift, and go to state 57
    
        tipo  go to state 149
    
    
    state 144
    
       35 lista_id_pf: parametro VIRGULA . lista_id_pf
    
        IDENT  shift, and go to state 130
    
        lista_id_pf  go to state 150
        parametro    go to state 132
    
    
    state 145
    
       26 declaracao_procedimento: PROCEDURE IDENT @7 parametros_ou_nada PONTO_E_VIRGULA bloco @8 PONTO_E_VIRGULA .
    
        $default  reduce using rule 26 (declaracao_procedimento)
    
    
    state 146
    
       58 lista_parametros: ABRE_PARENTESES lista_parametros_parenteses FECHA_PARENTESES .
    
        $default  reduce using rule 58 (lista_parametros)
    
    
    state 147
    
       60 lista_parametros_parenteses: lista_parametros_parenteses VIRGULA . expressao_simples
    
        IDENT   shift, and go to state 62
        NUMERO  shift, and go to state 63
    
        expressao_simples  go to state 151
        termo              go to state 66
        fator              go to state 67
    
    
    state 148
    
       87 comando_repetitivo: @15 WHILE expressao DO @16 comando_sem_rotulo .
    
        $default  reduce using rule 87 (comando_repetitivo)
    
    
    state 149
    
       34 secao_pfs: @11 lista_id_pf DOIS_PONTOS tipo .
    
        $default  reduce using rule 34 (secao_pfs)
    
    
    state 150
    
       35 lista_id_pf: parametro VIRGULA lista_id_pf .
    
        $default  reduce using rule 35 (lista_id_pf)
    
    
    state 151
    
       60 lista_parametros_parenteses: lista_parametros_parenteses VIRGULA expressao_simples .
       76 expressao_simples: expressao_simples . MAIS termo
       77                  | expressao_simples . MENOS termo
    
        MAIS   shift, and go to state 91
        MENOS  shift, and go to state 92
    
        $default  reduce using rule 60 (lista_parametros_parenteses)