merge from 2_4_Release branch
[jalview.git] / src / com / stevesoft / pat / Group.java
index 4f538b5..e6f734c 100755 (executable)
@@ -1,75 +1,77 @@
-//\r
-// This software is now distributed according to\r
-// the Lesser Gnu Public License.  Please see\r
-// http://www.gnu.org/copyleft/lesser.txt for\r
-// the details.\r
-//    -- Happy Computing!\r
-//\r
-package com.stevesoft.pat;\r
-\r
-import java.util.*;\r
-\r
-/** This class implements the (?@<>) syntax that matches\r
- a balanced parenthesis.  Not in perl 5. */\r
-class Group\r
-    extends Pattern\r
-{\r
-  char op, cl;\r
-  Group(char opi, char cli)\r
-  {\r
-    op = opi;\r
-    cl = cli;\r
-  }\r
-\r
-  public int matchInternal(int pos, Pthings pt)\r
-  {\r
-    int i, count = 1;\r
-    if (pos < pt.src.length())\r
-    {\r
-      if (!Masked(pos, pt) && pt.src.charAt(pos) != op)\r
-      {\r
-        return -1;\r
-      }\r
-    }\r
-    for (i = pos + 1; i < pt.src.length(); i++)\r
-    {\r
-      char c = pt.src.charAt(i);\r
-      boolean b = !Masked(i, pt);\r
-      if (b && c == ESC)\r
-      {\r
-        i++;\r
-      }\r
-      else\r
-      {\r
-        if (b && c == cl)\r
-        {\r
-          count--;\r
-        }\r
-        if (count == 0)\r
-        {\r
-          return nextMatch(i + 1, pt);\r
-        }\r
-        if (b && c == op)\r
-        {\r
-          count++;\r
-        }\r
-      }\r
-    }\r
-    return -1;\r
-  }\r
-\r
-  public String toString()\r
-  {\r
-    return "(?@" + op + cl + ")" + nextString();\r
-  }\r
-\r
-  public patInt minChars()\r
-  {\r
-    return new patInt(2);\r
-  }\r
-\r
-  Pattern clone1(Hashtable h)\r
-  {\r
-    return new Group(op, cl);\r
-  }\r
-};\r
+//
+// This software is now distributed according to
+// the Lesser Gnu Public License.  Please see
+// http://www.gnu.org/copyleft/lesser.txt for
+// the details.
+//    -- Happy Computing!
+//
+package com.stevesoft.pat;
+
+import java.util.*;
+
+/**
+ * This class implements the (?@<>) syntax that matches a balanced parenthesis.
+ * Not in perl 5.
+ */
+class Group extends Pattern
+{
+  char op, cl;
+
+  Group(char opi, char cli)
+  {
+    op = opi;
+    cl = cli;
+  }
+
+  public int matchInternal(int pos, Pthings pt)
+  {
+    int i, count = 1;
+    if (pos < pt.src.length())
+    {
+      if (!Masked(pos, pt) && pt.src.charAt(pos) != op)
+      {
+        return -1;
+      }
+    }
+    for (i = pos + 1; i < pt.src.length(); i++)
+    {
+      char c = pt.src.charAt(i);
+      boolean b = !Masked(i, pt);
+      if (b && c == ESC)
+      {
+        i++;
+      }
+      else
+      {
+        if (b && c == cl)
+        {
+          count--;
+        }
+        if (count == 0)
+        {
+          return nextMatch(i + 1, pt);
+        }
+        if (b && c == op)
+        {
+          count++;
+        }
+      }
+    }
+    return -1;
+  }
+
+  public String toString()
+  {
+    return "(?@" + op + cl + ")" + nextString();
+  }
+
+  public patInt minChars()
+  {
+    return new patInt(2);
+  }
+
+  Pattern clone1(Hashtable h)
+  {
+    return new Group(op, cl);
+  }
+};