Formatting
[jalview.git] / src / com / stevesoft / pat / Group.java
index 4f73114..4f538b5 100755 (executable)
@@ -6,37 +6,70 @@
 //    -- Happy Computing!\r
 //\r
 package com.stevesoft.pat;\r
-import java.util.Hashtable;\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 extends Pattern {\r
-    char op,cl;\r
-    Group(char opi,char cli) {\r
-        op = opi;\r
-        cl = cli;\r
-    }\r
-    public int matchInternal(int pos,Pthings pt) {\r
-        int i,count=1;\r
-        if(pos < pt.src.length())\r
-            if(!Masked(pos,pt) && pt.src.charAt(pos) != op)\r
-                return -1;\r
-        for(i=pos+1;i<pt.src.length();i++) {\r
-            char c = pt.src.charAt(i);\r
-            boolean b = !Masked(i,pt);\r
-            if(b && c == ESC) {\r
-                i++;\r
-            } else {\r
-                if(b && c == cl) count--;\r
-                if(count == 0) return nextMatch(i+1,pt);\r
-                if(b && c == op) count++;\r
-            }\r
-        }\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
-    public String toString() {\r
-        return "(?@"+op+cl+")"+nextString();\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
-    public patInt minChars() { return new patInt(2); }\r
-    Pattern clone1(Hashtable h) { return new Group(op,cl); }\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