JAL-1807 still testing
[jalviewjs.git] / unused / 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 compilation of a\r
16  * regular expression.\r
17  */\r
18 public class Rthings\r
19 {\r
20   /**\r
21    * The numeric identity of the next () to be encountered while compiling the\r
22    * pattern.\r
23    */\r
24   public int val = Regex.BackRefOffset;\r
25 \r
26   /**\r
27    * Needed in case (?i) is encountered, to pass back the message that\r
28    * ignoreCase should be set.\r
29    */\r
30   public boolean ignoreCase;\r
31 \r
32   /**\r
33    * Needed in case (?Q) is encountered, to pass back the message that\r
34    * dontMatchInQuotes should be set.\r
35    */\r
36   public boolean dontMatchInQuotes;\r
37 \r
38   public boolean optimizeMe = false;\r
39 \r
40   public boolean noBackRefs = false;\r
41 \r
42   public int parenLevel = 0;\r
43 \r
44   boolean gFlag = false, mFlag = false, sFlag = false;\r
45 \r
46   Pattern p;\r
47 \r
48   Or o;\r
49 \r
50   Rthings(Regex r)\r
51   {\r
52     ignoreCase = r.ignoreCase;\r
53     dontMatchInQuotes = r.dontMatchInQuotes;\r
54   }\r
55 \r
56   void set(Regex r)\r
57   {\r
58     r.gFlag = gFlag;\r
59     r.mFlag = mFlag;\r
60     r.sFlag = sFlag;\r
61     r.ignoreCase = ignoreCase;\r
62     r.dontMatchInQuotes = dontMatchInQuotes;\r
63     if (optimizeMe)\r
64     {\r
65       r.optimize();\r
66     }\r
67   }\r
68 };\r