<?xml version="1.0" standalone="no"?>
<!DOCTYPE grammar PUBLIC "-//Chaperon//DTD grammar 2.0//EN" "grammar-v20.dtd">
<grammar>
 <priority>
  <terminal symbol="plus"/>
 </priority>

 <associativity symbol="plus" type="right"/>

 <production symbol="intervall">
  <terminal symbol="character"/><terminal symbol="minus"/><terminal symbol="character"/>
 </production>

 <production symbol="intervall">
  <terminal symbol="maskedcharacter"/><terminal symbol="minus"/><terminal symbol="character"/>
 </production>

 <production symbol="intervall">
  <terminal symbol="character"/><terminal symbol="minus"/><terminal symbol="maskedcharacter"/>
 </production>

 <production symbol="intervall">
  <terminal symbol="maskedcharacter"/><terminal symbol="minus"/><terminal symbol="maskedcharacter"/>
 </production>

 <production symbol="sequence">
  <nonterminal symbol="sequence"/><nonterminal symbol="intervall"/>
 </production>

 <production symbol="sequence">
  <nonterminal symbol="sequence"/><terminal symbol="character"/>
 </production>

 <production symbol="sequence">
  <nonterminal symbol="sequence"/><terminal symbol="maskedcharacter"/>
 </production>

 <production symbol="sequence">
  <nonterminal symbol="intervall"/>
 </production>

 <production symbol="sequence">
  <terminal symbol="character"/>
 </production>

 <production symbol="sequence">
  <terminal symbol="maskedcharacter"/>
 </production>

 <production symbol="string">
  <nonterminal symbol="string"/><terminal symbol="character"/>
 </production>

<!-- <production symbol="string">
  <nonterminal symbol="string"/><terminal symbol="maskedcharacter"/>
 </production>-->

 <production symbol="string">
  <terminal symbol="character"/>
 </production>

<!-- <production symbol="string">
  <terminal symbol="maskedcharacter"/>
 </production>-->

 <production symbol="characterclass">
  <terminal symbol="ccbegin"/><nonterminal symbol="sequence"/><terminal symbol="ccend"/>
 </production>

 <production symbol="exclusivecharacterclass">
  <terminal symbol="ccbegin"/><terminal symbol="hat"/><nonterminal symbol="sequence"/><terminal symbol="ccend"/>
 </production>

 <production symbol="regexdot">
  <terminal symbol="regexdot"/>
 </production>

 <production symbol="regexbol">
  <terminal symbol="hat"/>
 </production>

 <production symbol="regexeol">
  <terminal symbol="dollar"/>
 </production>

 <production symbol="regexklammer">
  <terminal symbol="dopen"/><nonterminal symbol="regexalternation"/><terminal symbol="dclose"/>
 </production>

 <production symbol="regexabref">
  <terminal symbol="abopen"/><nonterminal symbol="string"/><terminal symbol="abclose"/>
 </production>

 <production symbol="regexterm">
  <nonterminal symbol="characterclass"/>
 </production>

 <production symbol="regexterm">
  <nonterminal symbol="exclusivecharacterclass"/>
 </production>

 <production symbol="regexterm">
  <nonterminal symbol="regexklammer"/>
 </production>

 <production symbol="regexterm">
  <nonterminal symbol="string"/>
 </production>

 <production symbol="regexterm">
  <terminal symbol="maskedcharacter"/>
 </production>

 <production symbol="regexterm">
  <nonterminal symbol="regexdot"/>
 </production>

 <production symbol="regexterm">
  <nonterminal symbol="regexbol"/>
 </production>

 <production symbol="regexterm">
  <nonterminal symbol="regexabref"/>
 </production>

 <production symbol="regexoptional">
  <nonterminal symbol="regexterm"/><terminal symbol="questionmark"/>
 </production>

 <production symbol="regexstar">
  <nonterminal symbol="regexterm"/><terminal symbol="mult"/>
 </production>

 <production symbol="regexplus">
  <nonterminal symbol="regexterm"/><terminal symbol="plus"/>
 </production>

 <production symbol="regexmultiplicator">
  <terminal symbol="copen"/><nonterminal symbol="string"/><terminal symbol="cclose"/>
 </production>

 <production symbol="regexmultiplicator">
  <terminal symbol="copen"/><nonterminal symbol="string"/>
  <terminal symbol="comma"/><nonterminal symbol="string"/><terminal symbol="cclose"/>
 </production>

 <production symbol="regexvar">
  <nonterminal symbol="regexterm"/><nonterminal symbol="regexmultiplicator"/>
 </production>

 <production symbol="regexquantifier">
  <nonterminal symbol="regexoptional"/>
 </production>

 <production symbol="regexquantifier">
  <nonterminal symbol="regexstar"/>
 </production>

 <production symbol="regexquantifier">
  <nonterminal symbol="regexplus"/>
 </production>

 <production symbol="regexquantifier" precedence="plus">
  <nonterminal symbol="regexterm"/>
 </production>

 <production symbol="regexquantifier">
  <nonterminal symbol="regexvar"/>
 </production>

 <production symbol="regexconcatenation">
  <nonterminal symbol="regexconcatenation"/><nonterminal symbol="regexquantifier"/>
 </production>

 <production symbol="regexconcatenation">
  <nonterminal symbol="regexquantifier"/>
 </production>

 <production symbol="regexalternation">
  <nonterminal symbol="regexalternation"/><terminal symbol="alt"/><nonterminal symbol="regexconcatenation"/>
 </production>

 <production symbol="regexalternation">
  <nonterminal symbol="regexconcatenation"/>
 </production>

 <production symbol="regexexpression">
  <nonterminal symbol="regexalternation"/>
 </production>

 <start symbol="regexexpression"/>
</grammar>
