Subversion Repositories Vertical

Rev

Blame | Last modification | View Log | Download | RSS feed

Terminals which are not used:

   ENDFILE


State 14 contains 1 shift/reduce conflict.
State 42 contains 1 reduce/reduce conflict.


Grammar

  Number, Line, Rule
    1  75 file -> objects
    2  79 objects -> objects object
    3  80 objects -> object
    4  84 object -> header_line NL
    5  85 object -> add_comp_line NL
    6  86 object -> add_ter_line NL
    7  87 object -> ter_block NL
    8  88 object -> gap
    9  89 object -> END gap
   10  93 @1 -> /* empty */
   11  93 header_line -> junktag @1 junk
   12  95 junktag -> HEADER
   13  95 junktag -> TIME
   14  95 junktag -> JOB
   15  95 junktag -> APP
   16  95 junktag -> TYPE
   17  95 junktag -> UNITS
   18  95 junktag -> ATT_COM
   19  95 junktag -> ATT_TRE
   20  95 junktag -> ATT_PIN
   21  97 add_comp_line -> ADD_COM ASTRING ASTRING ASTRING
   22 103 add_ter_line -> ADD_TER ASTRING ASTRING ASTRING
   23 110 ter_block -> TER ter_lines NL
   24 112 ter_lines -> ter_lines NL ter_line
   25 113 ter_lines -> ter_line
   26 116 ter_line -> ASTRING ASTRING
   27 124 junk -> any junk
   28 125 junk -> any
   29 126 junk -> /* empty */
   30 130 any -> ASTRING
   31 135 gap -> NL gap
   32 136 gap -> NL


Terminals, with rules where they appear

$ (-1)
error (256)
HEADER (257) 12
TIME (258) 13
JOB (259) 14
TYPE (260) 16
APP (261) 15
ADD_COM (262) 21
ADD_TER (263) 22
TER (264) 23
END (265) 9
UNITS (266) 17
ATT_COM (267) 18
ATT_TRE (268) 19
ATT_PIN (269) 20
NL (270) 4 5 6 7 23 24 31 32
ENDFILE (271)
ASTRING (272) 21 22 26 30


Nonterminals, with rules where they appear

file (19)
    on left: 1
objects (20)
    on left: 2 3, on right: 1 2
object (21)
    on left: 4 5 6 7 8 9, on right: 2 3
header_line (22)
    on left: 11, on right: 4
@1 (23)
    on left: 10, on right: 11
junktag (24)
    on left: 12 13 14 15 16 17 18 19 20, on right: 11
add_comp_line (25)
    on left: 21, on right: 5
add_ter_line (26)
    on left: 22, on right: 6
ter_block (27)
    on left: 23, on right: 7
ter_lines (28)
    on left: 24 25, on right: 23 24
ter_line (29)
    on left: 26, on right: 24 25
junk (30)
    on left: 27 28 29, on right: 11 27
any (31)
    on left: 30, on right: 27 28
gap (32)
    on left: 31 32, on right: 8 9 31


state 0

    HEADER      shift, and go to state 1
    TIME        shift, and go to state 2
    JOB         shift, and go to state 3
    TYPE        shift, and go to state 4
    APP         shift, and go to state 5
    ADD_COM     shift, and go to state 6
    ADD_TER     shift, and go to state 7
    TER         shift, and go to state 8
    END         shift, and go to state 9
    UNITS       shift, and go to state 10
    ATT_COM     shift, and go to state 11
    ATT_TRE     shift, and go to state 12
    ATT_PIN     shift, and go to state 13
    NL          shift, and go to state 14

    file        go to state 47
    objects     go to state 15
    object      go to state 16
    header_line go to state 17
    junktag     go to state 18
    add_comp_line       go to state 19
    add_ter_line        go to state 20
    ter_block   go to state 21
    gap         go to state 22



state 1

    junktag  ->  HEADER .   (rule 12)

    $default    reduce using rule 12 (junktag)



state 2

    junktag  ->  TIME .   (rule 13)

    $default    reduce using rule 13 (junktag)



state 3

    junktag  ->  JOB .   (rule 14)

    $default    reduce using rule 14 (junktag)



state 4

    junktag  ->  TYPE .   (rule 16)

    $default    reduce using rule 16 (junktag)



state 5

    junktag  ->  APP .   (rule 15)

    $default    reduce using rule 15 (junktag)



state 6

    add_comp_line  ->  ADD_COM . ASTRING ASTRING ASTRING   (rule 21)

    ASTRING     shift, and go to state 23



state 7

    add_ter_line  ->  ADD_TER . ASTRING ASTRING ASTRING   (rule 22)

    ASTRING     shift, and go to state 24



state 8

    ter_block  ->  TER . ter_lines NL   (rule 23)

    ASTRING     shift, and go to state 25

    ter_lines   go to state 26
    ter_line    go to state 27



state 9

    object  ->  END . gap   (rule 9)

    NL          shift, and go to state 14

    gap         go to state 28



state 10

    junktag  ->  UNITS .   (rule 17)

    $default    reduce using rule 17 (junktag)



state 11

    junktag  ->  ATT_COM .   (rule 18)

    $default    reduce using rule 18 (junktag)



state 12

    junktag  ->  ATT_TRE .   (rule 19)

    $default    reduce using rule 19 (junktag)



state 13

    junktag  ->  ATT_PIN .   (rule 20)

    $default    reduce using rule 20 (junktag)



