-------- Grammar -------- rule 1 bibliography: rule 2 bibliography: objects rule 3 objects: object rule 4 objects: objects object rule 5 object: AT at_object rule 6 object: META_CONTENT rule 7 object: ERROR rule 8 at_object: comment rule 9 at_object: string rule 10 at_object: preamble rule 11 at_object: entry rule 12 comment: COMMENT LBRACE content RBRACE rule 13 content: rule 14 content: CONTENT rule 15 preamble: PREAMBLE LBRACE string_value RBRACE rule 16 string: STRING LBRACE string_assignment RBRACE rule 17 string_assignment: NAME EQ string_value rule 18 string_value: string_literal rule 19 string_value: string_value SHARP string_literal rule 20 string_literal: NAME rule 21 string_literal: LBRACE content RBRACE rule 22 string_literal: STRING_LITERAL rule 23 entry: entry_head assignments RBRACE rule 24 entry: entry_head assignments COMMA RBRACE rule 25 entry: entry_head RBRACE rule 26 entry_head: NAME LBRACE key COMMA rule 27 key: NAME rule 28 key: NUMBER rule 29 key: NUMBER NAME rule 30 assignments: assignment rule 31 assignments: assignments COMMA assignment rule 32 assignment: NAME EQ value rule 33 value: string_value rule 34 value: NUMBER ------- Symbols ------- **Nonterminals, with rules where they appear $start (17) on right: on left : bibliography (18) on right: on left : 1 2 objects (19) on right: 2 4 on left : 3 4 object (20) on right: 3 4 on left : 5 6 7 at_object (21) on right: 5 on left : 8 9 10 11 comment (22) on right: 8 on left : 12 string (23) on right: 9 on left : 16 preamble (24) on right: 10 on left : 15 entry (25) on right: 11 on left : 23 24 25 content (26) on right: 12 21 on left : 13 14 string_value (27) on right: 15 17 19 33 on left : 18 19 string_assignment (28) on right: 16 on left : 17 string_literal (29) on right: 18 19 on left : 20 21 22 entry_head (30) on right: 23 24 25 on left : 26 assignments (31) on right: 23 24 31 on left : 30 31 key (32) on right: 26 on left : 27 28 29 assignment (33) on right: 30 31 on left : 32 value (34) on right: 32 on left : 33 34 **Terminals, with rules where they appear $end (0) error (1) AT (2) 5 COMMA (3) 24 26 31 COMMENT (4) 12 CONTENT (5) 14 ERROR (6) 7 EQ (7) 17 32 LBRACE (8) 12 15 16 21 26 META_CONTENT (9) 6 NAME (10) 17 20 26 27 29 32 NUMBER (11) 28 29 34 PREAMBLE (12) 15 RBRACE (13) 12 15 16 21 23 24 25 SHARP (14) 19 STRING (15) 16 STRING_LITERAL (16) 22 --------- State --------- state 0 AT shift, and go to state 4 ERROR shift, and go to state 6 META_CONTENT shift, and go to state 5 $default reduce using rule 1 (bibliography) bibliography go to state 1 objects go to state 2 object go to state 3 state 1 $end shift, and go to state 7 state 2 2) bibliography : objects _ 4) objects : objects _ object AT shift, and go to state 4 ERROR shift, and go to state 6 META_CONTENT shift, and go to state 5 $default reduce using rule 2 (bibliography) object go to state 8 state 3 3) objects : object _ $default reduce using rule 3 (objects) state 4 5) object : AT _ at_object COMMENT shift, and go to state 14 NAME shift, and go to state 18 PREAMBLE shift, and go to state 15 STRING shift, and go to state 16 at_object go to state 9 comment go to state 10 string go to state 11 preamble go to state 12 entry go to state 13 entry_head go to state 17 state 5 6) object : META_CONTENT _ $default reduce using rule 6 (object) state 6 7) object : ERROR _ $default reduce using rule 7 (object) state 7 $end shift, and go to state 19 state 8 4) objects : objects object _ $default reduce using rule 4 (objects) state 9 5) object : AT at_object _ $default reduce using rule 5 (object) state 10 8) at_object : comment _ $default reduce using rule 8 (at_object) state 11 9) at_object : string _ $default reduce using rule 9 (at_object) state 12 10) at_object : preamble _ $default reduce using rule 10 (at_object) state 13 11) at_object : entry _ $default reduce using rule 11 (at_object) state 14 12) comment : COMMENT _ LBRACE content RBRACE LBRACE shift, and go to state 20 state 15 15) preamble : PREAMBLE _ LBRACE string_value RBRACE LBRACE shift, and go to state 21 state 16 16) string : STRING _ LBRACE string_assignment RBRACE LBRACE shift, and go to state 22 state 17 23) entry : entry_head _ assignments RBRACE 24) entry : entry_head _ assignments COMMA RBRACE 25) entry : entry_head _ RBRACE NAME shift, and go to state 26 RBRACE shift, and go to state 24 assignments go to state 23 assignment go to state 25 state 18 26) entry_head : NAME _ LBRACE key COMMA LBRACE shift, and go to state 27 state 19 $default accept state 20 12) comment : COMMENT LBRACE _ content RBRACE CONTENT shift, and go to state 29 $default reduce using rule 13 (content) content go to state 28 state 21 15) preamble : PREAMBLE LBRACE _ string_value RBRACE LBRACE shift, and go to state 33 NAME shift, and go to state 32 STRING_LITERAL shift, and go to state 34 string_value go to state 30 string_literal go to state 31 state 22 16) string : STRING LBRACE _ string_assignment RBRACE NAME shift, and go to state 36 string_assignment go to state 35 state 23 23) entry : entry_head assignments _ RBRACE 24) entry : entry_head assignments _ COMMA RBRACE 31) assignments : assignments _ COMMA assignment COMMA shift, and go to state 38 RBRACE shift, and go to state 37 state 24 25) entry : entry_head RBRACE _ $default reduce using rule 25 (entry) state 25 30) assignments : assignment _ $default reduce using rule 30 (assignments) state 26 32) assignment : NAME _ EQ value EQ shift, and go to state 39 state 27 26) entry_head : NAME LBRACE _ key COMMA NAME shift, and go to state 41 NUMBER shift, and go to state 42 key go to state 40 state 28 12) comment : COMMENT LBRACE content _ RBRACE RBRACE shift, and go to state 43 state 29 14) content : CONTENT _ $default reduce using rule 14 (content) state 30 15) preamble : PREAMBLE LBRACE string_value _ RBRACE 19) string_value : string_value _ SHARP string_literal RBRACE shift, and go to state 44 SHARP shift, and go to state 45 state 31 18) string_value : string_literal _ $default reduce using rule 18 (string_value) state 32 20) string_literal : NAME _ $default reduce using rule 20 (string_literal) state 33 21) string_literal : LBRACE _ content RBRACE CONTENT shift, and go to state 29 $default reduce using rule 13 (content) content go to state 46 state 34 22) string_literal : STRING_LITERAL _ $default reduce using rule 22 (string_literal) state 35 16) string : STRING LBRACE string_assignment _ RBRACE RBRACE shift, and go to state 47 state 36 17) string_assignment : NAME _ EQ string_value EQ shift, and go to state 48 state 37 23) entry : entry_head assignments RBRACE _ $default reduce using rule 23 (entry) state 38 24) entry : entry_head assignments COMMA _ RBRACE 31) assignments : assignments COMMA _ assignment NAME shift, and go to state 26 RBRACE shift, and go to state 49 assignment go to state 50 state 39 32) assignment : NAME EQ _ value LBRACE shift, and go to state 33 NAME shift, and go to state 32 NUMBER shift, and go to state 53 STRING_LITERAL shift, and go to state 34 string_literal go to state 31 string_value go to state 51 value go to state 52 state 40 26) entry_head : NAME LBRACE key _ COMMA COMMA shift, and go to state 54 state 41 27) key : NAME _ $default reduce using rule 27 (key) state 42 28) key : NUMBER _ 29) key : NUMBER _ NAME NAME shift, and go to state 55 $default reduce using rule 28 (key) state 43 12) comment : COMMENT LBRACE content RBRACE _ $default reduce using rule 12 (comment) state 44 15) preamble : PREAMBLE LBRACE string_value RBRACE _ $default reduce using rule 15 (preamble) state 45 19) string_value : string_value SHARP _ string_literal LBRACE shift, and go to state 33 NAME shift, and go to state 32 STRING_LITERAL shift, and go to state 34 string_literal go to state 56 state 46 21) string_literal : LBRACE content _ RBRACE RBRACE shift, and go to state 57 state 47 16) string : STRING LBRACE string_assignment RBRACE _ $default reduce using rule 16 (string) state 48 17) string_assignment : NAME EQ _ string_value LBRACE shift, and go to state 33 NAME shift, and go to state 32 STRING_LITERAL shift, and go to state 34 string_value go to state 58 string_literal go to state 31 state 49 24) entry : entry_head assignments COMMA RBRACE _ $default reduce using rule 24 (entry) state 50 31) assignments : assignments COMMA assignment _ $default reduce using rule 31 (assignments) state 51 19) string_value : string_value _ SHARP string_literal 33) value : string_value _ SHARP shift, and go to state 45 $default reduce using rule 33 (value) state 52 32) assignment : NAME EQ value _ $default reduce using rule 32 (assignment) state 53 34) value : NUMBER _ $default reduce using rule 34 (value) state 54 26) entry_head : NAME LBRACE key COMMA _ $default reduce using rule 26 (entry_head) state 55 29) key : NUMBER NAME _ $default reduce using rule 29 (key) state 56 19) string_value : string_value SHARP string_literal _ $default reduce using rule 19 (string_value) state 57 21) string_literal : LBRACE content RBRACE _ $default reduce using rule 21 (string_literal) state 58 17) string_assignment : NAME EQ string_value _ 19) string_value : string_value _ SHARP string_literal SHARP shift, and go to state 45 $default reduce using rule 17 (string_assignment)