Formatting
[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 /**\r
15  This class only exists to store data needed during the\r
16  compilation of a regular expression. */\r
17 public class Rthings\r
18 {\r
19   /** The numeric identity of the next () to be encountered\r
20        while compiling the pattern. */\r
21   public int val = Regex.BackRefOffset;\r
22   /** Needed in case (?i) is encountered, to pass back the\r
23        message that ignoreCase should be set. */\r
24   public boolean ignoreCase;\r
25   /** Needed in case (?Q) is encountered, to pass back the\r
26        message that dontMatchInQuotes should be set. */\r
27   public boolean dontMatchInQuotes;\r
28   public boolean optimizeMe = false;\r
29   public boolean noBackRefs = false;\r
30   public int parenLevel = 0;\r
31   boolean gFlag = false, mFlag = false, sFlag = false;\r
32   Pattern p;\r
33   Or o;\r
34   Rthings(Regex r)\r
35   {\r
36     ignoreCase = r.ignoreCase;\r
37     dontMatchInQuotes = r.dontMatchInQuotes;\r
38   }\r
39 \r
40   void set(Regex r)\r
41   {\r
42     r.gFlag = gFlag;\r
43     r.mFlag = mFlag;\r
44     r.sFlag = sFlag;\r
45     r.ignoreCase = ignoreCase;\r
46     r.dontMatchInQuotes = dontMatchInQuotes;\r
47     if (optimizeMe)\r
48     {\r
49       r.optimize();\r
50     }\r
51   }\r
52 };\r