needed for applet search
[jalview.git] / src / com / stevesoft / pat / Rthings.java
1 //\r
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
5 // the details.\r
6 //    -- Happy Computing!\r
7 //\r
8 package com.stevesoft.pat;\r
9 \r
10 /** \r
11         Shareware: package pat\r
12    <a href="copyright.html">Copyright 2001, Steven R. Brandt</a>\r
13 */ /**\r
14 This class only exists to store data needed during the\r
15 compilation of a regular expression. */\r
16 public class Rthings {\r
17     /** The numeric identity of the next () to be encountered\r
18          while compiling the pattern. */\r
19     public int val=Regex.BackRefOffset;\r
20     /** Needed in case (?i) is encountered, to pass back the\r
21          message that ignoreCase should be set. */\r
22     public boolean ignoreCase;\r
23     /** Needed in case (?Q) is encountered, to pass back the\r
24          message that dontMatchInQuotes should be set. */\r
25     public boolean dontMatchInQuotes;\r
26     public boolean optimizeMe = false;\r
27     public boolean noBackRefs = false;\r
28     public int parenLevel = 0;\r
29     boolean gFlag = false, mFlag = false, sFlag = false;\r
30     Pattern p;\r
31     Or o;\r
32     Rthings(Regex r) {\r
33         ignoreCase = r.ignoreCase;\r
34         dontMatchInQuotes = r.dontMatchInQuotes;\r
35     }\r
36     void set(Regex r) {\r
37         r.gFlag = gFlag;\r
38         r.mFlag = mFlag;\r
39         r.sFlag = sFlag;\r
40         r.ignoreCase = ignoreCase;\r
41         r.dontMatchInQuotes = dontMatchInQuotes;\r
42         if(optimizeMe) r.optimize();\r
43     }\r
44 };\r