X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=unused%2Fcom%2Fstevesoft%2Fpat%2FGroup.java;fp=unused%2Fcom%2Fstevesoft%2Fpat%2FGroup.java;h=b467dbc770c33e352aecfdee9d5acf5faec3c26b;hb=6319110ce33faa76ee6cf9832e78faa224510fed;hp=e6f734c20d58cf52b24c2f7b1f7dcd35948aabfa;hpb=7301a2415adab88038b291fc54caeeb3a5a47a44;p=jalviewjs.git diff --git a/unused/com/stevesoft/pat/Group.java b/unused/com/stevesoft/pat/Group.java index e6f734c..b467dbc 100644 --- a/unused/com/stevesoft/pat/Group.java +++ b/unused/com/stevesoft/pat/Group.java @@ -1,77 +1,77 @@ -// -// 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); - } -}; +// +// 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); + } +};