public PreSequence rewrite(Object[] o) { return new PreSequence(o, null); }
public PreSequence _equals__greater_(Object[] o, String s) { return new PreSequence(o, s); }
- public Object[] seq(Object[] o, Object sep) {
- return sep==null ? o : _slash_(o, sep);
- }
+ public PreSequence seq(Object[] o, Object sep, String tag) { return new PreSequence(sep==null ? o : _slash_(o, sep), tag); }
public Object[] seq(Object[] o) { return o; }
public Object[] _slash_(Object[] o, Object sep) {
if (o.length <= 1) return o;
| rewrite ^"&" e*/ws /ws
| rewrite ^"&~" e*/ws /ws
-sequence ::= e*/ws (ws "/" e)? => "seq"
+sequence ::= e*/ws
+ (ws "/" e)?
+ (ws "=>" ws (word|quoted))? => "seq"
-rewrite ::= sequence /ws => "rewrite"
- | sequence ^"=>" (word|quoted) /ws
+rewrite ::= sequence
ec ::= [~\-\]\\\~]
| escaped
| "//" ([~\n]*) "\n"
| "\n"
| "\r"
-an ::= [a-zA-Z0-9_]
-word ::= an++
+word ::= [a-zA-Z0-9_]++
quoted ::= "\"" (([~\"\\] | escaped)+) "\""
| "\"\"" => ""
escaped ::= "\\n" => "\n"