NAME
YAML::PP::Grammar
GRAMMAR
This is the Grammar in YAML
# START OF YAML INLINE
# DO NOT CHANGE THIS
# This grammar is automatically generated from etc/grammar.yaml
---
NODETYPE_NODE:
DASH:
match: cb_seqstart
EOL: { node: FULLNODE , return: 1}
WS: { node: FULLNODE }
DEFAULT: { new: NODETYPE_SCALAR_OR_MAP }
NODETYPE_SCALAR_OR_MAP:
ALIAS:
match: cb_alias
EOL: { match: cb_send_alias_from_stack, return: 1 }
WS:
COLON:
match: cb_insert_map_alias
EOL: { node: FULLNODE, return: 1 }
WS: { node: FULLMAPVALUE_INLINE }
QUESTION:
match: cb_questionstart
EOL: { node: FULLNODE, return: 1 }
WS: { node: FULLNODE, return: 1 }
SINGLEQUOTE:
match: cb_start_quoted
SINGLEQUOTED:
match: cb_take
SINGLEQUOTE:
EOL: { match: cb_send_scalar, return: 1 }
COLON:
match: cb_insert_map
EOL: { node: FULLNODE, return: 1 }
WS: { node: FULLMAPVALUE_INLINE, return: 1 }
WS:
COLON:
match: cb_insert_map
EOL: { node: FULLNODE, return: 1 }
WS: { node: FULLMAPVALUE_INLINE, return: 1 }
SINGLEQUOTED_LINE:
match: cb_take
EOL: { match: cb_fetch_tokens_quoted, new: MULTILINE_SINGLEQUOTED }
DOUBLEQUOTE:
match: cb_start_quoted
DOUBLEQUOTED:
match: cb_take
DOUBLEQUOTE:
EOL: { match: cb_send_scalar, return: 1 }
WS:
COLON:
match: cb_insert_map
EOL: { node: FULLNODE , return: 1}
WS: { node: FULLMAPVALUE_INLINE, return: 1 }
COLON:
match: cb_insert_map
EOL: { node: FULLNODE , return: 1}
WS: { node: FULLMAPVALUE_INLINE, return: 1 }
DOUBLEQUOTED_LINE:
match: cb_take
EOL: { match: cb_fetch_tokens_quoted, new: MULTILINE_DOUBLEQUOTED }
PLAIN:
match: cb_start_plain
COMMENT:
match: cb_send_scalar
EOL: { return: 1 }
EOL: { match: cb_fetch_tokens_plain, new: RULE_PLAIN_MULTI }
WS:
COLON:
match: cb_insert_map
EOL: { node: FULLNODE , return: 1}
WS: { node: FULLMAPVALUE_INLINE, return: 1 }
COLON:
match: cb_insert_map
EOL: { node: FULLNODE , return: 1}
WS: { node: FULLMAPVALUE_INLINE, return: 1 }
COLON:
match: cb_insert_empty_map
EOL: { node: FULLNODE , return: 1}
WS: { node: FULLMAPVALUE_INLINE, return: 1 }
LITERAL:
match: cb_block_scalar
new: RULE_BLOCK_SCALAR_HEADER
FOLDED:
match: cb_block_scalar
new: RULE_BLOCK_SCALAR_HEADER
FLOWSEQ_START:
match: cb_start_flowseq
DEFAULT: { new: NEWFLOWSEQ }
FLOWMAP_START:
match: cb_start_flowmap
DEFAULT: { new: NEWFLOWMAP }
NODETYPE_COMPLEX:
COLON:
match: cb_complexcolon
EOL: { node: FULLNODE, return: 1 }
WS: { node: FULLNODE, return: 1 }
DEFAULT:
match: cb_empty_complexvalue
new: NODETYPE_MAP
MULTILINE_SINGLEQUOTED:
SINGLEQUOTED_LINE:
match: cb_take
EOL: { match: cb_fetch_tokens_quoted, new: MULTILINE_SINGLEQUOTED }
SINGLEQUOTE:
EOL: { match: cb_send_scalar, return: 1 }
DEFAULT: { match: cb_send_scalar, return: 1 }
EOL: { match: cb_empty_quoted_line, new: MULTILINE_SINGLEQUOTED }
MULTILINE_DOUBLEQUOTED:
DOUBLEQUOTED_LINE:
match: cb_take
EOL: { match: cb_fetch_tokens_quoted, new: MULTILINE_DOUBLEQUOTED }
DOUBLEQUOTE:
EOL: { match: cb_send_scalar, return: 1 }
DEFAULT: { match: cb_send_scalar, return: 1 }
EOL: { match: cb_empty_quoted_line, new: MULTILINE_DOUBLEQUOTED }
RULE_FULLFLOWSCALAR:
ANCHOR:
match: cb_anchor
WS:
TAG:
match: cb_tag
WS: { new: RULE_FLOWSCALAR }
DEFAULT: { new: RULE_FLOWSCALAR }
EOL: { new: RULE_FULLFLOWSCALAR_ANCHOR, return: 1 }
DEFAULT: { new: RULE_FLOWSCALAR }
TAG:
match: cb_tag
WS:
ANCHOR:
match: cb_anchor
WS: { new: RULE_FLOWSCALAR }
DEFAULT: { new: RULE_FLOWSCALAR }
EOL: { new: RULE_FULLFLOWSCALAR_TAG, return: 1 }
DEFAULT: { new: RULE_FLOWSCALAR }
DEFAULT: { new: RULE_FLOWSCALAR }
RULE_FULLFLOWSCALAR_TAG:
ANCHOR:
match: cb_anchor
WS: { new: RULE_FLOWSCALAR }
EOL: { new: RULE_FLOWSCALAR, return: 1 }
DEFAULT: { new: RULE_FLOWSCALAR }
RULE_FLOWSCALAR:
FLOWSEQ_START:
match: cb_start_flowseq
DEFAULT: { new: NEWFLOWSEQ }
FLOWMAP_START:
match: cb_start_flowmap
DEFAULT: { new: NEWFLOWMAP }
ALIAS:
match: cb_send_alias
return: 1
SINGLEQUOTE:
match: cb_start_quoted
SINGLEQUOTED:
match: cb_take
SINGLEQUOTE:
EOL: { match: cb_send_scalar, return: 1 }
WS: { match: cb_send_scalar, return: 1 }
SINGLEQUOTED_LINE:
match: cb_take
EOL: { match: cb_fetch_tokens_quoted, new: MULTILINE_SINGLEQUOTED }
DOUBLEQUOTE:
match: cb_start_quoted
DOUBLEQUOTED:
match: cb_take
DOUBLEQUOTE:
EOL: { match: cb_send_scalar, return: 1 }
WS: { match: cb_send_scalar, return: 1 }
DEFAULT: { match: cb_send_scalar, return: 1 }
DOUBLEQUOTED_LINE:
match: cb_take
EOL: { match: cb_fetch_tokens_quoted, new: MULTILINE_DOUBLEQUOTED }
PLAIN:
match: cb_start_plain
EOL: { match: cb_fetch_tokens_plain, new: RULE_PLAIN_MULTI_FLOW }
COMMENT:
match: cb_send_scalar
return: 1
DEFAULT:
match: cb_send_scalar
return: 1
# DEFAULT: { match: cb_empty_flowmap_value, return: 1 }
NEWFLOWSEQ:
EOL: { new: NEWFLOWSEQ, return: 1 }
WS: { new: NEWFLOWSEQ }
FLOWSEQ_END:
match: cb_end_flowseq
EOL: { return: 1 }
DEFAULT: { return: 1 }
DEFAULT: { new: RULE_FULLFLOWSCALAR }
NODETYPE_FLOWSEQ:
EOL: { new: NODETYPE_FLOWSEQ, return: 1 }
WS: { new: NODETYPE_FLOWSEQ }
FLOWSEQ_END:
match: cb_end_flowseq
EOL: { return: 1 }
DEFAULT: { return: 1 }
FLOW_COMMA: { match: cb_flow_comma, new: NEWFLOWSEQ }
NODETYPE_FLOWMAPVALUE:
COLON:
match: cb_flow_colon
WS: { new: RULE_FULLFLOWSCALAR }
EOL: { new: RULE_FULLFLOWSCALAR, return: 1 }
DEFAULT: { new: RULE_FULLFLOWSCALAR }
WS: { new: NODETYPE_FLOWMAPVALUE }
DEFAULT:
match: cb_empty_flowmap_value
return: 1
NEWFLOWMAP:
EOL: { new: NEWFLOWMAP, return: 1 }
WS: { new: NEWFLOWMAP }
FLOWMAP_END:
match: cb_end_flowmap
EOL: { return: 1 }
DEFAULT: { return: 1 }
DEFAULT: { new: RULE_FULLFLOWSCALAR }
NODETYPE_FLOWMAP:
EOL: { new: NODETYPE_FLOWMAP, return: 1 }
WS: { new: NODETYPE_FLOWMAP }
FLOWMAP_END:
match: cb_end_flowmap
EOL: { return: 1 }
DEFAULT: { return: 1 }
FLOW_COMMA: { match: cb_flow_comma, new: NEWFLOWMAP }
DEFAULT: { new: RULE_FULLFLOWSCALAR }
RULE_PLAIN_MULTI:
END: { match: cb_send_scalar, return: 1 }
EOL: { match: cb_empty_plain, new: RULE_PLAIN_MULTI }
WS:
PLAIN:
match: cb_take
EOL: { match: cb_fetch_tokens_plain, new: RULE_PLAIN_MULTI }
COMMENT:
EOL: { match: cb_send_scalar, return: 1 }
INDENT:
WS:
PLAIN:
match: cb_take
EOL: { match: cb_fetch_tokens_plain, new: RULE_PLAIN_MULTI }
COMMENT:
EOL: { match: cb_send_scalar, return: 1 }
RULE_PLAIN_MULTI_FLOW:
END: { match: cb_send_scalar, return: 1 }
EOL: { match: cb_empty_plain, new: RULE_PLAIN_MULTI }
WS:
PLAIN:
match: cb_take
EOL: { match: cb_fetch_tokens_plain, new: RULE_PLAIN_MULTI }
COMMENT:
EOL: { match: cb_send_scalar, return: 1 }
INDENT:
WS:
PLAIN:
match: cb_take
EOL: { match: cb_fetch_tokens_plain, new: RULE_PLAIN_MULTI_FLOW }
COMMENT:
EOL: { match: cb_send_scalar, return: 1 }
DEFAULT: { match: cb_send_scalar, return: 1 }
DEFAULT: { match: cb_send_scalar, return: 1 }
DEFAULT: { match: cb_send_scalar, return: 1 }
RULE_MAPKEY:
QUESTION:
match: cb_question
EOL: { node: FULLNODE , return: 1}
WS: { node: FULLNODE , return: 1}
ALIAS:
match: cb_send_alias
WS:
COLON:
EOL: { node: FULLNODE , return: 1}
WS: { node: FULLMAPVALUE_INLINE, return: 1 }
DOUBLEQUOTE:
match: cb_start_quoted
DOUBLEQUOTED:
match: cb_take
DOUBLEQUOTE:
match: cb_send_mapkey
WS:
COLON:
EOL: { node: FULLNODE , return: 1}
WS: { node: FULLMAPVALUE_INLINE, return: 1 }
COLON:
EOL: { node: FULLNODE , return: 1}
WS: { node: FULLMAPVALUE_INLINE, return: 1 }
SINGLEQUOTE:
match: cb_start_quoted
SINGLEQUOTED:
match: cb_take
SINGLEQUOTE:
match: cb_send_mapkey
WS:
COLON:
EOL: { node: FULLNODE , return: 1}
WS: { node: FULLMAPVALUE_INLINE, return: 1 }
COLON:
EOL: { node: FULLNODE , return: 1}
WS: { node: FULLMAPVALUE_INLINE, return: 1 }
PLAIN:
match: cb_mapkey
WS:
COLON:
match: cb_send_mapkey
EOL: { node: FULLNODE , return: 1}
WS: { node: FULLMAPVALUE_INLINE, return: 1 }
COLON:
match: cb_send_mapkey
EOL: { node: FULLNODE , return: 1}
WS: { node: FULLMAPVALUE_INLINE, return: 1 }
COLON:
match: cb_empty_mapkey
EOL: { node: FULLNODE , return: 1}
WS: { node: FULLMAPVALUE_INLINE, return: 1 }
NODETYPE_SEQ:
DASH:
match: cb_seqitem
EOL: { node: FULLNODE , return: 1}
WS: { node: FULLNODE }
RULE_BLOCK_SCALAR_HEADER:
BLOCK_SCALAR_INDENT:
match: cb_add_block_scalar_indent
BLOCK_SCALAR_CHOMP:
match: cb_add_block_scalar_chomp
EOL:
match: cb_fetch_tokens_block_scalar
new: RULE_BLOCK_SCALAR_START
EOL:
match: cb_fetch_tokens_block_scalar
new: RULE_BLOCK_SCALAR_START
BLOCK_SCALAR_CHOMP:
match: cb_add_block_scalar_chomp
BLOCK_SCALAR_INDENT:
match: cb_add_block_scalar_indent
EOL:
match: cb_fetch_tokens_block_scalar
new: RULE_BLOCK_SCALAR_START
EOL:
match: cb_fetch_tokens_block_scalar
new: RULE_BLOCK_SCALAR_START
EOL:
match: cb_fetch_tokens_block_scalar
new: RULE_BLOCK_SCALAR_START
RULE_BLOCK_SCALAR_START:
EOL: { match: cb_block_scalar_empty_line, new: RULE_BLOCK_SCALAR_START }
INDENT:
match: cb_block_scalar_start_indent
EOL: { match: cb_block_scalar_empty_line, new: RULE_BLOCK_SCALAR_START }
BLOCK_SCALAR_CONTENT:
match: cb_block_scalar_start_content
EOL: { match: cb_fetch_tokens_block_scalar, new: RULE_BLOCK_SCALAR_CONTENT }
END: { match: cb_send_scalar, return: 1 }
RULE_BLOCK_SCALAR_CONTENT:
EOL: { match: cb_block_scalar_empty_line, new: RULE_BLOCK_SCALAR_CONTENT }
INDENT:
EOL: { match: cb_block_scalar_empty_line, new: RULE_BLOCK_SCALAR_CONTENT }
BLOCK_SCALAR_CONTENT:
match: cb_block_scalar_content
EOL: { match: cb_fetch_tokens_block_scalar, new: RULE_BLOCK_SCALAR_CONTENT }
END: { match: cb_send_scalar, return: 1 }
NODETYPE_MAP:
ANCHOR:
match: cb_anchor
WS:
TAG:
match: cb_tag
WS: { new: RULE_MAPKEY }
DEFAULT: { new: RULE_MAPKEY }
TAG:
match: cb_tag
WS:
ANCHOR:
match: cb_anchor
WS: { new: RULE_MAPKEY }
DEFAULT: { new: RULE_MAPKEY }
DEFAULT: { new: RULE_MAPKEY }
FULLNODE_ANCHOR:
TAG:
match: cb_tag
EOL: { match: cb_property_eol, new: FULLNODE_TAG_ANCHOR , return: 1}
WS:
ANCHOR:
match: cb_anchor
WS: { new: NODETYPE_SCALAR_OR_MAP }
DEFAULT: { new: NODETYPE_SCALAR_OR_MAP }
ANCHOR:
match: cb_anchor
WS:
TAG:
match: cb_tag
WS: { new: NODETYPE_SCALAR_OR_MAP }
DEFAULT: { new: NODETYPE_SCALAR_OR_MAP }
DEFAULT: { new: NODETYPE_NODE }
FULLNODE_TAG:
ANCHOR:
match: cb_anchor
EOL: { match: cb_property_eol, new: FULLNODE_TAG_ANCHOR , return: 1}
WS:
TAG:
match: cb_tag
WS: { new: NODETYPE_SCALAR_OR_MAP }
DEFAULT: { new: NODETYPE_SCALAR_OR_MAP, }
TAG:
match: cb_tag
WS:
ANCHOR:
match: cb_anchor
WS: { new: NODETYPE_SCALAR_OR_MAP }
DEFAULT: { new: NODETYPE_SCALAR_OR_MAP }
DEFAULT: { new: NODETYPE_NODE }
FULLNODE_TAG_ANCHOR:
ANCHOR:
match: cb_anchor
WS:
TAG:
match: cb_tag
WS: { new: NODETYPE_SCALAR_OR_MAP }
DEFAULT: { new: NODETYPE_SCALAR_OR_MAP }
TAG:
match: cb_tag
WS:
ANCHOR:
match: cb_anchor
WS: { new: NODETYPE_SCALAR_OR_MAP }
DEFAULT: { new: NODETYPE_SCALAR_OR_MAP }
DEFAULT: { new: NODETYPE_NODE }
FULLNODE:
ANCHOR:
match: cb_anchor
EOL: { match: cb_property_eol, new: FULLNODE_ANCHOR , return: 1}
WS:
TAG:
match: cb_tag
EOL: { match: cb_property_eol, new: FULLNODE_TAG_ANCHOR , return: 1}
WS: { new: NODETYPE_SCALAR_OR_MAP }
DEFAULT: { new: NODETYPE_SCALAR_OR_MAP }
TAG:
match: cb_tag
EOL: { match: cb_property_eol, new: FULLNODE_TAG , return: 1}
WS:
ANCHOR:
match: cb_anchor
EOL: { match: cb_property_eol, new: FULLNODE_TAG_ANCHOR , return: 1}
WS: { new: NODETYPE_SCALAR_OR_MAP }
DEFAULT: { new: NODETYPE_SCALAR_OR_MAP }
DEFAULT: { new: NODETYPE_NODE }
FULLMAPVALUE_INLINE:
ANCHOR:
match: cb_anchor
EOL: { match: cb_property_eol, new: FULLNODE_ANCHOR , return: 1}
WS:
TAG:
match: cb_tag
EOL: { match: cb_property_eol, new: FULLNODE_TAG_ANCHOR , return: 1}
WS: { new: NODETYPE_MAPVALUE_INLINE }
DEFAULT: { new: NODETYPE_MAPVALUE_INLINE }
TAG:
match: cb_tag
EOL: { match: cb_property_eol, new: FULLNODE_TAG , return: 1}
WS:
ANCHOR:
match: cb_anchor
EOL: { match: cb_property_eol, new: FULLNODE_TAG_ANCHOR , return: 1}
WS: { new: NODETYPE_MAPVALUE_INLINE }
DEFAULT: { new: NODETYPE_MAPVALUE_INLINE }
DEFAULT: { new: NODETYPE_MAPVALUE_INLINE }
NODETYPE_MAPVALUE_INLINE:
ALIAS:
match: cb_send_alias
EOL: { return: 1 }
SINGLEQUOTE:
match: cb_start_quoted
SINGLEQUOTED:
match: cb_take
SINGLEQUOTE:
EOL: { match: cb_send_scalar, return: 1 }
SINGLEQUOTED_LINE:
match: cb_take
EOL: { match: cb_fetch_tokens_quoted, new: MULTILINE_SINGLEQUOTED }
DOUBLEQUOTE:
match: cb_start_quoted
DOUBLEQUOTED:
match: cb_take
DOUBLEQUOTE:
EOL: { match: cb_send_scalar, return: 1 }
DOUBLEQUOTED_LINE:
match: cb_take
EOL: { match: cb_fetch_tokens_quoted, new: MULTILINE_DOUBLEQUOTED }
PLAIN:
match: cb_start_plain
COMMENT:
match: cb_send_scalar
EOL: { return: 1 }
EOL: { match: cb_fetch_tokens_plain, new: RULE_PLAIN_MULTI }
LITERAL:
match: cb_block_scalar
new: RULE_BLOCK_SCALAR_HEADER
FOLDED:
match: cb_block_scalar
new: RULE_BLOCK_SCALAR_HEADER
FLOWSEQ_START:
match: cb_start_flowseq
DEFAULT: { new: NEWFLOWSEQ }
FLOWMAP_START:
match: cb_start_flowmap
DEFAULT: { new: NEWFLOWMAP }
# END OF YAML INLINE