convered maximal to use character lookahead
[sbp.git] / src / edu / berkeley / sbp / tib / Braces.java
1 package edu.berkeley.sbp.tib;
2 import edu.berkeley.sbp.*;
3 import edu.berkeley.sbp.util.*;
4 import edu.berkeley.sbp.*;
5 import edu.berkeley.sbp.*;
6 import edu.berkeley.sbp.Sequence.Position;
7 import edu.berkeley.sbp.*;
8 import java.io.*;
9 import java.util.*;
10 import java.lang.reflect.*;
11 import java.lang.ref.*;
12
13 public class Braces {}/*extends Union {
14
15     private static final Element left  = CharToken.string("{");
16     private static final Element right = CharToken.string("}");
17     
18     public static String join(Object[] e) {
19         StringBuffer ret = new StringBuffer();
20         for(int i=0; i<e.length; i++) {
21             if (i>0) ret.append(" ");
22             ret.append(e[i]);
23         }
24         return ret.toString();
25     }
26
27     public Braces(Element[] e, Element sep) {
28         super("{"+join(e)+"}");
29         Element[] e2 = new Element[sep == null ? e.length+2 : e.length + 4];
30         e2[0]           = left;
31         e2[e2.length-1] = right;
32         if (sep != null) {
33             e2[1] = sep;
34             e2[e2.length-2] = sep;
35         }
36         for(int i=0; i<e.length; i++) e2[i+(sep==null ? 1 : 2)] = e[i];
37         addAlternative(new Sequence.Singleton(e2));
38         addAlternative(new Sequence.Singleton(sep==null ? new Element[] { left, this, right} : new Element[] { left, sep, this, sep, right }));
39     }
40 }
41                       */