-//\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 word boundary pattern element: \b. */\r
-class Boundary\r
- extends Pattern\r
-{\r
- public String toString()\r
- {\r
- return "\\b" + nextString();\r
- }\r
-\r
- boolean isAChar(char c)\r
- {\r
- if (c >= 'a' && c <= 'z')\r
- {\r
- return true;\r
- }\r
- if (c >= 'A' && c <= 'Z')\r
- {\r
- return true;\r
- }\r
- if (c >= '0' && c <= '9')\r
- {\r
- return true;\r
- }\r
- if (c == '_')\r
- {\r
- return true;\r
- }\r
- return false;\r
- }\r
-\r
- boolean matchLeft(int pos, Pthings pt)\r
- {\r
- if (pos <= 0)\r
- {\r
- return true;\r
- }\r
- if (isAChar(pt.src.charAt(pos))\r
- && isAChar(pt.src.charAt(pos - 1)))\r
- {\r
- return false;\r
- }\r
- return true;\r
- }\r
-\r
- boolean matchRight(int pos, Pthings pt)\r
- {\r
- if (pos < 0)\r
- {\r
- return false;\r
- }\r
- if (pos + 1 >= pt.src.length())\r
- {\r
- return true;\r
- }\r
- if (isAChar(pt.src.charAt(pos))\r
- && isAChar(pt.src.charAt(pos + 1)))\r
- {\r
- return false;\r
- }\r
- return true;\r
- }\r
-\r
- public int matchInternal(int pos, Pthings pt)\r
- {\r
- if (matchRight(pos - 1, pt) || matchLeft(pos, pt))\r
- {\r
- return nextMatch(pos, pt);\r
- }\r
- return -1;\r
- }\r
-\r
- public patInt maxChars()\r
- {\r
- return new patInt(0);\r
- }\r
-\r
- public Pattern clone1(Hashtable h)\r
- {\r
- return new Boundary();\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 word boundary pattern element: \b. */
+class Boundary extends Pattern
+{
+ public String toString()
+ {
+ return "\\b" + nextString();
+ }
+
+ boolean isAChar(char c)
+ {
+ if (c >= 'a' && c <= 'z')
+ {
+ return true;
+ }
+ if (c >= 'A' && c <= 'Z')
+ {
+ return true;
+ }
+ if (c >= '0' && c <= '9')
+ {
+ return true;
+ }
+ if (c == '_')
+ {
+ return true;
+ }
+ return false;
+ }
+
+ boolean matchLeft(int pos, Pthings pt)
+ {
+ if (pos <= 0)
+ {
+ return true;
+ }
+ if (isAChar(pt.src.charAt(pos)) && isAChar(pt.src.charAt(pos - 1)))
+ {
+ return false;
+ }
+ return true;
+ }
+
+ boolean matchRight(int pos, Pthings pt)
+ {
+ if (pos < 0)
+ {
+ return false;
+ }
+ if (pos + 1 >= pt.src.length())
+ {
+ return true;
+ }
+ if (isAChar(pt.src.charAt(pos)) && isAChar(pt.src.charAt(pos + 1)))
+ {
+ return false;
+ }
+ return true;
+ }
+
+ public int matchInternal(int pos, Pthings pt)
+ {
+ if (matchRight(pos - 1, pt) || matchLeft(pos, pt))
+ {
+ return nextMatch(pos, pt);
+ }
+ return -1;
+ }
+
+ public patInt maxChars()
+ {
+ return new patInt(0);
+ }
+
+ public Pattern clone1(Hashtable h)
+ {
+ return new Boundary();
+ }
+};