Start work on new ref API, for giving names to nodes' children
Co-Authored-By: Ayman Nadeem <aymannadeem@gmail.com>
This commit is contained in:
parent
dac13af206
commit
bf4e1304f8
7 changed files with 85 additions and 1 deletions
|
|
@ -26,6 +26,10 @@ enum RuleJSON {
|
|||
CHOICE {
|
||||
members: Vec<RuleJSON>,
|
||||
},
|
||||
REF {
|
||||
value: String,
|
||||
content: Box<RuleJSON>,
|
||||
},
|
||||
SEQ {
|
||||
members: Vec<RuleJSON>,
|
||||
},
|
||||
|
|
@ -120,6 +124,7 @@ fn parse_rule(json: RuleJSON) -> Rule {
|
|||
RuleJSON::PATTERN { value } => Rule::Pattern(value),
|
||||
RuleJSON::SYMBOL { name } => Rule::NamedSymbol(name),
|
||||
RuleJSON::CHOICE { members } => Rule::choice(members.into_iter().map(parse_rule).collect()),
|
||||
RuleJSON::REF { content, value } => parse_rule(*content),
|
||||
RuleJSON::SEQ { members } => Rule::seq(members.into_iter().map(parse_rule).collect()),
|
||||
RuleJSON::REPEAT1 { content } => Rule::repeat(parse_rule(*content)),
|
||||
RuleJSON::REPEAT { content } => {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue