- private static final int REGEX_NBOOTSTRAP = 7;
-
- private static final int REGEX_NDIST = 8;
-
- private static final int REGEX_NO_LINES = 9;
-
- private static final int REGEX_PERL_EXPAND_QUOTES = 10;
-
- private static final int REGEX_MAX = 11;
-
- private static final Regex[] REGEX = new Regex[REGEX_MAX];
-
- private static Regex getRegex(int id)
- {
- if (REGEX[id] == null)
- {
- String code = null;
- String code2 = null;
- String codePerl = null;
- switch (id)
- {
- case REGEX_PERL_NODE_REQUIRE_QUOTE:
- codePerl = "m/[\\[,:'()]/";
- break;
- case REGEX_PERL_NODE_ESCAPE_QUOTE:
- codePerl = "s/'/''/";
- break;
- case REGEX_PERL_NODE_UNQUOTED_WHITESPACE:
- codePerl = "s/\\/w/_/";
- break;
- case REGEX_PERL_EXPAND_QUOTES:
- codePerl = "s/''/'/";
- break;
- case REGEX_MAJOR_SYMS:
- code = "[(\\['),;]";
- break;
- case REGEX_QNODE_NAME:
- code = "'([^']|'')+'";
- break;
- case REGEX_COMMENT:
- code = "]";
- break;
- case REGEX_UQNODE_NAME:
- code = "\\b([^' :;\\](),]+)";
- break;
- case REGEX_NBOOTSTRAP:
- code = "\\s*([0-9+]+)\\s*:";
- break;
- case REGEX_NDIST:
- code = ":([-0-9Ee.+]+)";
- break;
- case REGEX_NO_LINES:
- code = "\n+";
- code2 = "";
- break;
- default:
- return null;
- }
- return codePerl == null ? Platform.newRegex(code, code2)
- : Platform.newRegexPerl(codePerl);
- }
- return REGEX[id];
- }