state 14

    gap  ->  NL . gap   (rule 31)
    gap  ->  NL .   (rule 32)

    NL          shift, and go to state 14

    NL          [reduce using rule 32 (gap)]
    $default    reduce using rule 32 (gap)

    gap         go to state 29



state 15

    file  ->  objects .   (rule 1)
    objects  ->  objects . object   (rule 2)

    HEADER      shift, and go to state 1
    TIME        shift, and go to state 2
    JOB         shift, and go to state 3
    TYPE        shift, and go to state 4
    APP         shift, and go to state 5
    ADD_COM     shift, and go to state 6
    ADD_TER     shift, and go to state 7
    TER         shift, and go to state 8
    END         shift, and go to state 9
    UNITS       shift, and go to state 10
    ATT_COM     shift, and go to state 11
    ATT_TRE     shift, and go to state 12
    ATT_PIN     shift, and go to state 13
    NL          shift, and go to state 14

    $default    reduce using rule 1 (file)

    object      go to state 30
    header_line go to state 17
    junktag     go to state 18
    add_comp_line       go to state 19
    add_ter_line        go to state 20
    ter_block   go to state 21
    gap         go to state 22



state 16

    objects  ->  object .   (rule 3)

    $default    reduce using rule 3 (objects)



state 17

    object  ->  header_line . NL   (rule 4)

    NL          shift, and go to state 31



state 18

    header_line  ->  junktag . @1 junk   (rule 11)

    $default    reduce using rule 10 (@1)

    @1          go to state 32



state 19

    object  ->  add_comp_line . NL   (rule 5)

    NL          shift, and go to state 33



state 20

    object  ->  add_ter_line . NL   (rule 6)

    NL          shift, and go to state 34



state 21

    object  ->  ter_block . NL   (rule 7)

    NL          shift, and go to state 35



state 22

    object  ->  gap .   (rule 8)

    $default    reduce using rule 8 (object)



state 23

    add_comp_line  ->  ADD_COM ASTRING . ASTRING ASTRING   (rule 21)

    ASTRING     shift, and go to state 36



state 24

    add_ter_line  ->  ADD_TER ASTRING . ASTRING ASTRING   (rule 22)

    ASTRING     shift, and go to state 37



state 25

    ter_line  ->  ASTRING . ASTRING   (rule 26)

    ASTRING     shift, and go to state 38



state 26

    ter_block  ->  TER ter_lines . NL   (rule 23)
    ter_lines  ->  ter_lines . NL ter_line   (rule 24)

    NL          shift, and go to state 39



state 27

    ter_lines  ->  ter_line .   (rule 25)

    $default    reduce using rule 25 (ter_lines)



state 28

    object  ->  END gap .   (rule 9)

    $default    reduce using rule 9 (object)



state 29

    gap  ->  NL gap .   (rule 31)

    $default    reduce using rule 31 (gap)



state 30

    objects  ->  objects object .   (rule 2)

    $default    reduce using rule 2 (objects)



state 31

    object  ->  header_line NL .   (rule 4)

    $default    reduce using rule 4 (object)



state 32

    header_line  ->  junktag @1 . junk   (rule 11)

    ASTRING     shift, and go to state 40

    $default    reduce using rule 29 (junk)

    junk        go to state 41
    any         go to state 42



state 33

    object  ->  add_comp_line NL .   (rule 5)

    $default    reduce using rule 5 (object)



state 34

    object  ->  add_ter_line NL .   (rule 6)

    $default    reduce using rule 6 (object)



state 35

    object  ->  ter_block NL .   (rule 7)

    $default    reduce using rule 7 (object)



state 36

    add_comp_line  ->  ADD_COM ASTRING ASTRING . ASTRING   (rule 21)

    ASTRING     shift, and go to state 43



state 37

    add_ter_line  ->  ADD_TER ASTRING ASTRING . ASTRING   (rule 22)

    ASTRING     shift, and go to state 44



state 38

    ter_line  ->  ASTRING ASTRING .   (rule 26)

    $default    reduce using rule 26 (ter_line)



state 39

    ter_block  ->  TER ter_lines NL .   (rule 23)
    ter_lines  ->  ter_lines NL . ter_line   (rule 24)

    ASTRING     shift, and go to state 25

    $default    reduce using rule 23 (ter_block)

    ter_line    go to state 45



state 40

    any  ->  ASTRING .   (rule 30)

    $default    reduce using rule 30 (any)



state 41

    header_line  ->  junktag @1 junk .   (rule 11)

    $default    reduce using rule 11 (header_line)



state 42

    junk  ->  any . junk   (rule 27)
    junk  ->  any .   (rule 28)

    ASTRING     shift, and go to state 40

    NL          reduce using rule 28 (junk)
    NL          [reduce using rule 29 (junk)]
    $default    reduce using rule 28 (junk)
    junk        go to state 46
    any         go to state 42



state 43

    add_comp_line  ->  ADD_COM ASTRING ASTRING ASTRING .   (rule 21)

    $default    reduce using rule 21 (add_comp_line)



state 44

    add_ter_line  ->  ADD_TER ASTRING ASTRING ASTRING .   (rule 22)

    $default    reduce using rule 22 (add_ter_line)



state 45

    ter_lines  ->  ter_lines NL ter_line .   (rule 24)

    $default    reduce using rule 24 (ter_lines)



state 46

    junk  ->  any junk .   (rule 27)

    $default    reduce using rule 27 (junk)



state 47

    $           go to state 48



state 48

    $           go to state 49



state 49

    $default    accept