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.*;
10 import java.lang.reflect.*;
11 import java.lang.ref.*;
13 public class Braces {}/*extends Union {
15 private static final Element left = CharToken.string("{");
16 private static final Element right = CharToken.string("}");
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(" ");
24 return ret.toString();
27 public Braces(Element[] e, Element sep) {
28 super("{"+join(e)+"}");
29 Element[] e2 = new Element[sep == null ? e.length+2 : e.length + 4];
31 e2[e2.length-1] = right;
34 e2[e2.length-2] = sep;
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 }));