2 // This software is now distributed according to
\r
3 // the Lesser Gnu Public License. Please see
\r
4 // http://www.gnu.org/copyleft/lesser.txt for
\r
6 // -- Happy Computing!
\r
8 package com.stevesoft.pat;
\r
12 /** Implements the parenthesis pattern subelement.*/
\r
16 SubMark sm = new SubMark();
\r
29 public Pattern getNext()
\r
34 public int matchInternal(int pos, Pthings pt)
\r
36 sm.next = super.getNext();
\r
37 if (pt.marks == null)
\r
39 int n2 = 2 * pt.nMarks + 2;
\r
40 pt.marks = new int[n2];
\r
41 for (int i = 0; i < n2; i++)
\r
47 int ret = super.matchInternal(pos, pt);
\r
52 else if (pt.marks[id] > pt.marks[id + pt.nMarks])
\r
54 int swap = pt.marks[id];
\r
55 pt.marks[id] = pt.marks[id + pt.nMarks] + 1;
\r
56 pt.marks[id + pt.nMarks] = swap + 1;
\r
61 public Pattern clone1(Hashtable h)
\r
63 OrMark om = new OrMark(id);
\r
66 for (int i = 0; i < v.size(); i++)
\r
68 om.v.addElement( ( (Pattern) v.elementAt(i)).clone(h));
\r