// MetaGrammar //////////////////////////////////////////////////////////////////////////////
public Object _star_(Element r) { return new Rep(r, null, false, true); }
- public Element _leftbracket_(Object o, Object[] args) { return rangex(o==null || !(o instanceof Character) ? null : o, args); }
public Union _colon__colon__equals_(String s, PreSequence[][] p) { return nonTerminalZ(s, p); }
public Union _bang__colon__colon__equals_(String s, PreSequence[][] p) { return nonTerminalZ(s, p, true); }
public Union _colon__colon__equals_(boolean q, String s, PreSequence[][] p) { return nonTerminalZ(s, p, q); }
public Range _minus_(char a, char b) { return new Range(a, b); }
public Element rangesx(Range[] rr) { return ranges("~", rr); }
public Element ranges(Range[] rr) { return ranges(null, rr); }
+ public Element _leftbracket_ (Range[] rr) { return ranges(null, rr); }
+ public Element _leftbracket__tilde_(Range[] rr) { return ranges("~", rr); }
public Element ranges(Object o, Range[] rr) {
Range.Set ret = !"~".equals(o+"") ? new Range.Set() : new Range.Set(new Range(true, true));
if (rr != null)
e ::= word => "nonTerminalY"
| [(][)] => "epsilon"
| ^"{" alternatives "}" /ws
- | "[" (range*) "]" => "ranges"
- | "[~" (range*) "]" => "rangesx"
+ | ^"[" (range*) "]"
+ | ^"[~" (range*) "]"
| e ^"+/" e /ws
| e ^"*/" e /ws
| e ^"?" /ws