Current section
Files
Jump to
Current section
Files
priv/test/test_grammar.xml
<?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns="http://elixir.parserbuilder.com/v1.0.0">
<rule id="cs_string">
<cs_literal value="strings"/>
</rule>
<rule id="twoStrings">
<cs_literal value="me"/>
<cs_literal value="you"/>
</rule>
<rule id="caseInsensitive">
<ci_literal value="me"/>
<ci_literal value="you"/>
</rule>
<rule id="ignore1">
<ci_literal value="do"/>
<ignore>
<ci_literal value="ignore"/>
</ignore>
<ci_literal value="this"/>
</rule>
<rule id="tagged1">
<ci_literal value="this"/>
<ci_literal value="is"/>
<tag name="tag1">
<ci_literal value="tagged"/>
</tag>
</rule>
<rule id="replace1">
<ci_literal value="you"/>
<ci_literal value="should"/>
<ci_literal value="replace"/>
<replace value="that">
<ci_literal value="this"/>
</replace>
</rule>
<rule id="ruleRef1">
<ruleRef uri="cs_string"/>
</rule>
<rule id="choice1">
<ci_literal value="me"/>
<oneOf>
<item>
<ci_literal value="and"/>
</item>
<item>
<ci_literal value="or"/>
</item>
</oneOf>
<ci_literal value="you"/>
</rule>
<rule id="choice2">
<ci_literal value="me"/>
<oneOf>
<item>
<ci_literal value="and"/>
<ci_literal value="you"/>
</item>
<item>
<ci_literal value="and"/>
<ci_literal value="him"/>
</item>
</oneOf>
<oneOf>
<item>
<ci_literal value="or"/>
<ci_literal value="us"/>
</item>
<item>
<ci_literal value="or"/>
<ci_literal value="them"/>
</item>
</oneOf>
</rule>
<rule id="many1">
<many>
<ci_literal value="me"/>
</many>
</rule>
<rule id="many2">
<cs_literal value="us"/>
<many>
<oneOf>
<item>
<cs_literal value="me"/>
</item>
<item>
<cs_literal value="you"/>
</item>
</oneOf>
</many>
<cs_literal value="them"/>
<many>
<cs_literal value="you"/>
</many>
</rule>
<rule id="manyOne1">
<manyOne>
<ci_literal value="me"/>
</manyOne>
</rule>
<rule id="literal1">
<literal value="dummy"/>
</rule>
<rule id="optional1">
<literal value="me"/>
<optional>
<literal value="you"/>
</optional>
<literal value="us"/>
</rule>
<rule id="optional2">
<literal value="me"/>
<optional>
<literal value="you"/>
</optional>
</rule>
<rule id="atLeast1">
<atLeast count="2">
<literal value="me"/>
</atLeast>
<literal value="you"/>
</rule>
<rule id="exactly1">
<exactly count="2">
<literal value="me"/>
</exactly>
<literal value="you"/>
</rule>
<rule id="atMost1">
<atMost count="2">
<literal value="me"/>
</atMost>
<literal value="you"/>
</rule>
<rule id="repeat1">
<repeat min="1" max="3">
<literal value="me"/>
</repeat>
<literal value="you"/>
</rule>
<rule id="hex1">
<hexValue value="fc"/>
<literal value="ber"/>
</rule>
<rule id="hexRange1">
<hexRange start="61" end="7A"/>
<literal value="dummy"/>
</rule>
<rule id="untag1">
<untagAndFlatten>
<ruleRef uri="tagged1"/>
</untagAndFlatten>
</rule>
<rule id="backtracking1">
<untagAndFlatten>
<cs_literal value="a"/>
<oneOf>
<item>
<cs_literal value="bcd"/>
</item>
<item>
<cs_literal value="bcde"/>
</item>
<item>
<oneOf>
<item>
<cs_literal value="fgh"/>
</item>
<item>
<cs_literal value="ijk"/>
</item>
</oneOf>
</item>
</oneOf>
</untagAndFlatten>
</rule>
<rule id="SP">
<hexValue value="20"/>
</rule>
<rule id="CLOSE" postprocess="ignore">
<literal value=")"/>
</rule>
<rule id="OPEN" postprocess="ignore">
<literal value="("/>
</rule>
<rule id="anyExpr1">
<tag name="any">
<ignore>
<literal value="any"/>
</ignore>
<ruleRef uri="OPEN"/>
<ruleRef uri="WSP"/>
<optional>
<literal value="lambda"/>
<ignore>
<literal value=":"/>
</ignore>
<literal value="body"/>
</optional>
<ruleRef uri="WSP"/>
<ruleRef uri="CLOSE"/>
</tag>
</rule>
<rule id="WSP" postprocess="ignore">
<many>
<ruleRef uri="SP"/>
</many>
</rule>
<rule id="tagged2">
<tag name="tag1">
<tag name="tag2">
<literal value="me"/>
</tag>
<tag name="tag3">
<literal value="you"/>
</tag>
</tag>
</rule>
<rule id="partial1">
<tag name="bool">
<replace value="true">
<literal value="true"/>
</replace>
</tag>
</rule>
<rule id="optionalAtEnd1">
<literal value="one"/>
<optional>
<literal value="two"/>
</optional>
<optional>
<literal value="three"/>
</optional>
<optional>
<literal value="four"/>
</optional>
</rule>
<rule id="override1">
<literal value="override"/>
</rule>
</grammar>