Grammar

    0 $accept: config_file $end

    1 config_file: config_file section_or_include
    2            | /* empty */

    3 section_or_include: FILE_VERSION STRING EOL

    4 $@1: /* empty */

    5 section_or_include: CONFIG SETUP EOL $@1 kw_section

    6 $@2: /* empty */

    7 section_or_include: CONN STRING EOL $@2 kw_section

    8 $@3: /* empty */

    9 section_or_include: CA STRING EOL $@3 kw_section

   10 $@4: /* empty */

   11 section_or_include: INCLUDE STRING $@4 EOL
   12                   | EOL

   13 kw_section: FIRST_SPACES statement_kw EOL kw_section
   14           | /* empty */

   15 statement_kw: STRING EQUAL STRING
   16             | STRING EQUAL
   17             | /* empty */


Terminals, with rules where they appear

$end (0) 0
error (256)
EQUAL (258) 15 16
FIRST_SPACES (259) 13
EOL (260) 3 5 7 9 11 12 13
CONFIG (261) 5
SETUP (262) 5
CONN (263) 7
CA (264) 9
INCLUDE (265) 11
FILE_VERSION (266) 3
STRING (267) 3 7 9 11 15 16


Nonterminals, with rules where they appear

$accept (13)
    on left: 0
config_file (14)
    on left: 1 2, on right: 0 1
section_or_include (15)
    on left: 3 5 7 9 11 12, on right: 1
$@1 (16)
    on left: 4, on right: 5
$@2 (17)
    on left: 6, on right: 7
$@3 (18)
    on left: 8, on right: 9
$@4 (19)
    on left: 10, on right: 11
kw_section (20)
    on left: 13 14, on right: 5 7 9 13
statement_kw (21)
    on left: 15 16 17, on right: 13


state 0

    0 $accept: . config_file $end

    $default  reduce using rule 2 (config_file)

    config_file  go to state 1


state 1

    0 $accept: config_file . $end
    1 config_file: config_file . section_or_include

    $end          shift, and go to state 2
    EOL           shift, and go to state 3
    CONFIG        shift, and go to state 4
    CONN          shift, and go to state 5
    CA            shift, and go to state 6
    INCLUDE       shift, and go to state 7
    FILE_VERSION  shift, and go to state 8

    section_or_include  go to state 9


state 2

    0 $accept: config_file $end .

    $default  accept


state 3

   12 section_or_include: EOL .

    $default  reduce using rule 12 (section_or_include)


state 4

    5 section_or_include: CONFIG . SETUP EOL $@1 kw_section

    SETUP  shift, and go to state 10


state 5

    7 section_or_include: CONN . STRING EOL $@2 kw_section

    STRING  shift, and go to state 11


state 6

    9 section_or_include: CA . STRING EOL $@3 kw_section

    STRING  shift, and go to state 12


state 7

   11 section_or_include: INCLUDE . STRING $@4 EOL

    STRING  shift, and go to state 13


state 8

    3 section_or_include: FILE_VERSION . STRING EOL

    STRING  shift, and go to state 14


state 9

    1 config_file: config_file section_or_include .

    $default  reduce using rule 1 (config_file)


state 10

    5 section_or_include: CONFIG SETUP . EOL $@1 kw_section

    EOL  shift, and go to state 15


state 11

    7 section_or_include: CONN STRING . EOL $@2 kw_section

    EOL  shift, and go to state 16


state 12

    9 section_or_include: CA STRING . EOL $@3 kw_section

    EOL  shift, and go to state 17


state 13

   11 section_or_include: INCLUDE STRING . $@4 EOL

    $default  reduce using rule 10 ($@4)

    $@4  go to state 18


state 14

    3 section_or_include: FILE_VERSION STRING . EOL

    EOL  shift, and go to state 19


state 15

    5 section_or_include: CONFIG SETUP EOL . $@1 kw_section

    $default  reduce using rule 4 ($@1)

    $@1  go to state 20


state 16

    7 section_or_include: CONN STRING EOL . $@2 kw_section

    $default  reduce using rule 6 ($@2)

    $@2  go to state 21


state 17

    9 section_or_include: CA STRING EOL . $@3 kw_section

    $default  reduce using rule 8 ($@3)

    $@3  go to state 22


state 18

   11 section_or_include: INCLUDE STRING $@4 . EOL

    EOL  shift, and go to state 23


state 19

    3 section_or_include: FILE_VERSION STRING EOL .

    $default  reduce using rule 3 (section_or_include)


state 20

    5 section_or_include: CONFIG SETUP EOL $@1 . kw_section

    FIRST_SPACES  shift, and go to state 24

    $default  reduce using rule 14 (kw_section)

    kw_section  go to state 25


state 21

    7 section_or_include: CONN STRING EOL $@2 . kw_section

    FIRST_SPACES  shift, and go to state 24

    $default  reduce using rule 14 (kw_section)

    kw_section  go to state 26


state 22

    9 section_or_include: CA STRING EOL $@3 . kw_section

    FIRST_SPACES  shift, and go to state 24

    $default  reduce using rule 14 (kw_section)

    kw_section  go to state 27


state 23

   11 section_or_include: INCLUDE STRING $@4 EOL .

    $default  reduce using rule 11 (section_or_include)


state 24

   13 kw_section: FIRST_SPACES . statement_kw EOL kw_section

    STRING  shift, and go to state 28

    $default  reduce using rule 17 (statement_kw)

    statement_kw  go to state 29


state 25

    5 section_or_include: CONFIG SETUP EOL $@1 kw_section .

    $default  reduce using rule 5 (section_or_include)


state 26

    7 section_or_include: CONN STRING EOL $@2 kw_section .

    $default  reduce using rule 7 (section_or_include)


state 27

    9 section_or_include: CA STRING EOL $@3 kw_section .

    $default  reduce using rule 9 (section_or_include)


state 28

   15 statement_kw: STRING . EQUAL STRING
   16             | STRING . EQUAL

    EQUAL  shift, and go to state 30


state 29

   13 kw_section: FIRST_SPACES statement_kw . EOL kw_section

    EOL  shift, and go to state 31


state 30

   15 statement_kw: STRING EQUAL . STRING
   16             | STRING EQUAL .

    STRING  shift, and go to state 32

    $default  reduce using rule 16 (statement_kw)


state 31

   13 kw_section: FIRST_SPACES statement_kw EOL . kw_section

    FIRST_SPACES  shift, and go to state 24

    $default  reduce using rule 14 (kw_section)

    kw_section  go to state 33


state 32

   15 statement_kw: STRING EQUAL STRING .

    $default  reduce using rule 15 (statement_kw)


state 33

   13 kw_section: FIRST_SPACES statement_kw EOL kw_section .

    $default  reduce using rule 13 (kw_section)
