From f6442757535770ca45d6173a0a4a4486aae8bfe3 Mon Sep 17 00:00:00 2001 From: oneQAQone <3900183615@qq.com> Date: Sat, 30 May 2026 03:21:21 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=BC=95=E5=85=A5=E9=A2=84=E5=A4=84?= =?UTF-8?q?=E7=90=86=E5=99=A8=E8=A7=A3=E5=86=B3=E6=B3=9B=E5=9E=8B=E8=AF=AD?= =?UTF-8?q?=E6=B3=95=E6=97=A0=E6=B3=95=E8=A7=A3=E6=9E=90=E9=97=AE=E9=A2=98?= =?UTF-8?q?=20(Issue=20#66)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 主要改动要点如下: - 目的:解决泛型引起的语法报错,使复制过来的标准 Java 代码可直接运行 - 实现:在词法解析前增加预处理环节,对脚本中的泛型符号进行擦除 - 规则:对泛型定义仅保留第一边界类型(Upper Bound),其余擦除为 Object 或空格 - 调整:移除 jjt 词法中原有的 TYPE_PARAMATERS 过滤规则并重新生成解析器文件 --- .../src/main/java/bsh/Interpreter.java | 2 + .../src/main/java/bsh/Parser.java | 200 +-- .../src/main/java/bsh/ParserConstants.java | 293 ++- .../src/main/java/bsh/ParserTokenManager.java | 1567 ++++++++--------- .../bsh/preprocess/GenericsPreprocessor.java | 768 ++++++++ .../src/main/jjtree/bsh.jjt | 1 - 6 files changed, 1768 insertions(+), 1063 deletions(-) create mode 100644 bsh-lambda-300-eee36c8/src/main/java/bsh/preprocess/GenericsPreprocessor.java diff --git a/bsh-lambda-300-eee36c8/src/main/java/bsh/Interpreter.java b/bsh-lambda-300-eee36c8/src/main/java/bsh/Interpreter.java index 6131c42..86a86b2 100644 --- a/bsh-lambda-300-eee36c8/src/main/java/bsh/Interpreter.java +++ b/bsh-lambda-300-eee36c8/src/main/java/bsh/Interpreter.java @@ -50,6 +50,7 @@ import bsh.module.BshModule; import bsh.preprocess.AnnotationIgnorePreprocess; import bsh.preprocess.DefaultArgsDesugar; +import bsh.preprocess.GenericsPreprocessor; import bsh.preprocess.KtStringTemplate; import bsh.security.MainSecurityGuard; import bsh.snapshot.BshSnapshot; @@ -1018,6 +1019,7 @@ private String preprocessScript(String source) { rewritten = AnnotationIgnorePreprocess.rewrite(rewritten); rewritten = DefaultArgsDesugar.rewrite(rewritten); rewritten = KtStringTemplate.rewrite(rewritten); + rewritten = GenericsPreprocessor.rewrite(rewritten); return rewritten; } diff --git a/bsh-lambda-300-eee36c8/src/main/java/bsh/Parser.java b/bsh-lambda-300-eee36c8/src/main/java/bsh/Parser.java index 3d73cf1..a8b81d9 100644 --- a/bsh-lambda-300-eee36c8/src/main/java/bsh/Parser.java +++ b/bsh-lambda-300-eee36c8/src/main/java/bsh/Parser.java @@ -3324,7 +3324,7 @@ final public void PrimarySuffix() throws ParseException {/*@bgen(jjtree) Primary jjtn000.operation = BSHPrimarySuffix.METHODREF; jjtn000.field = t.image; } else if (jj_2_19(2)) { - jj_consume_token(153); + jj_consume_token(152); t = jj_consume_token(IDENTIFIER); switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { case LPAREN:{ @@ -4153,7 +4153,7 @@ final public void SwitchStatement() throws ParseException {/*@bgen(jjtree) Switc while (true) { switch (jj_ntk == -1 ? jj_ntk_f() : jj_ntk) { case CASE: - case 154:{ + case 153:{ break; } default: @@ -4208,8 +4208,8 @@ final public void SwitchLabel() throws ParseException {/*@bgen(jjtree) SwitchLab jj_consume_token(COLON); break; } - case 154:{ - jj_consume_token(154); + case 153:{ + jj_consume_token(153); jjtree.closeNodeScope(jjtn000, true); jjtc000 = false; if (jjtree.nodeCreated()) { @@ -5671,21 +5671,21 @@ private boolean jj_3R_171() { Token xsp; xsp = jj_scanpos; + if (jj_scan_token(87)) { + jj_scanpos = xsp; if (jj_scan_token(88)) { jj_scanpos = xsp; - if (jj_scan_token(89)) { + if (jj_scan_token(85)) { jj_scanpos = xsp; if (jj_scan_token(86)) { jj_scanpos = xsp; - if (jj_scan_token(87)) { + if (jj_scan_token(92)) { jj_scanpos = xsp; if (jj_scan_token(93)) { jj_scanpos = xsp; if (jj_scan_token(94)) { jj_scanpos = xsp; - if (jj_scan_token(95)) { - jj_scanpos = xsp; - if (jj_scan_token(96)) return true; + if (jj_scan_token(95)) return true; } } } @@ -5730,6 +5730,8 @@ private boolean jj_3R_173() { Token xsp; xsp = jj_scanpos; + if (jj_scan_token(117)) { + jj_scanpos = xsp; if (jj_scan_token(118)) { jj_scanpos = xsp; if (jj_scan_token(119)) { @@ -5738,9 +5740,7 @@ private boolean jj_3R_173() jj_scanpos = xsp; if (jj_scan_token(121)) { jj_scanpos = xsp; - if (jj_scan_token(122)) { - jj_scanpos = xsp; - if (jj_scan_token(123)) return true; + if (jj_scan_token(122)) return true; } } } @@ -5812,9 +5812,9 @@ private boolean jj_3R_175() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(104)) { + if (jj_scan_token(103)) { jj_scanpos = xsp; - if (jj_scan_token(105)) return true; + if (jj_scan_token(104)) return true; } if (jj_3R_174()) return true; return false; @@ -5851,13 +5851,13 @@ private boolean jj_3R_177() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(106)) { + if (jj_scan_token(105)) { jj_scanpos = xsp; - if (jj_scan_token(107)) { + if (jj_scan_token(106)) { jj_scanpos = xsp; - if (jj_scan_token(114)) { + if (jj_scan_token(113)) { jj_scanpos = xsp; - if (jj_scan_token(115)) return true; + if (jj_scan_token(114)) return true; } } } @@ -5909,9 +5909,9 @@ private boolean jj_3R_179() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(116)) { + if (jj_scan_token(115)) { jj_scanpos = xsp; - if (jj_scan_token(117)) return true; + if (jj_scan_token(116)) return true; } if (jj_3R_178()) return true; return false; @@ -5949,13 +5949,13 @@ private boolean jj_3R_180() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(104)) { + if (jj_scan_token(103)) { jj_scanpos = xsp; - if (jj_scan_token(105)) { + if (jj_scan_token(104)) { jj_scanpos = xsp; - if (jj_scan_token(91)) { + if (jj_scan_token(90)) { jj_scanpos = xsp; - if (jj_scan_token(90)) return true; + if (jj_scan_token(89)) return true; } } } @@ -5967,9 +5967,9 @@ private boolean jj_3R_181() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(102)) { + if (jj_scan_token(101)) { jj_scanpos = xsp; - if (jj_scan_token(103)) return true; + if (jj_scan_token(102)) return true; } if (jj_3R_187()) return true; return false; @@ -6032,7 +6032,7 @@ private boolean jj_3_13() xsp = jj_scanpos; if (jj_3R_54()) { jj_scanpos = xsp; - if (jj_scan_token(73)) return true; + if (jj_scan_token(72)) return true; } if (jj_scan_token(ARROW)) return true; return false; @@ -6121,9 +6121,9 @@ private boolean jj_3R_188() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(102)) { + if (jj_scan_token(101)) { jj_scanpos = xsp; - if (jj_scan_token(103)) return true; + if (jj_scan_token(102)) return true; } return false; } @@ -6153,7 +6153,7 @@ private boolean jj_3R_185() xsp = jj_scanpos; if (jj_3R_189()) { jj_scanpos = xsp; - if (jj_scan_token(73)) return true; + if (jj_scan_token(72)) return true; } if (jj_scan_token(ARROW)) return true; xsp = jj_scanpos; @@ -6408,7 +6408,7 @@ private boolean jj_3_16() xsp = jj_scanpos; if (jj_3R_56()) { jj_scanpos = xsp; - if (jj_scan_token(77)) return true; + if (jj_scan_token(76)) return true; } return false; } @@ -6611,9 +6611,9 @@ private boolean jj_3R_81() if (jj_scan_token(COLON_COLON)) return true; Token xsp; xsp = jj_scanpos; - if (jj_scan_token(73)) { + if (jj_scan_token(72)) { jj_scanpos = xsp; - if (jj_scan_token(41)) return true; + if (jj_scan_token(40)) return true; } return false; } @@ -6651,7 +6651,7 @@ private boolean jj_3R_279() private boolean jj_3_19() { - if (jj_scan_token(153)) return true; + if (jj_scan_token(152)) return true; if (jj_scan_token(IDENTIFIER)) return true; Token xsp; xsp = jj_scanpos; @@ -6663,29 +6663,29 @@ private boolean jj_3R_86() { Token xsp; xsp = jj_scanpos; + if (jj_scan_token(43)) { + jj_scanpos = xsp; if (jj_scan_token(44)) { jj_scanpos = xsp; if (jj_scan_token(45)) { jj_scanpos = xsp; - if (jj_scan_token(46)) { + if (jj_scan_token(51)) { jj_scanpos = xsp; - if (jj_scan_token(52)) { + if (jj_scan_token(27)) { jj_scanpos = xsp; - if (jj_scan_token(28)) { + if (jj_scan_token(39)) { jj_scanpos = xsp; - if (jj_scan_token(40)) { + if (jj_scan_token(52)) { jj_scanpos = xsp; - if (jj_scan_token(53)) { + if (jj_scan_token(58)) { jj_scanpos = xsp; - if (jj_scan_token(59)) { + if (jj_scan_token(10)) { jj_scanpos = xsp; - if (jj_scan_token(11)) { + if (jj_scan_token(48)) { jj_scanpos = xsp; if (jj_scan_token(49)) { jj_scanpos = xsp; - if (jj_scan_token(50)) { - jj_scanpos = xsp; - if (jj_scan_token(21)) return true; + if (jj_scan_token(20)) return true; } } } @@ -7007,7 +7007,7 @@ private boolean jj_3_3() private boolean jj_3R_209() { - if (jj_scan_token(42)) return true; + if (jj_scan_token(41)) return true; return false; } @@ -7027,7 +7027,7 @@ private boolean jj_3R_251() private boolean jj_3R_210() { - if (jj_scan_token(58)) return true; + if (jj_scan_token(57)) return true; return false; } @@ -7189,7 +7189,7 @@ private boolean jj_3R_49() xsp = jj_scanpos; if (jj_3R_76()) jj_scanpos = xsp; xsp = jj_scanpos; - if (jj_scan_token(83)) jj_scanpos = xsp; + if (jj_scan_token(82)) jj_scanpos = xsp; if (jj_scan_token(RBRACE)) return true; return false; } @@ -7516,7 +7516,7 @@ private boolean jj_3R_63() jj_scanpos = xsp; if (jj_3_27()) { jj_scanpos = xsp; - if (jj_scan_token(82)) { + if (jj_scan_token(81)) { jj_scanpos = xsp; if (jj_3R_88()) { jj_scanpos = xsp; @@ -7774,23 +7774,23 @@ private boolean jj_3R_43() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(73)) { + if (jj_scan_token(72)) { jj_scanpos = xsp; - if (jj_scan_token(12)) { + if (jj_scan_token(11)) { jj_scanpos = xsp; - if (jj_scan_token(18)) { + if (jj_scan_token(17)) { jj_scanpos = xsp; - if (jj_scan_token(15)) { + if (jj_scan_token(14)) { jj_scanpos = xsp; - if (jj_scan_token(48)) { + if (jj_scan_token(47)) { jj_scanpos = xsp; - if (jj_scan_token(37)) { + if (jj_scan_token(36)) { jj_scanpos = xsp; - if (jj_scan_token(39)) { + if (jj_scan_token(38)) { jj_scanpos = xsp; - if (jj_scan_token(30)) { + if (jj_scan_token(29)) { jj_scanpos = xsp; - if (jj_scan_token(23)) return true; + if (jj_scan_token(22)) return true; } } } @@ -7814,7 +7814,7 @@ private boolean jj_3R_58() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(49)) jj_scanpos = xsp; + if (jj_scan_token(48)) jj_scanpos = xsp; if (jj_scan_token(LBRACE)) return true; while (true) { xsp = jj_scanpos; @@ -7910,11 +7910,11 @@ private boolean jj_3_29() if (jj_3R_61()) return true; Token xsp; xsp = jj_scanpos; - if (jj_scan_token(14)) { + if (jj_scan_token(13)) { jj_scanpos = xsp; - if (jj_scan_token(38)) { + if (jj_scan_token(37)) { jj_scanpos = xsp; - if (jj_scan_token(25)) return true; + if (jj_scan_token(24)) return true; } } return false; @@ -7993,49 +7993,49 @@ private boolean jj_3R_142() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(85)) { + if (jj_scan_token(84)) { jj_scanpos = xsp; - if (jj_scan_token(126)) { + if (jj_scan_token(125)) { + jj_scanpos = xsp; + if (jj_scan_token(135)) { jj_scanpos = xsp; if (jj_scan_token(136)) { jj_scanpos = xsp; - if (jj_scan_token(137)) { + if (jj_scan_token(126)) { jj_scanpos = xsp; - if (jj_scan_token(127)) { + if (jj_scan_token(133)) { jj_scanpos = xsp; if (jj_scan_token(134)) { jj_scanpos = xsp; - if (jj_scan_token(135)) { + if (jj_scan_token(123)) { jj_scanpos = xsp; if (jj_scan_token(124)) { jj_scanpos = xsp; - if (jj_scan_token(125)) { + if (jj_scan_token(127)) { jj_scanpos = xsp; if (jj_scan_token(128)) { jj_scanpos = xsp; - if (jj_scan_token(129)) { + if (jj_scan_token(131)) { jj_scanpos = xsp; if (jj_scan_token(132)) { jj_scanpos = xsp; - if (jj_scan_token(133)) { + if (jj_scan_token(129)) { jj_scanpos = xsp; if (jj_scan_token(130)) { jj_scanpos = xsp; - if (jj_scan_token(131)) { + if (jj_scan_token(137)) { jj_scanpos = xsp; if (jj_scan_token(138)) { jj_scanpos = xsp; if (jj_scan_token(139)) { jj_scanpos = xsp; - if (jj_scan_token(140)) { + if (jj_scan_token(145)) { jj_scanpos = xsp; - if (jj_scan_token(146)) { + if (jj_scan_token(140)) { jj_scanpos = xsp; if (jj_scan_token(141)) { jj_scanpos = xsp; - if (jj_scan_token(142)) { - jj_scanpos = xsp; - if (jj_scan_token(143)) return true; + if (jj_scan_token(142)) return true; } } } @@ -8087,7 +8087,7 @@ private boolean jj_3R_244() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(82)) { + if (jj_scan_token(81)) { jj_scanpos = xsp; jj_lookingAhead = true; jj_semLA = isImplicitMethodTerminator(); @@ -8117,7 +8117,7 @@ private boolean jj_3R_48() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(82)) jj_scanpos = xsp; + if (jj_scan_token(81)) jj_scanpos = xsp; return false; } @@ -8125,11 +8125,11 @@ private boolean jj_3R_149() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(147)) { + if (jj_scan_token(146)) { jj_scanpos = xsp; - if (jj_scan_token(148)) { + if (jj_scan_token(147)) { jj_scanpos = xsp; - if (jj_scan_token(145)) return true; + if (jj_scan_token(144)) return true; } } if (jj_3R_145()) return true; @@ -8151,9 +8151,9 @@ private boolean jj_3R_152() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(98)) { + if (jj_scan_token(97)) { jj_scanpos = xsp; - if (jj_scan_token(99)) return true; + if (jj_scan_token(98)) return true; } if (jj_3R_151()) return true; return false; @@ -8187,9 +8187,9 @@ private boolean jj_3R_154() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(100)) { + if (jj_scan_token(99)) { jj_scanpos = xsp; - if (jj_scan_token(101)) return true; + if (jj_scan_token(100)) return true; } if (jj_3R_153()) return true; return false; @@ -8210,9 +8210,9 @@ private boolean jj_3R_156() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(110)) { + if (jj_scan_token(109)) { jj_scanpos = xsp; - if (jj_scan_token(111)) return true; + if (jj_scan_token(110)) return true; } if (jj_3R_155()) return true; return false; @@ -8269,9 +8269,9 @@ private boolean jj_3R_162() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(112)) { + if (jj_scan_token(111)) { jj_scanpos = xsp; - if (jj_scan_token(113)) return true; + if (jj_scan_token(112)) return true; } if (jj_3R_157()) return true; return false; @@ -8309,7 +8309,7 @@ private boolean jj_3R_157() private boolean jj_3R_271() { - if (jj_scan_token(154)) return true; + if (jj_scan_token(153)) return true; return false; } @@ -8317,9 +8317,9 @@ private boolean jj_3R_165() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(108)) { + if (jj_scan_token(107)) { jj_scanpos = xsp; - if (jj_scan_token(109)) return true; + if (jj_scan_token(108)) return true; } if (jj_3R_163()) return true; return false; @@ -8363,9 +8363,9 @@ private boolean jj_3R_167() { Token xsp; xsp = jj_scanpos; - if (jj_scan_token(92)) { + if (jj_scan_token(91)) { jj_scanpos = xsp; - if (jj_scan_token(97)) return true; + if (jj_scan_token(96)) return true; } if (jj_3R_166()) return true; return false; @@ -8425,19 +8425,19 @@ private boolean jj_3R_169() jj_la1_init_4(); } private static void jj_la1_init_0() { - jj_la1_0 = new int[] {0x1,0x10200800,0x10200800,0x4000000,0x0,0x4000000,0x4000,0x0,0x2004000,0x0,0x0,0x0,0x0,0x0,0x40849000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x48849000,0x48849000,0x0,0x0,0x50849000,0x10000000,0x0,0x0,0x40849000,0x40849000,0x40849000,0x40849000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x48849000,0x0,0x48849000,0x49849000,0x0,0x49849000,0x8000000,0x0,0x48849000,0x48849000,0x48849000,0x48849000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0x8000000,0x48849000,0x0,0x0,0x40849000,0x0,0x0,0x0,0x48c49000,0x80102000,0x0,0x0,0x0,0x0,0x10000,0x10000,0x0,0x1000000,0x58a49800,0x48849000,0x48849000,0x10000000,0x80000000,0x48849000,0x0,0x0,0x0,0x20000,0x20000000,0x10000000,0x0,0x0,0x0,0x0,}; + jj_la1_0 = new int[] {0x1,0x8100400,0x8100400,0x2000000,0x0,0x2000000,0x2000,0x0,0x1002000,0x0,0x0,0x0,0x0,0x0,0x20424800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x24424800,0x24424800,0x0,0x0,0x28424800,0x8000000,0x0,0x0,0x20424800,0x20424800,0x20424800,0x20424800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x24424800,0x0,0x24424800,0x24c24800,0x0,0x24c24800,0x4000000,0x0,0x24424800,0x24424800,0x24424800,0x24424800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000000,0x4000000,0x24424800,0x0,0x0,0x20424800,0x0,0x0,0x0,0x24624800,0x40081000,0x0,0x0,0x0,0x0,0x8000,0x8000,0x0,0x800000,0x2c524c00,0x24424800,0x24424800,0x8000000,0x40000000,0x24424800,0x0,0x0,0x0,0x10000,0x10000000,0x8000000,0x0,0x0,0x0,0x0,}; } private static void jj_la1_init_1() { - jj_la1_1 = new int[] {0x0,0x8367100,0x8367100,0x0,0x4,0x0,0x40,0x4,0x40,0x0,0x20000,0x0,0x0,0x0,0x100a0,0x800000,0x20000,0x20000,0x0,0x8,0x0,0x0,0x550106a0,0x550106a0,0x0,0x0,0x100a0,0x0,0x0,0x0,0x100a0,0x40100a0,0x100a0,0x100a0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x550106a0,0x0,0x550306a0,0x550106a0,0x0,0x550106a0,0x55000600,0x0,0x550106a0,0x550106a0,0x550106a0,0x550106a0,0x0,0x0,0x0,0x200,0x0,0x0,0x0,0x0,0x45000400,0x1000000,0x550106a0,0x0,0x0,0x100a0,0x200,0x0,0x0,0x750906a2,0x2508000,0x20000,0x808,0x0,0x0,0x0,0x0,0x0,0x0,0x5d3777a0,0x550106a0,0x550106a0,0x0,0x0,0x550106a0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; + jj_la1_1 = new int[] {0x0,0x41b3880,0x41b3880,0x0,0x2,0x0,0x20,0x2,0x20,0x0,0x10000,0x0,0x0,0x0,0x8050,0x400000,0x10000,0x10000,0x0,0x4,0x0,0x0,0x2a808350,0x2a808350,0x0,0x0,0x8050,0x0,0x0,0x0,0x8050,0x2008050,0x8050,0x8050,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2a808350,0x0,0x2a818350,0x2a808350,0x0,0x2a808350,0x2a800300,0x0,0x2a808350,0x2a808350,0x2a808350,0x2a808350,0x0,0x0,0x0,0x100,0x0,0x0,0x0,0x0,0x22800200,0x800000,0x2a808350,0x0,0x0,0x8050,0x100,0x0,0x0,0x3a848351,0x1284000,0x10000,0x404,0x0,0x0,0x0,0x0,0x0,0x0,0x2e9bbbd0,0x2a808350,0x2a808350,0x0,0x0,0x2a808350,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; } private static void jj_la1_init_2() { - jj_la1_2 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000,0x4000,0x200,0x80000,0x40000,0x200,0x0,0x4000,0x0,0x100000,0x0,0x10000,0x200000,0xc0153c8,0xc0153c8,0x80000,0x80000,0x200,0x0,0x0,0x200,0x200,0x200,0x0,0x200,0x80000,0x200000,0x200000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000000,0x10000000,0x0,0xe3c00000,0xe3c00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc000000,0x0,0x0,0x0,0xc000000,0x153c8,0x1200,0xc0153c8,0xc0153c8,0x80000,0xc0153c8,0x151c8,0x200,0xc0153c8,0xc0153c8,0xc0153c8,0xc0153c8,0x0,0x0,0x0,0x200,0x1000,0x1000,0x10000,0x4000,0x1c8,0x0,0xc0153c8,0x80000,0x15000,0x14200,0x14000,0x10000,0x14000,0xc0553c8,0x0,0x0,0x0,0x40000,0x40000,0x0,0x0,0x40000,0x0,0xc0153c8,0xc0153c8,0xc0153c8,0x0,0x0,0xc0153c8,0x80000,0x80000,0x1000,0x0,0x0,0x0,0x0,0x200,0x40000,0x200,}; + jj_la1_2 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x800,0x2000,0x100,0x40000,0x20000,0x100,0x0,0x2000,0x0,0x80000,0x0,0x8000,0x100000,0x600a9e4,0x600a9e4,0x40000,0x40000,0x100,0x0,0x0,0x100,0x100,0x100,0x0,0x100,0x40000,0x100000,0x100000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000000,0x8000000,0x0,0xf1e00000,0xf1e00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6000000,0x0,0x0,0x0,0x6000000,0xa9e4,0x900,0x600a9e4,0x600a9e4,0x40000,0x600a9e4,0xa8e4,0x100,0x600a9e4,0x600a9e4,0x600a9e4,0x600a9e4,0x0,0x0,0x0,0x100,0x800,0x800,0x8000,0x2000,0xe4,0x0,0x600a9e4,0x40000,0xa800,0xa100,0xa000,0x8000,0xa000,0x602a9e4,0x0,0x0,0x0,0x20000,0x20000,0x0,0x0,0x20000,0x0,0x600a9e4,0x600a9e4,0x600a9e4,0x0,0x0,0x600a9e4,0x40000,0x40000,0x800,0x0,0x0,0x0,0x0,0x100,0x20000,0x100,}; } private static void jj_la1_init_3() { - jj_la1_3 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c0,0x3c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf0000000,0xf0000000,0x0,0x0,0x0,0xc,0xc,0x30,0x30,0xc000,0xc000,0x30000,0x30000,0x3000,0x3000,0x2,0x2,0x0,0x1,0x1,0xfc00000,0xfc00000,0x300,0x300,0xc0c00,0xc0c00,0x300000,0x300000,0x300,0xc0,0xc0,0xc0,0x3c0,0x0,0x0,0x3c0,0x3c0,0x0,0x3c0,0x0,0x0,0x3c0,0x3c0,0x3c0,0x3c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3c0,0x3c0,0x3c0,0x0,0x0,0x3c0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000,0x0,0x0,0x0,}; + jj_la1_3 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1e0,0x1e0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf8000000,0xf8000000,0x0,0x0,0x0,0x6,0x6,0x18,0x18,0x6000,0x6000,0x18000,0x18000,0x1800,0x1800,0x1,0x1,0x0,0x0,0x0,0x7e00000,0x7e00000,0x180,0x180,0x60600,0x60600,0x180000,0x180000,0x180,0x60,0x60,0x60,0x1e0,0x0,0x0,0x1e0,0x1e0,0x0,0x1e0,0x0,0x0,0x1e0,0x1e0,0x1e0,0x1e0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1e0,0x0,0x0,0x0,0x0,0x0,0x0,0x1e0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1e0,0x1e0,0x1e0,0x0,0x0,0x1e0,0x0,0x0,0x0,0x0,0x0,0x0,0x2000,0x0,0x0,0x0,}; } private static void jj_la1_init_4() { - jj_la1_4 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000000,0x0,0x0,0x0,0x0,0x0,0x0,0x4ffff,0x4ffff,0x200000,0x1a0000,0x1a0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x400000,0xc00000,0xc00000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000000,0x4000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; + jj_la1_4 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x800000,0x0,0x0,0x0,0x0,0x0,0x0,0x27fff,0x27fff,0x100000,0xd0000,0xd0000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x200000,0x600000,0x600000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2000000,0x2000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; } private final JJCalls[] jj_2_rtns = new JJCalls[41]; private boolean jj_rescan = false; @@ -8680,7 +8680,7 @@ private void jj_add_error_token(int kind, int pos) { */ public ParseException generateParseException() { jj_expentries.clear(); - boolean[] la1tokens = new boolean[155]; + boolean[] la1tokens = new boolean[154]; if (jj_kind >= 0) { la1tokens[jj_kind] = true; jj_kind = -1; @@ -8706,7 +8706,7 @@ public ParseException generateParseException() { } } } - for (int i = 0; i < 155; i++) { + for (int i = 0; i < 154; i++) { if (la1tokens[i]) { jj_expentry = new int[1]; jj_expentry[0] = i; diff --git a/bsh-lambda-300-eee36c8/src/main/java/bsh/ParserConstants.java b/bsh-lambda-300-eee36c8/src/main/java/bsh/ParserConstants.java index 67da8c9..0fe2aa1 100644 --- a/bsh-lambda-300-eee36c8/src/main/java/bsh/ParserConstants.java +++ b/bsh-lambda-300-eee36c8/src/main/java/bsh/ParserConstants.java @@ -38,297 +38,295 @@ public interface ParserConstants { /** RegularExpression Id. */ int NONPRINTABLE = 6; /** RegularExpression Id. */ - int TYPE_PARAMATERS = 7; + int SINGLE_LINE_COMMENT = 7; /** RegularExpression Id. */ - int SINGLE_LINE_COMMENT = 8; + int HASH_BANG_COMMENT = 8; /** RegularExpression Id. */ - int HASH_BANG_COMMENT = 9; + int MULTI_LINE_COMMENT = 9; /** RegularExpression Id. */ - int MULTI_LINE_COMMENT = 10; + int ABSTRACT = 10; /** RegularExpression Id. */ - int ABSTRACT = 11; + int BOOLEAN = 11; /** RegularExpression Id. */ - int BOOLEAN = 12; + int BREAK = 12; /** RegularExpression Id. */ - int BREAK = 13; + int CLASS = 13; /** RegularExpression Id. */ - int CLASS = 14; + int BYTE = 14; /** RegularExpression Id. */ - int BYTE = 15; + int CASE = 15; /** RegularExpression Id. */ - int CASE = 16; + int CATCH = 16; /** RegularExpression Id. */ - int CATCH = 17; + int CHAR = 17; /** RegularExpression Id. */ - int CHAR = 18; + int CONST = 18; /** RegularExpression Id. */ - int CONST = 19; + int CONTINUE = 19; /** RegularExpression Id. */ - int CONTINUE = 20; + int _DEFAULT = 20; /** RegularExpression Id. */ - int _DEFAULT = 21; + int DO = 21; /** RegularExpression Id. */ - int DO = 22; + int DOUBLE = 22; /** RegularExpression Id. */ - int DOUBLE = 23; + int ELSE = 23; /** RegularExpression Id. */ - int ELSE = 24; + int ENUM = 24; /** RegularExpression Id. */ - int ENUM = 25; + int EXTENDS = 25; /** RegularExpression Id. */ - int EXTENDS = 26; + int FALSE = 26; /** RegularExpression Id. */ - int FALSE = 27; + int FINAL = 27; /** RegularExpression Id. */ - int FINAL = 28; + int FINALLY = 28; /** RegularExpression Id. */ - int FINALLY = 29; + int FLOAT = 29; /** RegularExpression Id. */ - int FLOAT = 30; + int FOR = 30; /** RegularExpression Id. */ - int FOR = 31; + int GOTO = 31; /** RegularExpression Id. */ - int GOTO = 32; + int IF = 32; /** RegularExpression Id. */ - int IF = 33; + int IMPLEMENTS = 33; /** RegularExpression Id. */ - int IMPLEMENTS = 34; + int IMPORT = 34; /** RegularExpression Id. */ - int IMPORT = 35; + int INSTANCEOF = 35; /** RegularExpression Id. */ - int INSTANCEOF = 36; + int INT = 36; /** RegularExpression Id. */ - int INT = 37; + int INTERFACE = 37; /** RegularExpression Id. */ - int INTERFACE = 38; + int LONG = 38; /** RegularExpression Id. */ - int LONG = 39; + int NATIVE = 39; /** RegularExpression Id. */ - int NATIVE = 40; + int NEW = 40; /** RegularExpression Id. */ - int NEW = 41; + int NULL = 41; /** RegularExpression Id. */ - int NULL = 42; + int PACKAGE = 42; /** RegularExpression Id. */ - int PACKAGE = 43; + int PRIVATE = 43; /** RegularExpression Id. */ - int PRIVATE = 44; + int PROTECTED = 44; /** RegularExpression Id. */ - int PROTECTED = 45; + int PUBLIC = 45; /** RegularExpression Id. */ - int PUBLIC = 46; + int RETURN = 46; /** RegularExpression Id. */ - int RETURN = 47; + int SHORT = 47; /** RegularExpression Id. */ - int SHORT = 48; + int STATIC = 48; /** RegularExpression Id. */ - int STATIC = 49; + int STRICTFP = 49; /** RegularExpression Id. */ - int STRICTFP = 50; + int SWITCH = 50; /** RegularExpression Id. */ - int SWITCH = 51; + int SYNCHRONIZED = 51; /** RegularExpression Id. */ - int SYNCHRONIZED = 52; + int TRANSIENT = 52; /** RegularExpression Id. */ - int TRANSIENT = 53; + int THROW = 53; /** RegularExpression Id. */ - int THROW = 54; + int THROWS = 54; /** RegularExpression Id. */ - int THROWS = 55; + int TRUE = 55; /** RegularExpression Id. */ - int TRUE = 56; + int TRY = 56; /** RegularExpression Id. */ - int TRY = 57; + int VOID = 57; /** RegularExpression Id. */ - int VOID = 58; + int VOLATILE = 58; /** RegularExpression Id. */ - int VOLATILE = 59; + int WHEN = 59; /** RegularExpression Id. */ - int WHEN = 60; + int WHILE = 60; /** RegularExpression Id. */ - int WHILE = 61; + int INTEGER_LITERAL = 61; /** RegularExpression Id. */ - int INTEGER_LITERAL = 62; + int DECIMAL_LITERAL = 62; /** RegularExpression Id. */ - int DECIMAL_LITERAL = 63; + int HEX_LITERAL = 63; /** RegularExpression Id. */ - int HEX_LITERAL = 64; + int BINARY_LITERAL = 64; /** RegularExpression Id. */ - int BINARY_LITERAL = 65; + int OCTAL_LITERAL = 65; /** RegularExpression Id. */ - int OCTAL_LITERAL = 66; + int FLOATING_POINT_LITERAL = 66; /** RegularExpression Id. */ - int FLOATING_POINT_LITERAL = 67; + int EXPONENT = 67; /** RegularExpression Id. */ - int EXPONENT = 68; + int ESCAPE = 68; /** RegularExpression Id. */ - int ESCAPE = 69; + int CHARACTER_LITERAL = 69; /** RegularExpression Id. */ - int CHARACTER_LITERAL = 70; + int STRING_LITERAL = 70; /** RegularExpression Id. */ - int STRING_LITERAL = 71; + int LONG_STRING_LITERAL = 71; /** RegularExpression Id. */ - int LONG_STRING_LITERAL = 72; + int IDENTIFIER = 72; /** RegularExpression Id. */ - int IDENTIFIER = 73; + int LETTER = 73; /** RegularExpression Id. */ - int LETTER = 74; + int DIGIT = 74; /** RegularExpression Id. */ - int DIGIT = 75; + int LPAREN = 75; /** RegularExpression Id. */ - int LPAREN = 76; + int RPAREN = 76; /** RegularExpression Id. */ - int RPAREN = 77; + int LBRACE = 77; /** RegularExpression Id. */ - int LBRACE = 78; + int RBRACE = 78; /** RegularExpression Id. */ - int RBRACE = 79; + int LBRACKET = 79; /** RegularExpression Id. */ - int LBRACKET = 80; + int RBRACKET = 80; /** RegularExpression Id. */ - int RBRACKET = 81; + int SEMICOLON = 81; /** RegularExpression Id. */ - int SEMICOLON = 82; + int COMMA = 82; /** RegularExpression Id. */ - int COMMA = 83; + int DOT = 83; /** RegularExpression Id. */ - int DOT = 84; + int ASSIGN = 84; /** RegularExpression Id. */ - int ASSIGN = 85; + int GT = 85; /** RegularExpression Id. */ - int GT = 86; + int GTX = 86; /** RegularExpression Id. */ - int GTX = 87; + int LT = 87; /** RegularExpression Id. */ - int LT = 88; + int LTX = 88; /** RegularExpression Id. */ - int LTX = 89; + int BANG = 89; /** RegularExpression Id. */ - int BANG = 90; + int TILDE = 90; /** RegularExpression Id. */ - int TILDE = 91; + int EQ = 91; /** RegularExpression Id. */ - int EQ = 92; + int LE = 92; /** RegularExpression Id. */ - int LE = 93; + int LEX = 93; /** RegularExpression Id. */ - int LEX = 94; + int GE = 94; /** RegularExpression Id. */ - int GE = 95; + int GEX = 95; /** RegularExpression Id. */ - int GEX = 96; + int NE = 96; /** RegularExpression Id. */ - int NE = 97; + int BOOL_OR = 97; /** RegularExpression Id. */ - int BOOL_OR = 98; + int BOOL_ORX = 98; /** RegularExpression Id. */ - int BOOL_ORX = 99; + int BOOL_AND = 99; /** RegularExpression Id. */ - int BOOL_AND = 100; + int BOOL_ANDX = 100; /** RegularExpression Id. */ - int BOOL_ANDX = 101; + int INCR = 101; /** RegularExpression Id. */ - int INCR = 102; + int DECR = 102; /** RegularExpression Id. */ - int DECR = 103; + int PLUS = 103; /** RegularExpression Id. */ - int PLUS = 104; + int MINUS = 104; /** RegularExpression Id. */ - int MINUS = 105; + int STAR = 105; /** RegularExpression Id. */ - int STAR = 106; + int SLASH = 106; /** RegularExpression Id. */ - int SLASH = 107; + int BIT_AND = 107; /** RegularExpression Id. */ - int BIT_AND = 108; + int BIT_ANDX = 108; /** RegularExpression Id. */ - int BIT_ANDX = 109; + int BIT_OR = 109; /** RegularExpression Id. */ - int BIT_OR = 110; + int BIT_ORX = 110; /** RegularExpression Id. */ - int BIT_ORX = 111; + int XOR = 111; /** RegularExpression Id. */ - int XOR = 112; + int XORX = 112; /** RegularExpression Id. */ - int XORX = 113; + int MOD = 113; /** RegularExpression Id. */ - int MOD = 114; + int MODX = 114; /** RegularExpression Id. */ - int MODX = 115; + int POWER = 115; /** RegularExpression Id. */ - int POWER = 116; + int POWERX = 116; /** RegularExpression Id. */ - int POWERX = 117; + int LSHIFT = 117; /** RegularExpression Id. */ - int LSHIFT = 118; + int LSHIFTX = 118; /** RegularExpression Id. */ - int LSHIFTX = 119; + int RSIGNEDSHIFT = 119; /** RegularExpression Id. */ - int RSIGNEDSHIFT = 120; + int RSIGNEDSHIFTX = 120; /** RegularExpression Id. */ - int RSIGNEDSHIFTX = 121; + int RUNSIGNEDSHIFT = 121; /** RegularExpression Id. */ - int RUNSIGNEDSHIFT = 122; + int RUNSIGNEDSHIFTX = 122; /** RegularExpression Id. */ - int RUNSIGNEDSHIFTX = 123; + int PLUSASSIGN = 123; /** RegularExpression Id. */ - int PLUSASSIGN = 124; + int MINUSASSIGN = 124; /** RegularExpression Id. */ - int MINUSASSIGN = 125; + int STARASSIGN = 125; /** RegularExpression Id. */ - int STARASSIGN = 126; + int SLASHASSIGN = 126; /** RegularExpression Id. */ - int SLASHASSIGN = 127; + int ANDASSIGN = 127; /** RegularExpression Id. */ - int ANDASSIGN = 128; + int ANDASSIGNX = 128; /** RegularExpression Id. */ - int ANDASSIGNX = 129; + int ORASSIGN = 129; /** RegularExpression Id. */ - int ORASSIGN = 130; + int ORASSIGNX = 130; /** RegularExpression Id. */ - int ORASSIGNX = 131; + int XORASSIGN = 131; /** RegularExpression Id. */ - int XORASSIGN = 132; + int XORASSIGNX = 132; /** RegularExpression Id. */ - int XORASSIGNX = 133; + int MODASSIGN = 133; /** RegularExpression Id. */ - int MODASSIGN = 134; + int MODASSIGNX = 134; /** RegularExpression Id. */ - int MODASSIGNX = 135; + int POWERASSIGN = 135; /** RegularExpression Id. */ - int POWERASSIGN = 136; + int POWERASSIGNX = 136; /** RegularExpression Id. */ - int POWERASSIGNX = 137; + int LSHIFTASSIGN = 137; /** RegularExpression Id. */ - int LSHIFTASSIGN = 138; + int LSHIFTASSIGNX = 138; /** RegularExpression Id. */ - int LSHIFTASSIGNX = 139; + int RSIGNEDSHIFTASSIGN = 139; /** RegularExpression Id. */ - int RSIGNEDSHIFTASSIGN = 140; + int RSIGNEDSHIFTASSIGNX = 140; /** RegularExpression Id. */ - int RSIGNEDSHIFTASSIGNX = 141; + int RUNSIGNEDSHIFTASSIGN = 141; /** RegularExpression Id. */ - int RUNSIGNEDSHIFTASSIGN = 142; + int RUNSIGNEDSHIFTASSIGNX = 142; /** RegularExpression Id. */ - int RUNSIGNEDSHIFTASSIGNX = 143; + int ARROW = 143; /** RegularExpression Id. */ - int ARROW = 144; + int SPACESHIP = 144; /** RegularExpression Id. */ - int SPACESHIP = 145; + int NULLCOALESCEASSIGN = 145; /** RegularExpression Id. */ - int NULLCOALESCEASSIGN = 146; + int NULLCOALESCE = 146; /** RegularExpression Id. */ - int NULLCOALESCE = 147; + int ELVIS = 147; /** RegularExpression Id. */ - int ELVIS = 148; + int HOOK = 148; /** RegularExpression Id. */ - int HOOK = 149; + int COLON = 149; /** RegularExpression Id. */ - int COLON = 150; + int COLON_COLON = 150; /** RegularExpression Id. */ - int COLON_COLON = 151; - /** RegularExpression Id. */ - int ELLIPSIS = 152; + int ELLIPSIS = 151; /** Lexical state. */ int DEFAULT = 0; @@ -342,7 +340,6 @@ public interface ParserConstants { "\"\\f\"", "\"\\n\"", "", - "", "", "", "", diff --git a/bsh-lambda-300-eee36c8/src/main/java/bsh/ParserTokenManager.java b/bsh-lambda-300-eee36c8/src/main/java/bsh/ParserTokenManager.java index 88bdef8..d6a0225 100644 --- a/bsh-lambda-300-eee36c8/src/main/java/bsh/ParserTokenManager.java +++ b/bsh-lambda-300-eee36c8/src/main/java/bsh/ParserTokenManager.java @@ -38,141 +38,137 @@ private final int jjStopStringLiteralDfa_0(int pos, long active0, long active1, switch (pos) { case 0: - if ((active1 & 0x40000021000000L) != 0x0L || (active2 & 0x20400L) != 0x0L) - return 80; - if ((active1 & 0x100000L) != 0x0L || (active2 & 0x1000000L) != 0x0L) - return 18; - if ((active1 & 0x8000080000000000L) != 0x0L) - return 69; - if ((active0 & 0x3ffffffffffff800L) != 0x0L || (active2 & 0x4000000L) != 0x0L) + if ((active0 & 0x1ffffffffffffc00L) != 0x0L || (active2 & 0x2000000L) != 0x0L) { - jjmatchedKind = 73; - return 42; + jjmatchedKind = 72; + return 35; } + if ((active1 & 0x80000L) != 0x0L || (active2 & 0x800000L) != 0x0L) + return 11; + if ((active1 & 0x4000040000000000L) != 0x0L) + return 62; if ((active0 & 0x3eL) != 0x0L) return 0; return -1; case 1: - if ((active1 & 0x40000000000000L) != 0x0L || (active2 & 0x400L) != 0x0L) - return 80; - if ((active0 & 0x200c00000L) != 0x0L) - return 42; - if ((active0 & 0x3ffffffdff3ff800L) != 0x0L || (active2 & 0x4000000L) != 0x0L) + if ((active0 & 0x100600000L) != 0x0L) + return 35; + if ((active0 & 0x1ffffffeff9ffc00L) != 0x0L || (active2 & 0x2000000L) != 0x0L) { if (jjmatchedPos != 1) { - jjmatchedKind = 73; + jjmatchedKind = 72; jjmatchedPos = 1; } - return 42; + return 35; } return -1; case 2: - if ((active0 & 0x200026080000000L) != 0x0L) - return 42; - if ((active0 & 0x3dfffd9d7fbff800L) != 0x0L || (active2 & 0x4000000L) != 0x0L) + if ((active0 & 0x100013040000000L) != 0x0L) + return 35; + if ((active0 & 0x1efffecebfdffc00L) != 0x0L || (active2 & 0x2000000L) != 0x0L) { if (jjmatchedPos != 2) { - jjmatchedKind = 73; + jjmatchedKind = 72; jjmatchedPos = 2; } - return 42; + return 35; } return -1; case 3: - if ((active0 & 0x1500048103058000L) != 0x0L) - return 42; - if ((active0 & 0x28fff95c7cba7800L) != 0x0L || (active2 & 0x4000000L) != 0x0L) + if ((active0 & 0xa8002408182c000L) != 0x0L) + return 35; + if ((active0 & 0x147ffcae3e5d3c00L) != 0x0L || (active2 & 0x2000000L) != 0x0L) { if (jjmatchedPos != 3) { - jjmatchedKind = 73; + jjmatchedKind = 72; jjmatchedPos = 3; } - return 42; + return 35; } return -1; case 4: - if ((active0 & 0x20c10000780a6000L) != 0x0L) - return 42; - if ((active0 & 0x83ef95c04b01800L) != 0x0L || (active2 & 0x4000000L) != 0x0L) + if ((active0 & 0x106080003c053000L) != 0x0L) + return 35; + if ((active0 & 0x41f7cae02580c00L) != 0x0L || (active2 & 0x2000000L) != 0x0L) { if (jjmatchedPos != 4) { - jjmatchedKind = 73; + jjmatchedKind = 72; jjmatchedPos = 4; } - return 42; + return 35; } return -1; case 5: - if ((active0 & 0x834385424301800L) != 0x0L || (active2 & 0x4000000L) != 0x0L) + if ((active0 & 0x41a1c2a12180c00L) != 0x0L || (active2 & 0x2000000L) != 0x0L) { - jjmatchedKind = 73; + jjmatchedKind = 72; jjmatchedPos = 5; - return 42; + return 35; } - if ((active0 & 0x8ac10800800000L) != 0x0L) - return 42; + if ((active0 & 0x45608400400000L) != 0x0L) + return 35; return -1; case 6: - if ((active0 & 0x180024201000L) != 0x0L || (active2 & 0x4000000L) != 0x0L) - return 42; - if ((active0 & 0x834205400100800L) != 0x0L) + if ((active0 & 0xc0012100800L) != 0x0L || (active2 & 0x2000000L) != 0x0L) + return 35; + if ((active0 & 0x41a102a00080400L) != 0x0L) { if (jjmatchedPos != 6) { - jjmatchedKind = 73; + jjmatchedKind = 72; jjmatchedPos = 6; } - return 42; + return 35; } return -1; case 7: - if ((active0 & 0x804000000100800L) != 0x0L) - return 42; - if ((active0 & 0x30205400000000L) != 0x0L) + if ((active0 & 0x402000000080400L) != 0x0L) + return 35; + if ((active0 & 0x18102a00000000L) != 0x0L) { - jjmatchedKind = 73; + jjmatchedKind = 72; jjmatchedPos = 7; - return 42; + return 35; } return -1; case 8: - if ((active0 & 0x20204000000000L) != 0x0L) - return 42; - if ((active0 & 0x10001400000000L) != 0x0L) + if ((active0 & 0x10102000000000L) != 0x0L) + return 35; + if ((active0 & 0x8000a00000000L) != 0x0L) { - jjmatchedKind = 73; + jjmatchedKind = 72; jjmatchedPos = 8; - return 42; + return 35; } return -1; case 9: - if ((active0 & 0x1400000000L) != 0x0L) - return 42; - if ((active0 & 0x10000000000000L) != 0x0L) + if ((active0 & 0x8000000000000L) != 0x0L) { - jjmatchedKind = 73; + jjmatchedKind = 72; jjmatchedPos = 9; - return 42; + return 35; } + if ((active0 & 0xa00000000L) != 0x0L) + return 35; return -1; case 10: - if ((active0 & 0x10000000000000L) != 0x0L) + if ((active0 & 0x8000000000000L) != 0x0L) { if (jjmatchedPos != 10) { - jjmatchedKind = 73; + jjmatchedKind = 72; jjmatchedPos = 10; } - return 42; + return 35; } return -1; case 11: - if ((active0 & 0x10000000000000L) != 0x0L) - return 42; + if ((active0 & 0x8000000000000L) != 0x0L) + return 35; return -1; default : return -1; @@ -201,104 +197,104 @@ private int jjMoveStringLiteralDfa0_0(){ case ' ': return jjStartNfaWithStates_0(0, 1, 0); case '!': - jjmatchedKind = 90; - return jjMoveStringLiteralDfa1_0(0x0L, 0x200000000L, 0x0L); + jjmatchedKind = 89; + return jjMoveStringLiteralDfa1_0(0x0L, 0x100000000L, 0x0L); case '%': - jjmatchedKind = 114; - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x40L); + jjmatchedKind = 113; + return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x20L); case '&': - jjmatchedKind = 108; - return jjMoveStringLiteralDfa1_0(0x0L, 0x1000000000L, 0x1L); + jjmatchedKind = 107; + return jjMoveStringLiteralDfa1_0(0x0L, 0x8000000800000000L, 0x0L); case '(': - return jjStopAtPos(0, 76); + return jjStopAtPos(0, 75); case ')': - return jjStopAtPos(0, 77); + return jjStopAtPos(0, 76); case '*': - jjmatchedKind = 106; - return jjMoveStringLiteralDfa1_0(0x0L, 0x4010000000000000L, 0x100L); + jjmatchedKind = 105; + return jjMoveStringLiteralDfa1_0(0x0L, 0x2008000000000000L, 0x80L); case '+': - jjmatchedKind = 104; - return jjMoveStringLiteralDfa1_0(0x0L, 0x1000004000000000L, 0x0L); + jjmatchedKind = 103; + return jjMoveStringLiteralDfa1_0(0x0L, 0x800002000000000L, 0x0L); case ',': - return jjStopAtPos(0, 83); + return jjStopAtPos(0, 82); case '-': - jjmatchedKind = 105; - return jjMoveStringLiteralDfa1_0(0x0L, 0x2000008000000000L, 0x10000L); + jjmatchedKind = 104; + return jjMoveStringLiteralDfa1_0(0x0L, 0x1000004000000000L, 0x8000L); case '.': - jjmatchedKind = 84; - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x1000000L); + jjmatchedKind = 83; + return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x800000L); case '/': - jjmatchedKind = 107; - return jjMoveStringLiteralDfa1_0(0x0L, 0x8000000000000000L, 0x0L); + jjmatchedKind = 106; + return jjMoveStringLiteralDfa1_0(0x0L, 0x4000000000000000L, 0x0L); case ':': - jjmatchedKind = 150; - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x800000L); + jjmatchedKind = 149; + return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x400000L); case ';': - return jjStopAtPos(0, 82); + return jjStopAtPos(0, 81); case '<': - jjmatchedKind = 88; - return jjMoveStringLiteralDfa1_0(0x0L, 0x40000020000000L, 0x20400L); + jjmatchedKind = 87; + return jjMoveStringLiteralDfa1_0(0x0L, 0x20000010000000L, 0x10200L); case '=': - jjmatchedKind = 85; - return jjMoveStringLiteralDfa1_0(0x0L, 0x10000000L, 0x0L); + jjmatchedKind = 84; + return jjMoveStringLiteralDfa1_0(0x0L, 0x8000000L, 0x0L); case '>': - jjmatchedKind = 86; - return jjMoveStringLiteralDfa1_0(0x0L, 0x500000080000000L, 0x5000L); + jjmatchedKind = 85; + return jjMoveStringLiteralDfa1_0(0x0L, 0x280000040000000L, 0x2800L); case '?': - jjmatchedKind = 149; - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x21c0000L); + jjmatchedKind = 148; + return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x10e0000L); case '@': - return jjMoveStringLiteralDfa1_0(0x0L, 0xaaaa02942800000L, 0xaaaaL); + return jjMoveStringLiteralDfa1_0(0x0L, 0x5555014a1400000L, 0x5555L); case '[': - return jjStopAtPos(0, 80); + return jjStopAtPos(0, 79); case ']': - return jjStopAtPos(0, 81); + return jjStopAtPos(0, 80); case '^': - jjmatchedKind = 112; - return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x10L); + jjmatchedKind = 111; + return jjMoveStringLiteralDfa1_0(0x0L, 0x0L, 0x8L); case 'a': - return jjMoveStringLiteralDfa1_0(0x800L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x400L, 0x0L, 0x0L); case 'b': - return jjMoveStringLiteralDfa1_0(0xb000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x5800L, 0x0L, 0x0L); case 'c': - return jjMoveStringLiteralDfa1_0(0x1f4000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0xfa000L, 0x0L, 0x0L); case 'd': - return jjMoveStringLiteralDfa1_0(0xe00000L, 0x0L, 0x4000000L); + return jjMoveStringLiteralDfa1_0(0x700000L, 0x0L, 0x2000000L); case 'e': - return jjMoveStringLiteralDfa1_0(0x7000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x3800000L, 0x0L, 0x0L); case 'f': - return jjMoveStringLiteralDfa1_0(0xf8000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x7c000000L, 0x0L, 0x0L); case 'g': - return jjMoveStringLiteralDfa1_0(0x100000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x80000000L, 0x0L, 0x0L); case 'i': - return jjMoveStringLiteralDfa1_0(0x7e00000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x3f00000000L, 0x0L, 0x0L); case 'l': - return jjMoveStringLiteralDfa1_0(0x8000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x4000000000L, 0x0L, 0x0L); case 'n': - return jjMoveStringLiteralDfa1_0(0x70000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x38000000000L, 0x0L, 0x0L); case 'p': - return jjMoveStringLiteralDfa1_0(0x780000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x3c0000000000L, 0x0L, 0x0L); case 'r': - return jjMoveStringLiteralDfa1_0(0x800000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x400000000000L, 0x0L, 0x0L); case 's': - return jjMoveStringLiteralDfa1_0(0x1f000000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0xf800000000000L, 0x0L, 0x0L); case 't': - return jjMoveStringLiteralDfa1_0(0x3e0000000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x1f0000000000000L, 0x0L, 0x0L); case 'v': - return jjMoveStringLiteralDfa1_0(0xc00000000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x600000000000000L, 0x0L, 0x0L); case 'w': - return jjMoveStringLiteralDfa1_0(0x3000000000000000L, 0x0L, 0x0L); + return jjMoveStringLiteralDfa1_0(0x1800000000000000L, 0x0L, 0x0L); case '{': - return jjStopAtPos(0, 78); + return jjStopAtPos(0, 77); case '|': - jjmatchedKind = 110; - return jjMoveStringLiteralDfa1_0(0x0L, 0x400000000L, 0x4L); + jjmatchedKind = 109; + return jjMoveStringLiteralDfa1_0(0x0L, 0x200000000L, 0x2L); case '}': - return jjStopAtPos(0, 79); + return jjStopAtPos(0, 78); case '~': - return jjStopAtPos(0, 91); + return jjStopAtPos(0, 90); default : - return jjMoveNfa_0(1, 0); + return jjMoveNfa_0(6, 0); } } private int jjMoveStringLiteralDfa1_0(long active0, long active1, long active2){ @@ -310,53 +306,55 @@ private int jjMoveStringLiteralDfa1_0(long active0, long active1, long active2){ switch(curChar) { case '&': - if ((active1 & 0x1000000000L) != 0x0L) - return jjStopAtPos(1, 100); + if ((active1 & 0x800000000L) != 0x0L) + return jjStopAtPos(1, 99); break; case '*': - if ((active1 & 0x10000000000000L) != 0x0L) + if ((active1 & 0x8000000000000L) != 0x0L) { - jjmatchedKind = 116; + jjmatchedKind = 115; jjmatchedPos = 1; } - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x100L); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x80L); case '+': - if ((active1 & 0x4000000000L) != 0x0L) - return jjStopAtPos(1, 102); + if ((active1 & 0x2000000000L) != 0x0L) + return jjStopAtPos(1, 101); break; case '-': - if ((active1 & 0x8000000000L) != 0x0L) - return jjStopAtPos(1, 103); + if ((active1 & 0x4000000000L) != 0x0L) + return jjStopAtPos(1, 102); break; case '.': - if ((active2 & 0x2000000L) != 0x0L) - return jjStopAtPos(1, 153); - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x1000000L); + if ((active2 & 0x1000000L) != 0x0L) + return jjStopAtPos(1, 152); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x800000L); case ':': - if ((active2 & 0x100000L) != 0x0L) - return jjStopAtPos(1, 148); - else if ((active2 & 0x800000L) != 0x0L) - return jjStopAtPos(1, 151); + if ((active2 & 0x80000L) != 0x0L) + return jjStopAtPos(1, 147); + else if ((active2 & 0x400000L) != 0x0L) + return jjStopAtPos(1, 150); break; case '<': - if ((active1 & 0x40000000000000L) != 0x0L) + if ((active1 & 0x20000000000000L) != 0x0L) { - jjmatchedKind = 118; + jjmatchedKind = 117; jjmatchedPos = 1; } - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x400L); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x200L); case '=': - if ((active1 & 0x10000000L) != 0x0L) - return jjStopAtPos(1, 92); - else if ((active1 & 0x20000000L) != 0x0L) + if ((active1 & 0x8000000L) != 0x0L) + return jjStopAtPos(1, 91); + else if ((active1 & 0x10000000L) != 0x0L) { - jjmatchedKind = 93; + jjmatchedKind = 92; jjmatchedPos = 1; } - else if ((active1 & 0x80000000L) != 0x0L) - return jjStopAtPos(1, 95); - else if ((active1 & 0x200000000L) != 0x0L) - return jjStopAtPos(1, 97); + else if ((active1 & 0x40000000L) != 0x0L) + return jjStopAtPos(1, 94); + else if ((active1 & 0x100000000L) != 0x0L) + return jjStopAtPos(1, 96); + else if ((active1 & 0x800000000000000L) != 0x0L) + return jjStopAtPos(1, 123); else if ((active1 & 0x1000000000000000L) != 0x0L) return jjStopAtPos(1, 124); else if ((active1 & 0x2000000000000000L) != 0x0L) @@ -365,77 +363,75 @@ else if ((active1 & 0x4000000000000000L) != 0x0L) return jjStopAtPos(1, 126); else if ((active1 & 0x8000000000000000L) != 0x0L) return jjStopAtPos(1, 127); - else if ((active2 & 0x1L) != 0x0L) - return jjStopAtPos(1, 128); - else if ((active2 & 0x4L) != 0x0L) - return jjStopAtPos(1, 130); - else if ((active2 & 0x10L) != 0x0L) - return jjStopAtPos(1, 132); - else if ((active2 & 0x40L) != 0x0L) - return jjStopAtPos(1, 134); - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x20000L); + else if ((active2 & 0x2L) != 0x0L) + return jjStopAtPos(1, 129); + else if ((active2 & 0x8L) != 0x0L) + return jjStopAtPos(1, 131); + else if ((active2 & 0x20L) != 0x0L) + return jjStopAtPos(1, 133); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x10000L); case '>': - if ((active1 & 0x100000000000000L) != 0x0L) + if ((active1 & 0x80000000000000L) != 0x0L) { - jjmatchedKind = 120; + jjmatchedKind = 119; jjmatchedPos = 1; } - else if ((active2 & 0x10000L) != 0x0L) - return jjStopAtPos(1, 144); - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x400000000000000L, active2, 0x5000L); + else if ((active2 & 0x8000L) != 0x0L) + return jjStopAtPos(1, 143); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x200000000000000L, active2, 0x2800L); case '?': - if ((active2 & 0x80000L) != 0x0L) + if ((active2 & 0x40000L) != 0x0L) { - jjmatchedKind = 147; + jjmatchedKind = 146; jjmatchedPos = 1; } - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x40000L); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x0L, active2, 0x20000L); case 'a': - return jjMoveStringLiteralDfa2_0(active0, 0x90008030000L, active1, 0x2000000000L, active2, 0x2L); + return jjMoveStringLiteralDfa2_0(active0, 0x48004018000L, active1, 0x1000000000L, active2, 0x1L); case 'b': - return jjMoveStringLiteralDfa2_0(active0, 0x800L, active1, 0x2a00000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa2_0(active0, 0x400L, active1, 0x1500000000000L, active2, 0x0L); case 'e': - return jjMoveStringLiteralDfa2_0(active0, 0x820000200000L, active1, 0x0L, active2, 0x4000000L); + return jjMoveStringLiteralDfa2_0(active0, 0x410000100000L, active1, 0x0L, active2, 0x2000000L); case 'f': - if ((active0 & 0x200000000L) != 0x0L) - return jjStartNfaWithStates_0(1, 33, 42); + if ((active0 & 0x100000000L) != 0x0L) + return jjStartNfaWithStates_0(1, 32, 35); break; case 'g': - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x100800000L, active2, 0x0L); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x80400000L, active2, 0x0L); case 'h': - return jjMoveStringLiteralDfa2_0(active0, 0x30c1000000040000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa2_0(active0, 0x1860800000020000L, active1, 0x0L, active2, 0x0L); case 'i': - return jjMoveStringLiteralDfa2_0(active0, 0x30000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa2_0(active0, 0x18000000L, active1, 0x0L, active2, 0x0L); case 'l': - return jjMoveStringLiteralDfa2_0(active0, 0x41004000L, active1, 0x80000042000000L, active2, 0x800L); + return jjMoveStringLiteralDfa2_0(active0, 0x20802000L, active1, 0x40000021000000L, active2, 0x400L); case 'm': - return jjMoveStringLiteralDfa2_0(active0, 0xc00000000L, active1, 0x8000000000000L, active2, 0x80L); + return jjMoveStringLiteralDfa2_0(active0, 0x600000000L, active1, 0x4000000000000L, active2, 0x40L); case 'n': - return jjMoveStringLiteralDfa2_0(active0, 0x7002000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa2_0(active0, 0x3801000000L, active1, 0x0L, active2, 0x0L); case 'o': - if ((active0 & 0x400000L) != 0x0L) + if ((active0 & 0x200000L) != 0x0L) { - jjmatchedKind = 22; + jjmatchedKind = 21; jjmatchedPos = 1; } - return jjMoveStringLiteralDfa2_0(active0, 0xc00008180981000L, active1, 0x800000000L, active2, 0x8L); + return jjMoveStringLiteralDfa2_0(active0, 0x6000040c04c0800L, active1, 0x400000000L, active2, 0x4L); case 'p': - return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x20000000000000L, active2, 0x200L); + return jjMoveStringLiteralDfa2_0(active0, 0x0L, active1, 0x10000000000000L, active2, 0x100L); case 'r': - return jjMoveStringLiteralDfa2_0(active0, 0x320300000002000L, active1, 0xa00000000000000L, active2, 0xa000L); + return jjMoveStringLiteralDfa2_0(active0, 0x190180000001000L, active1, 0x500000000000000L, active2, 0x5000L); case 't': - return jjMoveStringLiteralDfa2_0(active0, 0x6000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa2_0(active0, 0x3000000000000L, active1, 0x0L, active2, 0x0L); case 'u': - return jjMoveStringLiteralDfa2_0(active0, 0x440000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa2_0(active0, 0x220000000000L, active1, 0x0L, active2, 0x0L); case 'w': - return jjMoveStringLiteralDfa2_0(active0, 0x8000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa2_0(active0, 0x4000000000000L, active1, 0x0L, active2, 0x0L); case 'x': - return jjMoveStringLiteralDfa2_0(active0, 0x4000000L, active1, 0x0L, active2, 0x20L); + return jjMoveStringLiteralDfa2_0(active0, 0x2000000L, active1, 0x0L, active2, 0x10L); case 'y': - return jjMoveStringLiteralDfa2_0(active0, 0x10000000008000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa2_0(active0, 0x8000000004000L, active1, 0x0L, active2, 0x0L); case '|': - if ((active1 & 0x400000000L) != 0x0L) - return jjStopAtPos(1, 98); + if ((active1 & 0x200000000L) != 0x0L) + return jjStopAtPos(1, 97); break; default : break; @@ -453,85 +449,85 @@ private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long a switch(curChar) { case '.': - if ((active2 & 0x1000000L) != 0x0L) - return jjStopAtPos(2, 152); + if ((active2 & 0x800000L) != 0x0L) + return jjStopAtPos(2, 151); break; case '=': - if ((active2 & 0x100L) != 0x0L) - return jjStopAtPos(2, 136); - else if ((active2 & 0x400L) != 0x0L) - return jjStopAtPos(2, 138); - else if ((active2 & 0x1000L) != 0x0L) - return jjStopAtPos(2, 140); - else if ((active2 & 0x40000L) != 0x0L) - return jjStopAtPos(2, 146); + if ((active2 & 0x80L) != 0x0L) + return jjStopAtPos(2, 135); + else if ((active2 & 0x200L) != 0x0L) + return jjStopAtPos(2, 137); + else if ((active2 & 0x800L) != 0x0L) + return jjStopAtPos(2, 139); + else if ((active2 & 0x20000L) != 0x0L) + return jjStopAtPos(2, 145); break; case '>': - if ((active1 & 0x400000000000000L) != 0x0L) + if ((active1 & 0x200000000000000L) != 0x0L) { - jjmatchedKind = 122; + jjmatchedKind = 121; jjmatchedPos = 2; } - else if ((active2 & 0x20000L) != 0x0L) - return jjStopAtPos(2, 145); - return jjMoveStringLiteralDfa3_0(active0, 0x0L, active1, 0x0L, active2, 0x4000L); + else if ((active2 & 0x10000L) != 0x0L) + return jjStopAtPos(2, 144); + return jjMoveStringLiteralDfa3_0(active0, 0x0L, active1, 0x0L, active2, 0x2000L); case 'a': - return jjMoveStringLiteralDfa3_0(active0, 0x22000000044000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa3_0(active0, 0x11000000022000L, active1, 0x0L, active2, 0x0L); case 'b': - return jjMoveStringLiteralDfa3_0(active0, 0x400000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa3_0(active0, 0x200000000000L, active1, 0x0L, active2, 0x0L); case 'c': - return jjMoveStringLiteralDfa3_0(active0, 0x80000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa3_0(active0, 0x40000000000L, active1, 0x0L, active2, 0x0L); case 'e': - return jjMoveStringLiteralDfa3_0(active0, 0x1000000000002000L, active1, 0x80000000000000L, active2, 0x800L); + return jjMoveStringLiteralDfa3_0(active0, 0x800000000001000L, active1, 0x40000000000000L, active2, 0x400L); case 'f': - return jjMoveStringLiteralDfa3_0(active0, 0x200000L, active1, 0x0L, active2, 0x4000000L); + return jjMoveStringLiteralDfa3_0(active0, 0x100000L, active1, 0x0L, active2, 0x2000000L); case 'i': - return jjMoveStringLiteralDfa3_0(active0, 0x2408100000000000L, active1, 0xa02a00000000000L, active2, 0xa000L); + return jjMoveStringLiteralDfa3_0(active0, 0x1204080000000000L, active1, 0x501500000000000L, active2, 0x5000L); case 'l': - return jjMoveStringLiteralDfa3_0(active0, 0x800040008000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa3_0(active0, 0x400020004000000L, active1, 0x0L, active2, 0x0L); case 'n': - return jjMoveStringLiteralDfa3_0(active0, 0x10008030180000L, active1, 0x2000000000L, active2, 0x2L); + return jjMoveStringLiteralDfa3_0(active0, 0x80040180c0000L, active1, 0x1000000000L, active2, 0x1L); case 'o': - return jjMoveStringLiteralDfa3_0(active0, 0x1200040001000L, active1, 0x28000000000000L, active2, 0x2a0L); + return jjMoveStringLiteralDfa3_0(active0, 0x900020000800L, active1, 0x14000000000000L, active2, 0x150L); case 'p': - return jjMoveStringLiteralDfa3_0(active0, 0xc00000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa3_0(active0, 0x600000000L, active1, 0x0L, active2, 0x0L); case 'r': - if ((active0 & 0x80000000L) != 0x0L) - return jjStartNfaWithStates_0(2, 31, 42); - else if ((active1 & 0x800000000L) != 0x0L) + if ((active0 & 0x40000000L) != 0x0L) + return jjStartNfaWithStates_0(2, 30, 35); + else if ((active1 & 0x400000000L) != 0x0L) { - jjmatchedKind = 99; + jjmatchedKind = 98; jjmatchedPos = 2; } - return jjMoveStringLiteralDfa3_0(active0, 0xc4000000000000L, active1, 0x0L, active2, 0x8L); + return jjMoveStringLiteralDfa3_0(active0, 0x62000000000000L, active1, 0x0L, active2, 0x4L); case 's': - return jjMoveStringLiteralDfa3_0(active0, 0x1001010800L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa3_0(active0, 0x800808400L, active1, 0x0L, active2, 0x0L); case 't': - if ((active0 & 0x2000000000L) != 0x0L) + if ((active0 & 0x1000000000L) != 0x0L) { - jjmatchedKind = 37; + jjmatchedKind = 36; jjmatchedPos = 2; } - else if ((active1 & 0x800000L) != 0x0L) + else if ((active1 & 0x400000L) != 0x0L) { - jjmatchedKind = 87; + jjmatchedKind = 86; jjmatchedPos = 2; } - else if ((active1 & 0x2000000L) != 0x0L) + else if ((active1 & 0x1000000L) != 0x0L) { - jjmatchedKind = 89; + jjmatchedKind = 88; jjmatchedPos = 2; } - return jjMoveStringLiteralDfa3_0(active0, 0x814104028000L, active1, 0x140000000L, active2, 0x0L); + return jjMoveStringLiteralDfa3_0(active0, 0x40a082014000L, active1, 0xa0000000L, active2, 0x0L); case 'u': - return jjMoveStringLiteralDfa3_0(active0, 0x100000002800000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa3_0(active0, 0x80000001400000L, active1, 0x0L, active2, 0x0L); case 'w': - if ((active0 & 0x20000000000L) != 0x0L) - return jjStartNfaWithStates_0(2, 41, 42); + if ((active0 & 0x10000000000L) != 0x0L) + return jjStartNfaWithStates_0(2, 40, 35); break; case 'y': - if ((active0 & 0x200000000000000L) != 0x0L) - return jjStartNfaWithStates_0(2, 57, 42); + if ((active0 & 0x100000000000000L) != 0x0L) + return jjStartNfaWithStates_0(2, 56, 35); break; default : break; @@ -549,86 +545,86 @@ private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long a switch(curChar) { case '=': - if ((active2 & 0x4000L) != 0x0L) - return jjStopAtPos(3, 142); + if ((active2 & 0x2000L) != 0x0L) + return jjStopAtPos(3, 141); break; case '_': - return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x0L, active2, 0x8L); + return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x0L, active2, 0x4L); case 'a': - return jjMoveStringLiteralDfa4_0(active0, 0x800000070202000L, active1, 0x0L, active2, 0x4000000L); + return jjMoveStringLiteralDfa4_0(active0, 0x400000038101000L, active1, 0x0L, active2, 0x2000000L); case 'b': - return jjMoveStringLiteralDfa4_0(active0, 0x800000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa4_0(active0, 0x400000L, active1, 0x0L, active2, 0x0L); case 'c': - return jjMoveStringLiteralDfa4_0(active0, 0x10000000020000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa4_0(active0, 0x8000000010000L, active1, 0x0L, active2, 0x0L); case 'd': - if ((active0 & 0x400000000000000L) != 0x0L) - return jjStartNfaWithStates_0(3, 58, 42); - else if ((active1 & 0x2000000000L) != 0x0L) + if ((active0 & 0x200000000000000L) != 0x0L) + return jjStartNfaWithStates_0(3, 57, 35); + else if ((active1 & 0x1000000000L) != 0x0L) { - jjmatchedKind = 101; + jjmatchedKind = 100; jjmatchedPos = 3; } - else if ((active1 & 0x8000000000000L) != 0x0L) + else if ((active1 & 0x4000000000000L) != 0x0L) { - jjmatchedKind = 115; + jjmatchedKind = 114; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x0L, active2, 0x82L); + return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x0L, active2, 0x41L); case 'e': - if ((active0 & 0x8000L) != 0x0L) - return jjStartNfaWithStates_0(3, 15, 42); - else if ((active0 & 0x10000L) != 0x0L) - return jjStartNfaWithStates_0(3, 16, 42); - else if ((active0 & 0x1000000L) != 0x0L) - return jjStartNfaWithStates_0(3, 24, 42); - else if ((active0 & 0x100000000000000L) != 0x0L) - return jjStartNfaWithStates_0(3, 56, 42); - return jjMoveStringLiteralDfa4_0(active0, 0x4004000000L, active1, 0x140000000L, active2, 0x0L); + if ((active0 & 0x4000L) != 0x0L) + return jjStartNfaWithStates_0(3, 14, 35); + else if ((active0 & 0x8000L) != 0x0L) + return jjStartNfaWithStates_0(3, 15, 35); + else if ((active0 & 0x800000L) != 0x0L) + return jjStartNfaWithStates_0(3, 23, 35); + else if ((active0 & 0x80000000000000L) != 0x0L) + return jjStartNfaWithStates_0(3, 55, 35); + return jjMoveStringLiteralDfa4_0(active0, 0x2002000000L, active1, 0xa0000000L, active2, 0x0L); case 'f': - return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x80000000000000L, active2, 0x800L); + return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x40000000000000L, active2, 0x400L); case 'g': - if ((active0 & 0x8000000000L) != 0x0L) - return jjStartNfaWithStates_0(3, 39, 42); - return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0xa00000000000000L, active2, 0xa000L); + if ((active0 & 0x4000000000L) != 0x0L) + return jjStartNfaWithStates_0(3, 38, 35); + return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x500000000000000L, active2, 0x5000L); case 'i': - return jjMoveStringLiteralDfa4_0(active0, 0x4010000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa4_0(active0, 0x2008000000000L, active1, 0x0L, active2, 0x0L); case 'k': - return jjMoveStringLiteralDfa4_0(active0, 0x80000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa4_0(active0, 0x40000000000L, active1, 0x0L, active2, 0x0L); case 'l': - if ((active0 & 0x40000000000L) != 0x0L) - return jjStartNfaWithStates_0(3, 42, 42); - return jjMoveStringLiteralDfa4_0(active0, 0x2000400400001000L, active1, 0x0L, active2, 0x0L); + if ((active0 & 0x20000000000L) != 0x0L) + return jjStartNfaWithStates_0(3, 41, 35); + return jjMoveStringLiteralDfa4_0(active0, 0x1000200200000800L, active1, 0x0L, active2, 0x0L); case 'm': - if ((active0 & 0x2000000L) != 0x0L) - return jjStartNfaWithStates_0(3, 25, 42); + if ((active0 & 0x1000000L) != 0x0L) + return jjStartNfaWithStates_0(3, 24, 35); break; case 'n': - if ((active0 & 0x1000000000000000L) != 0x0L) - return jjStartNfaWithStates_0(3, 60, 42); - return jjMoveStringLiteralDfa4_0(active0, 0x20000000000000L, active1, 0x0L, active2, 0x0L); + if ((active0 & 0x800000000000000L) != 0x0L) + return jjStartNfaWithStates_0(3, 59, 35); + return jjMoveStringLiteralDfa4_0(active0, 0x10000000000000L, active1, 0x0L, active2, 0x0L); case 'o': - if ((active0 & 0x100000000L) != 0x0L) - return jjStartNfaWithStates_0(3, 32, 42); - return jjMoveStringLiteralDfa4_0(active0, 0xc0000800000000L, active1, 0x0L, active2, 0x0L); + if ((active0 & 0x80000000L) != 0x0L) + return jjStartNfaWithStates_0(3, 31, 35); + return jjMoveStringLiteralDfa4_0(active0, 0x60000400000000L, active1, 0x0L, active2, 0x0L); case 'r': - if ((active0 & 0x40000L) != 0x0L) - return jjStartNfaWithStates_0(3, 18, 42); - return jjMoveStringLiteralDfa4_0(active0, 0x1000000000000L, active1, 0x0L, active2, 0x20L); + if ((active0 & 0x20000L) != 0x0L) + return jjStartNfaWithStates_0(3, 17, 35); + return jjMoveStringLiteralDfa4_0(active0, 0x800000000000L, active1, 0x0L, active2, 0x10L); case 's': - return jjMoveStringLiteralDfa4_0(active0, 0x8084000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa4_0(active0, 0x4042000L, active1, 0x0L, active2, 0x0L); case 't': - return jjMoveStringLiteralDfa4_0(active0, 0xa201000100800L, active1, 0x2a00000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa4_0(active0, 0x5100800080400L, active1, 0x1500000000000L, active2, 0x0L); case 'u': - return jjMoveStringLiteralDfa4_0(active0, 0x800000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa4_0(active0, 0x400000000000L, active1, 0x0L, active2, 0x0L); case 'v': - return jjMoveStringLiteralDfa4_0(active0, 0x100000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa4_0(active0, 0x80000000000L, active1, 0x0L, active2, 0x0L); case 'w': - if ((active1 & 0x20000000000000L) != 0x0L) + if ((active1 & 0x10000000000000L) != 0x0L) { - jjmatchedKind = 117; + jjmatchedKind = 116; jjmatchedPos = 3; } - return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x0L, active2, 0x200L); + return jjMoveStringLiteralDfa4_0(active0, 0x0L, active1, 0x0L, active2, 0x100L); default : break; } @@ -645,67 +641,67 @@ private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long a switch(curChar) { case '_': - return jjMoveStringLiteralDfa5_0(active0, 0x0L, active1, 0x0L, active2, 0x2a2L); + return jjMoveStringLiteralDfa5_0(active0, 0x0L, active1, 0x0L, active2, 0x151L); case 'a': - return jjMoveStringLiteralDfa5_0(active0, 0x181000000000L, active1, 0x0L, active2, 0x8L); + return jjMoveStringLiteralDfa5_0(active0, 0xc0800000000L, active1, 0x0L, active2, 0x4L); case 'c': - return jjMoveStringLiteralDfa5_0(active0, 0xc000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa5_0(active0, 0x6000000000000L, active1, 0x0L, active2, 0x0L); case 'e': - if ((active0 & 0x8000000L) != 0x0L) - return jjStartNfaWithStates_0(4, 27, 42); - else if ((active0 & 0x2000000000000000L) != 0x0L) - return jjStartNfaWithStates_0(4, 61, 42); - return jjMoveStringLiteralDfa5_0(active0, 0x200400001000L, active1, 0x0L, active2, 0x0L); + if ((active0 & 0x4000000L) != 0x0L) + return jjStartNfaWithStates_0(4, 26, 35); + else if ((active0 & 0x1000000000000000L) != 0x0L) + return jjStartNfaWithStates_0(4, 60, 35); + return jjMoveStringLiteralDfa5_0(active0, 0x100200000800L, active1, 0x0L, active2, 0x0L); case 'h': - if ((active0 & 0x20000L) != 0x0L) - return jjStartNfaWithStates_0(4, 17, 42); - return jjMoveStringLiteralDfa5_0(active0, 0x10000000000000L, active1, 0xa00000000000000L, active2, 0xa000L); + if ((active0 & 0x10000L) != 0x0L) + return jjStartNfaWithStates_0(4, 16, 35); + return jjMoveStringLiteralDfa5_0(active0, 0x8000000000000L, active1, 0x500000000000000L, active2, 0x5000L); case 'i': - return jjMoveStringLiteralDfa5_0(active0, 0x2400000100000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa5_0(active0, 0x1200000080000L, active1, 0x0L, active2, 0x0L); case 'k': - if ((active0 & 0x2000L) != 0x0L) - return jjStartNfaWithStates_0(4, 13, 42); + if ((active0 & 0x1000L) != 0x0L) + return jjStartNfaWithStates_0(4, 12, 35); break; case 'l': - if ((active0 & 0x10000000L) != 0x0L) + if ((active0 & 0x8000000L) != 0x0L) { - jjmatchedKind = 28; + jjmatchedKind = 27; jjmatchedPos = 4; } - return jjMoveStringLiteralDfa5_0(active0, 0x20800000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa5_0(active0, 0x10400000L, active1, 0x0L, active2, 0x0L); case 'n': - return jjMoveStringLiteralDfa5_0(active0, 0x4000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa5_0(active0, 0x2000000L, active1, 0x0L, active2, 0x0L); case 'q': - if ((active1 & 0x40000000L) != 0x0L) - return jjStopAtPos(4, 94); - else if ((active1 & 0x100000000L) != 0x0L) - return jjStopAtPos(4, 96); + if ((active1 & 0x20000000L) != 0x0L) + return jjStopAtPos(4, 93); + else if ((active1 & 0x80000000L) != 0x0L) + return jjStopAtPos(4, 95); break; case 'r': - return jjMoveStringLiteralDfa5_0(active0, 0x804800000800L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa5_0(active0, 0x402400000400L, active1, 0x0L, active2, 0x0L); case 's': - if ((active0 & 0x4000L) != 0x0L) - return jjStartNfaWithStates_0(4, 14, 42); - return jjMoveStringLiteralDfa5_0(active0, 0x20000000000000L, active1, 0x0L, active2, 0x0L); + if ((active0 & 0x2000L) != 0x0L) + return jjStartNfaWithStates_0(4, 13, 35); + return jjMoveStringLiteralDfa5_0(active0, 0x10000000000000L, active1, 0x0L, active2, 0x0L); case 't': - if ((active0 & 0x80000L) != 0x0L) - return jjStartNfaWithStates_0(4, 19, 42); - else if ((active0 & 0x40000000L) != 0x0L) - return jjStartNfaWithStates_0(4, 30, 42); - else if ((active0 & 0x1000000000000L) != 0x0L) - return jjStartNfaWithStates_0(4, 48, 42); - return jjMoveStringLiteralDfa5_0(active0, 0x800000000000000L, active1, 0x80000000000000L, active2, 0x800L); + if ((active0 & 0x40000L) != 0x0L) + return jjStartNfaWithStates_0(4, 18, 35); + else if ((active0 & 0x20000000L) != 0x0L) + return jjStartNfaWithStates_0(4, 29, 35); + else if ((active0 & 0x800000000000L) != 0x0L) + return jjStartNfaWithStates_0(4, 47, 35); + return jjMoveStringLiteralDfa5_0(active0, 0x400000000000000L, active1, 0x40000000000000L, active2, 0x400L); case 'u': - return jjMoveStringLiteralDfa5_0(active0, 0x200000L, active1, 0x0L, active2, 0x4000000L); + return jjMoveStringLiteralDfa5_0(active0, 0x100000L, active1, 0x0L, active2, 0x2000000L); case 'v': - return jjMoveStringLiteralDfa5_0(active0, 0x10000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa5_0(active0, 0x8000000000L, active1, 0x0L, active2, 0x0L); case 'w': - if ((active0 & 0x40000000000000L) != 0x0L) + if ((active0 & 0x20000000000000L) != 0x0L) { - jjmatchedKind = 54; + jjmatchedKind = 53; jjmatchedPos = 4; } - return jjMoveStringLiteralDfa5_0(active0, 0x80000000000000L, active1, 0x2a00000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa5_0(active0, 0x40000000000000L, active1, 0x1500000000000L, active2, 0x0L); default : break; } @@ -722,51 +718,51 @@ private int jjMoveStringLiteralDfa5_0(long old0, long active0, long old1, long a switch(curChar) { case '_': - return jjMoveStringLiteralDfa6_0(active0, 0x0L, active1, 0x80000000000000L, active2, 0x800L); + return jjMoveStringLiteralDfa6_0(active0, 0x0L, active1, 0x40000000000000L, active2, 0x400L); case 'a': - return jjMoveStringLiteralDfa6_0(active0, 0x1800L, active1, 0x0L, active2, 0x2a2L); + return jjMoveStringLiteralDfa6_0(active0, 0xc00L, active1, 0x0L, active2, 0x151L); case 'c': - if ((active0 & 0x400000000000L) != 0x0L) - return jjStartNfaWithStates_0(5, 46, 42); - else if ((active0 & 0x2000000000000L) != 0x0L) - return jjStartNfaWithStates_0(5, 49, 42); - return jjMoveStringLiteralDfa6_0(active0, 0x200000000000L, active1, 0x0L, active2, 0x0L); + if ((active0 & 0x200000000000L) != 0x0L) + return jjStartNfaWithStates_0(5, 45, 35); + else if ((active0 & 0x1000000000000L) != 0x0L) + return jjStartNfaWithStates_0(5, 48, 35); + return jjMoveStringLiteralDfa6_0(active0, 0x100000000000L, active1, 0x0L, active2, 0x0L); case 'd': - return jjMoveStringLiteralDfa6_0(active0, 0x4000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa6_0(active0, 0x2000000L, active1, 0x0L, active2, 0x0L); case 'e': - if ((active0 & 0x800000L) != 0x0L) - return jjStartNfaWithStates_0(5, 23, 42); - else if ((active0 & 0x10000000000L) != 0x0L) - return jjStartNfaWithStates_0(5, 40, 42); + if ((active0 & 0x400000L) != 0x0L) + return jjStartNfaWithStates_0(5, 22, 35); + else if ((active0 & 0x8000000000L) != 0x0L) + return jjStartNfaWithStates_0(5, 39, 35); break; case 'f': - return jjMoveStringLiteralDfa6_0(active0, 0x4000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa6_0(active0, 0x2000000000L, active1, 0x0L, active2, 0x0L); case 'g': - return jjMoveStringLiteralDfa6_0(active0, 0x80000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa6_0(active0, 0x40000000000L, active1, 0x0L, active2, 0x0L); case 'h': - if ((active0 & 0x8000000000000L) != 0x0L) - return jjStartNfaWithStates_0(5, 51, 42); + if ((active0 & 0x4000000000000L) != 0x0L) + return jjStartNfaWithStates_0(5, 50, 35); break; case 'i': - return jjMoveStringLiteralDfa6_0(active0, 0x820000000000000L, active1, 0x2a00000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa6_0(active0, 0x410000000000000L, active1, 0x1500000000000L, active2, 0x0L); case 'l': - return jjMoveStringLiteralDfa6_0(active0, 0x20200000L, active1, 0x0L, active2, 0x4000000L); + return jjMoveStringLiteralDfa6_0(active0, 0x10100000L, active1, 0x0L, active2, 0x2000000L); case 'm': - return jjMoveStringLiteralDfa6_0(active0, 0x400000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa6_0(active0, 0x200000000L, active1, 0x0L, active2, 0x0L); case 'n': - if ((active0 & 0x800000000000L) != 0x0L) - return jjStartNfaWithStates_0(5, 47, 42); - return jjMoveStringLiteralDfa6_0(active0, 0x1000100000L, active1, 0x0L, active2, 0x0L); + if ((active0 & 0x400000000000L) != 0x0L) + return jjStartNfaWithStates_0(5, 46, 35); + return jjMoveStringLiteralDfa6_0(active0, 0x800080000L, active1, 0x0L, active2, 0x0L); case 'r': - return jjMoveStringLiteralDfa6_0(active0, 0x10000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa6_0(active0, 0x8000000000000L, active1, 0x0L, active2, 0x0L); case 's': - if ((active0 & 0x80000000000000L) != 0x0L) - return jjStartNfaWithStates_0(5, 55, 42); - return jjMoveStringLiteralDfa6_0(active0, 0x0L, active1, 0x0L, active2, 0x8L); + if ((active0 & 0x40000000000000L) != 0x0L) + return jjStartNfaWithStates_0(5, 54, 35); + return jjMoveStringLiteralDfa6_0(active0, 0x0L, active1, 0x0L, active2, 0x4L); case 't': - if ((active0 & 0x800000000L) != 0x0L) - return jjStartNfaWithStates_0(5, 35, 42); - return jjMoveStringLiteralDfa6_0(active0, 0x4100000000000L, active1, 0xa00000000000000L, active2, 0xa000L); + if ((active0 & 0x400000000L) != 0x0L) + return jjStartNfaWithStates_0(5, 34, 35); + return jjMoveStringLiteralDfa6_0(active0, 0x2080000000000L, active1, 0x500000000000000L, active2, 0x5000L); default : break; } @@ -783,43 +779,43 @@ private int jjMoveStringLiteralDfa6_0(long old0, long active0, long old1, long a switch(curChar) { case '_': - return jjMoveStringLiteralDfa7_0(active0, 0x0L, active1, 0xa00000000000000L, active2, 0xa000L); + return jjMoveStringLiteralDfa7_0(active0, 0x0L, active1, 0x500000000000000L, active2, 0x5000L); case 'a': - return jjMoveStringLiteralDfa7_0(active0, 0x4000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa7_0(active0, 0x2000000000L, active1, 0x0L, active2, 0x0L); case 'c': - return jjMoveStringLiteralDfa7_0(active0, 0x1000000800L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa7_0(active0, 0x800000400L, active1, 0x0L, active2, 0x0L); case 'e': - if ((active0 & 0x80000000000L) != 0x0L) - return jjStartNfaWithStates_0(6, 43, 42); - else if ((active0 & 0x100000000000L) != 0x0L) - return jjStartNfaWithStates_0(6, 44, 42); - return jjMoveStringLiteralDfa7_0(active0, 0x20000400000000L, active1, 0x0L, active2, 0x0L); + if ((active0 & 0x40000000000L) != 0x0L) + return jjStartNfaWithStates_0(6, 42, 35); + else if ((active0 & 0x80000000000L) != 0x0L) + return jjStartNfaWithStates_0(6, 43, 35); + return jjMoveStringLiteralDfa7_0(active0, 0x10000200000000L, active1, 0x0L, active2, 0x0L); case 'f': - return jjMoveStringLiteralDfa7_0(active0, 0x4000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa7_0(active0, 0x2000000000000L, active1, 0x0L, active2, 0x0L); case 'l': - return jjMoveStringLiteralDfa7_0(active0, 0x800000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa7_0(active0, 0x400000000000000L, active1, 0x0L, active2, 0x0L); case 'n': - if ((active0 & 0x1000L) != 0x0L) - return jjStartNfaWithStates_0(6, 12, 42); + if ((active0 & 0x800L) != 0x0L) + return jjStartNfaWithStates_0(6, 11, 35); break; case 'o': - return jjMoveStringLiteralDfa7_0(active0, 0x10000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa7_0(active0, 0x8000000000000L, active1, 0x0L, active2, 0x0L); case 's': - if ((active0 & 0x4000000L) != 0x0L) - return jjStartNfaWithStates_0(6, 26, 42); - return jjMoveStringLiteralDfa7_0(active0, 0x0L, active1, 0x82a00000000000L, active2, 0xaaaL); + if ((active0 & 0x2000000L) != 0x0L) + return jjStartNfaWithStates_0(6, 25, 35); + return jjMoveStringLiteralDfa7_0(active0, 0x0L, active1, 0x41500000000000L, active2, 0x555L); case 't': - if ((active0 & 0x200000L) != 0x0L) + if ((active0 & 0x100000L) != 0x0L) { - jjmatchedKind = 21; + jjmatchedKind = 20; jjmatchedPos = 6; } - return jjMoveStringLiteralDfa7_0(active0, 0x200000000000L, active1, 0x0L, active2, 0x4000000L); + return jjMoveStringLiteralDfa7_0(active0, 0x100000000000L, active1, 0x0L, active2, 0x2000000L); case 'u': - return jjMoveStringLiteralDfa7_0(active0, 0x100000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa7_0(active0, 0x80000L, active1, 0x0L, active2, 0x0L); case 'y': - if ((active0 & 0x20000000L) != 0x0L) - return jjStartNfaWithStates_0(6, 29, 42); + if ((active0 & 0x10000000L) != 0x0L) + return jjStartNfaWithStates_0(6, 28, 35); break; default : break; @@ -837,35 +833,35 @@ private int jjMoveStringLiteralDfa7_0(long old0, long active0, long old1, long a switch(curChar) { case ':': - if ((active2 & 0x4000000L) != 0x0L) - return jjStopAtPos(7, 154); + if ((active2 & 0x2000000L) != 0x0L) + return jjStopAtPos(7, 153); break; case 'c': - return jjMoveStringLiteralDfa8_0(active0, 0x4000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa8_0(active0, 0x2000000000L, active1, 0x0L, active2, 0x0L); case 'e': - if ((active0 & 0x100000L) != 0x0L) - return jjStartNfaWithStates_0(7, 20, 42); - else if ((active0 & 0x800000000000000L) != 0x0L) - return jjStartNfaWithStates_0(7, 59, 42); - return jjMoveStringLiteralDfa8_0(active0, 0x201000000000L, active1, 0x2a00000000000L, active2, 0x0L); + if ((active0 & 0x80000L) != 0x0L) + return jjStartNfaWithStates_0(7, 19, 35); + else if ((active0 & 0x400000000000000L) != 0x0L) + return jjStartNfaWithStates_0(7, 58, 35); + return jjMoveStringLiteralDfa8_0(active0, 0x100800000000L, active1, 0x1500000000000L, active2, 0x0L); case 'h': - return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x80000000000000L, active2, 0x800L); + return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x40000000000000L, active2, 0x400L); case 'i': - return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x0L, active2, 0x8L); + return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x0L, active2, 0x4L); case 'n': - return jjMoveStringLiteralDfa8_0(active0, 0x30000400000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa8_0(active0, 0x18000200000000L, active1, 0x0L, active2, 0x0L); case 'p': - if ((active0 & 0x4000000000000L) != 0x0L) - return jjStartNfaWithStates_0(7, 50, 42); + if ((active0 & 0x2000000000000L) != 0x0L) + return jjStartNfaWithStates_0(7, 49, 35); break; case 's': - return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x200000000000000L, active2, 0x22a2L); + return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x100000000000000L, active2, 0x1151L); case 't': - if ((active0 & 0x800L) != 0x0L) - return jjStartNfaWithStates_0(7, 11, 42); + if ((active0 & 0x400L) != 0x0L) + return jjStartNfaWithStates_0(7, 10, 35); break; case 'u': - return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x800000000000000L, active2, 0x8000L); + return jjMoveStringLiteralDfa8_0(active0, 0x0L, active1, 0x400000000000000L, active2, 0x4000L); default : break; } @@ -882,29 +878,29 @@ private int jjMoveStringLiteralDfa8_0(long old0, long active0, long old1, long a switch(curChar) { case '_': - return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x2a00000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x1500000000000L, active2, 0x0L); case 'd': - if ((active0 & 0x200000000000L) != 0x0L) - return jjStartNfaWithStates_0(8, 45, 42); + if ((active0 & 0x100000000000L) != 0x0L) + return jjStartNfaWithStates_0(8, 44, 35); break; case 'e': - if ((active0 & 0x4000000000L) != 0x0L) - return jjStartNfaWithStates_0(8, 38, 42); + if ((active0 & 0x2000000000L) != 0x0L) + return jjStartNfaWithStates_0(8, 37, 35); break; case 'g': - return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x0L, active2, 0x8L); + return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x0L, active2, 0x4L); case 'h': - return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x200000000000000L, active2, 0x2000L); + return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x100000000000000L, active2, 0x1000L); case 'i': - return jjMoveStringLiteralDfa9_0(active0, 0x10000000000000L, active1, 0x80000000000000L, active2, 0xaa2L); + return jjMoveStringLiteralDfa9_0(active0, 0x8000000000000L, active1, 0x40000000000000L, active2, 0x551L); case 'n': - return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x800000000000000L, active2, 0x8000L); + return jjMoveStringLiteralDfa9_0(active0, 0x0L, active1, 0x400000000000000L, active2, 0x4000L); case 'o': - return jjMoveStringLiteralDfa9_0(active0, 0x1000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa9_0(active0, 0x800000000L, active1, 0x0L, active2, 0x0L); case 't': - if ((active0 & 0x20000000000000L) != 0x0L) - return jjStartNfaWithStates_0(8, 53, 42); - return jjMoveStringLiteralDfa9_0(active0, 0x400000000L, active1, 0x0L, active2, 0x0L); + if ((active0 & 0x10000000000000L) != 0x0L) + return jjStartNfaWithStates_0(8, 52, 35); + return jjMoveStringLiteralDfa9_0(active0, 0x200000000L, active1, 0x0L, active2, 0x0L); default : break; } @@ -921,29 +917,29 @@ private int jjMoveStringLiteralDfa9_0(long old0, long active0, long old1, long a switch(curChar) { case 'a': - return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x200000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x100000000000L, active2, 0x0L); case 'f': - if ((active0 & 0x1000000000L) != 0x0L) - return jjStartNfaWithStates_0(9, 36, 42); - return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x80000000000000L, active2, 0x800L); + if ((active0 & 0x800000000L) != 0x0L) + return jjStartNfaWithStates_0(9, 35, 35); + return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x40000000000000L, active2, 0x400L); case 'g': - return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x0L, active2, 0x2a2L); + return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x0L, active2, 0x151L); case 'i': - return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x200000000000000L, active2, 0x2000L); + return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x100000000000000L, active2, 0x1000L); case 'n': - if ((active2 & 0x8L) != 0x0L) - return jjStopAtPos(9, 131); + if ((active2 & 0x4L) != 0x0L) + return jjStopAtPos(9, 130); break; case 'o': - return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x800000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x400000000000L, active2, 0x0L); case 's': - if ((active0 & 0x400000000L) != 0x0L) - return jjStartNfaWithStates_0(9, 34, 42); - return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x800000000000000L, active2, 0x8000L); + if ((active0 & 0x200000000L) != 0x0L) + return jjStartNfaWithStates_0(9, 33, 35); + return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x400000000000000L, active2, 0x4000L); case 'x': - return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x2000000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa10_0(active0, 0x0L, active1, 0x1000000000000L, active2, 0x0L); case 'z': - return jjMoveStringLiteralDfa10_0(active0, 0x10000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa10_0(active0, 0x8000000000000L, active1, 0x0L, active2, 0x0L); default : break; } @@ -960,34 +956,34 @@ private int jjMoveStringLiteralDfa10_0(long old0, long active0, long old1, long switch(curChar) { case 'e': - return jjMoveStringLiteralDfa11_0(active0, 0x10000000000000L, active1, 0x0L, active2, 0x0L); + return jjMoveStringLiteralDfa11_0(active0, 0x8000000000000L, active1, 0x0L, active2, 0x0L); case 'f': - return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x200000000000000L, active2, 0x2000L); + return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x100000000000000L, active2, 0x1000L); case 'i': - return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x800000000000000L, active2, 0x8000L); + return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x400000000000000L, active2, 0x4000L); case 'n': - if ((active2 & 0x2L) != 0x0L) - return jjStopAtPos(10, 129); - else if ((active2 & 0x20L) != 0x0L) - return jjStopAtPos(10, 133); - else if ((active2 & 0x80L) != 0x0L) - return jjStopAtPos(10, 135); - else if ((active2 & 0x200L) != 0x0L) - return jjStopAtPos(10, 137); - return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x200000000000L, active2, 0x0L); + if ((active2 & 0x1L) != 0x0L) + return jjStopAtPos(10, 128); + else if ((active2 & 0x10L) != 0x0L) + return jjStopAtPos(10, 132); + else if ((active2 & 0x40L) != 0x0L) + return jjStopAtPos(10, 134); + else if ((active2 & 0x100L) != 0x0L) + return jjStopAtPos(10, 136); + return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x100000000000L, active2, 0x0L); case 'o': - return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x2000000000000L, active2, 0x0L); + return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x1000000000000L, active2, 0x0L); case 'r': - if ((active1 & 0x800000000000L) != 0x0L) - return jjStopAtPos(10, 111); + if ((active1 & 0x400000000000L) != 0x0L) + return jjStopAtPos(10, 110); break; case 't': - if ((active1 & 0x80000000000000L) != 0x0L) + if ((active1 & 0x40000000000000L) != 0x0L) { - jjmatchedKind = 119; + jjmatchedKind = 118; jjmatchedPos = 10; } - return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x0L, active2, 0x800L); + return jjMoveStringLiteralDfa11_0(active0, 0x0L, active1, 0x0L, active2, 0x400L); default : break; } @@ -1004,26 +1000,26 @@ private int jjMoveStringLiteralDfa11_0(long old0, long active0, long old1, long switch(curChar) { case '_': - return jjMoveStringLiteralDfa12_0(active0, 0x0L, active1, 0x0L, active2, 0x800L); + return jjMoveStringLiteralDfa12_0(active0, 0x0L, active1, 0x0L, active2, 0x400L); case 'd': - if ((active0 & 0x10000000000000L) != 0x0L) - return jjStartNfaWithStates_0(11, 52, 42); - else if ((active1 & 0x200000000000L) != 0x0L) - return jjStopAtPos(11, 109); + if ((active0 & 0x8000000000000L) != 0x0L) + return jjStartNfaWithStates_0(11, 51, 35); + else if ((active1 & 0x100000000000L) != 0x0L) + return jjStopAtPos(11, 108); break; case 'g': - return jjMoveStringLiteralDfa12_0(active0, 0x0L, active1, 0x800000000000000L, active2, 0x8000L); + return jjMoveStringLiteralDfa12_0(active0, 0x0L, active1, 0x400000000000000L, active2, 0x4000L); case 'r': - if ((active1 & 0x2000000000000L) != 0x0L) - return jjStopAtPos(11, 113); + if ((active1 & 0x1000000000000L) != 0x0L) + return jjStopAtPos(11, 112); break; case 't': - if ((active1 & 0x200000000000000L) != 0x0L) + if ((active1 & 0x100000000000000L) != 0x0L) { - jjmatchedKind = 121; + jjmatchedKind = 120; jjmatchedPos = 11; } - return jjMoveStringLiteralDfa12_0(active0, 0x0L, active1, 0x0L, active2, 0x2000L); + return jjMoveStringLiteralDfa12_0(active0, 0x0L, active1, 0x0L, active2, 0x1000L); default : break; } @@ -1040,11 +1036,11 @@ private int jjMoveStringLiteralDfa12_0(long old0, long active0, long old1, long switch(curChar) { case '_': - return jjMoveStringLiteralDfa13_0(active1, 0x0L, active2, 0x2000L); + return jjMoveStringLiteralDfa13_0(active1, 0x0L, active2, 0x1000L); case 'a': - return jjMoveStringLiteralDfa13_0(active1, 0x0L, active2, 0x800L); + return jjMoveStringLiteralDfa13_0(active1, 0x0L, active2, 0x400L); case 'n': - return jjMoveStringLiteralDfa13_0(active1, 0x800000000000000L, active2, 0x8000L); + return jjMoveStringLiteralDfa13_0(active1, 0x400000000000000L, active2, 0x4000L); default : break; } @@ -1061,11 +1057,11 @@ private int jjMoveStringLiteralDfa13_0(long old1, long active1, long old2, long switch(curChar) { case 'a': - return jjMoveStringLiteralDfa14_0(active1, 0x0L, active2, 0x2000L); + return jjMoveStringLiteralDfa14_0(active1, 0x0L, active2, 0x1000L); case 'e': - return jjMoveStringLiteralDfa14_0(active1, 0x800000000000000L, active2, 0x8000L); + return jjMoveStringLiteralDfa14_0(active1, 0x400000000000000L, active2, 0x4000L); case 's': - return jjMoveStringLiteralDfa14_0(active1, 0x0L, active2, 0x800L); + return jjMoveStringLiteralDfa14_0(active1, 0x0L, active2, 0x400L); default : break; } @@ -1082,9 +1078,9 @@ private int jjMoveStringLiteralDfa14_0(long old1, long active1, long old2, long switch(curChar) { case 'd': - return jjMoveStringLiteralDfa15_0(active1, 0x800000000000000L, active2, 0x8000L); + return jjMoveStringLiteralDfa15_0(active1, 0x400000000000000L, active2, 0x4000L); case 's': - return jjMoveStringLiteralDfa15_0(active1, 0x0L, active2, 0x2800L); + return jjMoveStringLiteralDfa15_0(active1, 0x0L, active2, 0x1400L); default : break; } @@ -1101,11 +1097,11 @@ private int jjMoveStringLiteralDfa15_0(long old1, long active1, long old2, long switch(curChar) { case '_': - return jjMoveStringLiteralDfa16_0(active1, 0x800000000000000L, active2, 0x8000L); + return jjMoveStringLiteralDfa16_0(active1, 0x400000000000000L, active2, 0x4000L); case 'i': - return jjMoveStringLiteralDfa16_0(active1, 0x0L, active2, 0x800L); + return jjMoveStringLiteralDfa16_0(active1, 0x0L, active2, 0x400L); case 's': - return jjMoveStringLiteralDfa16_0(active1, 0x0L, active2, 0x2000L); + return jjMoveStringLiteralDfa16_0(active1, 0x0L, active2, 0x1000L); default : break; } @@ -1122,11 +1118,11 @@ private int jjMoveStringLiteralDfa16_0(long old1, long active1, long old2, long switch(curChar) { case 'g': - return jjMoveStringLiteralDfa17_0(active1, 0x0L, active2, 0x800L); + return jjMoveStringLiteralDfa17_0(active1, 0x0L, active2, 0x400L); case 'i': - return jjMoveStringLiteralDfa17_0(active1, 0x0L, active2, 0x2000L); + return jjMoveStringLiteralDfa17_0(active1, 0x0L, active2, 0x1000L); case 's': - return jjMoveStringLiteralDfa17_0(active1, 0x800000000000000L, active2, 0x8000L); + return jjMoveStringLiteralDfa17_0(active1, 0x400000000000000L, active2, 0x4000L); default : break; } @@ -1143,12 +1139,12 @@ private int jjMoveStringLiteralDfa17_0(long old1, long active1, long old2, long switch(curChar) { case 'g': - return jjMoveStringLiteralDfa18_0(active1, 0x0L, active2, 0x2000L); + return jjMoveStringLiteralDfa18_0(active1, 0x0L, active2, 0x1000L); case 'h': - return jjMoveStringLiteralDfa18_0(active1, 0x800000000000000L, active2, 0x8000L); + return jjMoveStringLiteralDfa18_0(active1, 0x400000000000000L, active2, 0x4000L); case 'n': - if ((active2 & 0x800L) != 0x0L) - return jjStopAtPos(17, 139); + if ((active2 & 0x400L) != 0x0L) + return jjStopAtPos(17, 138); break; default : break; @@ -1166,10 +1162,10 @@ private int jjMoveStringLiteralDfa18_0(long old1, long active1, long old2, long switch(curChar) { case 'i': - return jjMoveStringLiteralDfa19_0(active1, 0x800000000000000L, active2, 0x8000L); + return jjMoveStringLiteralDfa19_0(active1, 0x400000000000000L, active2, 0x4000L); case 'n': - if ((active2 & 0x2000L) != 0x0L) - return jjStopAtPos(18, 141); + if ((active2 & 0x1000L) != 0x0L) + return jjStopAtPos(18, 140); break; default : break; @@ -1187,7 +1183,7 @@ private int jjMoveStringLiteralDfa19_0(long old1, long active1, long old2, long switch(curChar) { case 'f': - return jjMoveStringLiteralDfa20_0(active1, 0x800000000000000L, active2, 0x8000L); + return jjMoveStringLiteralDfa20_0(active1, 0x400000000000000L, active2, 0x4000L); default : break; } @@ -1204,12 +1200,12 @@ private int jjMoveStringLiteralDfa20_0(long old1, long active1, long old2, long switch(curChar) { case 't': - if ((active1 & 0x800000000000000L) != 0x0L) + if ((active1 & 0x400000000000000L) != 0x0L) { - jjmatchedKind = 123; + jjmatchedKind = 122; jjmatchedPos = 20; } - return jjMoveStringLiteralDfa21_0(active1, 0x0L, active2, 0x8000L); + return jjMoveStringLiteralDfa21_0(active1, 0x0L, active2, 0x4000L); default : break; } @@ -1226,7 +1222,7 @@ private int jjMoveStringLiteralDfa21_0(long old1, long active1, long old2, long switch(curChar) { case '_': - return jjMoveStringLiteralDfa22_0(active2, 0x8000L); + return jjMoveStringLiteralDfa22_0(active2, 0x4000L); default : break; } @@ -1243,7 +1239,7 @@ private int jjMoveStringLiteralDfa22_0(long old2, long active2){ switch(curChar) { case 'a': - return jjMoveStringLiteralDfa23_0(active2, 0x8000L); + return jjMoveStringLiteralDfa23_0(active2, 0x4000L); default : break; } @@ -1260,7 +1256,7 @@ private int jjMoveStringLiteralDfa23_0(long old2, long active2){ switch(curChar) { case 's': - return jjMoveStringLiteralDfa24_0(active2, 0x8000L); + return jjMoveStringLiteralDfa24_0(active2, 0x4000L); default : break; } @@ -1277,7 +1273,7 @@ private int jjMoveStringLiteralDfa24_0(long old2, long active2){ switch(curChar) { case 's': - return jjMoveStringLiteralDfa25_0(active2, 0x8000L); + return jjMoveStringLiteralDfa25_0(active2, 0x4000L); default : break; } @@ -1294,7 +1290,7 @@ private int jjMoveStringLiteralDfa25_0(long old2, long active2){ switch(curChar) { case 'i': - return jjMoveStringLiteralDfa26_0(active2, 0x8000L); + return jjMoveStringLiteralDfa26_0(active2, 0x4000L); default : break; } @@ -1311,7 +1307,7 @@ private int jjMoveStringLiteralDfa26_0(long old2, long active2){ switch(curChar) { case 'g': - return jjMoveStringLiteralDfa27_0(active2, 0x8000L); + return jjMoveStringLiteralDfa27_0(active2, 0x4000L); default : break; } @@ -1328,8 +1324,8 @@ private int jjMoveStringLiteralDfa27_0(long old2, long active2){ switch(curChar) { case 'n': - if ((active2 & 0x8000L) != 0x0L) - return jjStopAtPos(27, 143); + if ((active2 & 0x4000L) != 0x0L) + return jjStopAtPos(27, 142); break; default : break; @@ -1371,7 +1367,7 @@ private int jjStartNfaWithStates_0(int pos, int kind, int state) private int jjMoveNfa_0(int startState, int curPos) { int startsAt = 0; - jjnewStateCnt = 80; + jjnewStateCnt = 73; int i = 1; jjstateSet[0] = startState; int kind = 0x7fffffff; @@ -1386,21 +1382,17 @@ private int jjMoveNfa_0(int startState, int curPos) { switch(jjstateSet[--i]) { - case 80: - if ((0x97ffffbfffffdbffL & l) != 0x0L) - { jjCheckNAddStates(0, 3); } - else if (curChar == 62) + case 62: + if (curChar == 42) + { jjCheckNAddTwoStates(68, 69); } + else if (curChar == 47) { if (kind > 7) kind = 7; - { jjCheckNAdd(7); } + { jjCheckNAddStates(0, 2); } } - else if (curChar == 38) - jjstateSet[jjnewStateCnt++] = 3; - if (curChar == 62) - jjstateSet[jjnewStateCnt++] = 5; break; - case 1: + case 6: if ((0x1ffffffffL & l) != 0x0L) { if (kind > 6) @@ -1408,49 +1400,37 @@ else if (curChar == 38) { jjCheckNAdd(0); } } else if ((0x3ff000000000000L & l) != 0x0L) - { jjCheckNAddStates(4, 11); } + { jjCheckNAddStates(3, 10); } else if (curChar == 47) - { jjAddStates(12, 13); } + { jjAddStates(11, 12); } else if (curChar == 36) { - if (kind > 73) - kind = 73; - { jjCheckNAdd(42); } + if (kind > 72) + kind = 72; + { jjCheckNAdd(35); } } else if (curChar == 34) - jjstateSet[jjnewStateCnt++] = 39; + jjstateSet[jjnewStateCnt++] = 32; else if (curChar == 39) - { jjCheckNAddStates(14, 16); } + { jjCheckNAddStates(13, 15); } else if (curChar == 46) - { jjCheckNAdd(18); } + { jjCheckNAdd(11); } else if (curChar == 35) - jjstateSet[jjnewStateCnt++] = 8; - else if (curChar == 60) - { jjCheckNAddStates(0, 3); } + jjstateSet[jjnewStateCnt++] = 1; if ((0x3fe000000000000L & l) != 0x0L) { - if (kind > 62) - kind = 62; - { jjCheckNAddTwoStates(15, 16); } + if (kind > 61) + kind = 61; + { jjCheckNAddTwoStates(8, 9); } } else if (curChar == 48) { - if (kind > 62) - kind = 62; - { jjCheckNAddStates(17, 20); } + if (kind > 61) + kind = 61; + { jjCheckNAddStates(16, 19); } } else if (curChar == 34) - { jjCheckNAddStates(21, 23); } - break; - case 69: - if (curChar == 42) - { jjCheckNAddTwoStates(75, 76); } - else if (curChar == 47) - { - if (kind > 8) - kind = 8; - { jjCheckNAddStates(24, 26); } - } + { jjCheckNAddStates(20, 22); } break; case 0: if ((0x1ffffffffL & l) == 0x0L) @@ -1459,315 +1439,284 @@ else if (curChar == 47) kind = 6; { jjCheckNAdd(0); } break; + case 1: + if (curChar == 33) + { jjCheckNAddStates(23, 25); } + break; case 2: - if ((0x97ffffbfffffdbffL & l) != 0x0L) - { jjCheckNAddStates(0, 3); } + if ((0xffffffffffffdbffL & l) != 0x0L) + { jjCheckNAddStates(23, 25); } break; case 3: - if (curChar == 32) - { jjCheckNAddStates(0, 3); } + if ((0x2400L & l) != 0x0L && kind > 8) + kind = 8; break; case 4: - if (curChar == 38) - jjstateSet[jjnewStateCnt++] = 3; + if (curChar == 10 && kind > 8) + kind = 8; break; case 5: - if (curChar == 44) - { jjCheckNAddStates(0, 3); } - break; - case 6: - if (curChar == 62) - jjstateSet[jjnewStateCnt++] = 5; - break; - case 7: - if (curChar != 62) - break; - if (kind > 7) - kind = 7; - { jjCheckNAdd(7); } - break; - case 8: - if (curChar == 33) - { jjCheckNAddStates(27, 29); } - break; - case 9: - if ((0xffffffffffffdbffL & l) != 0x0L) - { jjCheckNAddStates(27, 29); } - break; - case 10: - if ((0x2400L & l) != 0x0L && kind > 9) - kind = 9; - break; - case 11: - if (curChar == 10 && kind > 9) - kind = 9; - break; - case 12: if (curChar == 13) - jjstateSet[jjnewStateCnt++] = 11; - break; - case 13: - if (curChar == 35) - jjstateSet[jjnewStateCnt++] = 8; + jjstateSet[jjnewStateCnt++] = 4; break; - case 14: + case 7: if ((0x3fe000000000000L & l) == 0x0L) break; - if (kind > 62) - kind = 62; - { jjCheckNAddTwoStates(15, 16); } + if (kind > 61) + kind = 61; + { jjCheckNAddTwoStates(8, 9); } break; - case 15: + case 8: if ((0x3ff000000000000L & l) == 0x0L) break; - if (kind > 62) - kind = 62; - { jjCheckNAddTwoStates(15, 16); } + if (kind > 61) + kind = 61; + { jjCheckNAddTwoStates(8, 9); } break; - case 17: + case 10: if (curChar == 46) - { jjCheckNAdd(18); } + { jjCheckNAdd(11); } break; - case 18: + case 11: if ((0x3ff000000000000L & l) == 0x0L) break; - if (kind > 67) - kind = 67; - { jjCheckNAddStates(30, 32); } + if (kind > 66) + kind = 66; + { jjCheckNAddStates(26, 28); } break; - case 20: + case 13: if ((0x280000000000L & l) != 0x0L) - { jjCheckNAdd(21); } + { jjCheckNAdd(14); } break; - case 21: + case 14: if ((0x3ff000000000000L & l) == 0x0L) break; - if (kind > 67) - kind = 67; - { jjCheckNAddTwoStates(21, 22); } + if (kind > 66) + kind = 66; + { jjCheckNAddTwoStates(14, 15); } break; - case 23: + case 16: if (curChar == 39) - { jjCheckNAddStates(14, 16); } + { jjCheckNAddStates(13, 15); } break; - case 24: + case 17: if ((0xffffff7fffffdbffL & l) != 0x0L) - { jjCheckNAddStates(14, 16); } + { jjCheckNAddStates(13, 15); } break; - case 26: - { jjCheckNAddStates(14, 16); } + case 19: + { jjCheckNAddStates(13, 15); } break; - case 27: - if (curChar == 39 && kind > 70) - kind = 70; + case 20: + if (curChar == 39 && kind > 69) + kind = 69; break; - case 28: + case 21: if (curChar == 34) - { jjCheckNAddStates(21, 23); } + { jjCheckNAddStates(20, 22); } break; - case 29: + case 22: if ((0xfffffffbffffdbffL & l) != 0x0L) - { jjCheckNAddStates(21, 23); } + { jjCheckNAddStates(20, 22); } break; - case 31: - { jjCheckNAddStates(21, 23); } + case 24: + { jjCheckNAddStates(20, 22); } break; - case 32: - if (curChar == 34 && kind > 71) - kind = 71; + case 25: + if (curChar == 34 && kind > 70) + kind = 70; break; - case 33: - case 35: + case 26: + case 28: if (curChar == 34) - { jjCheckNAddTwoStates(34, 38); } + { jjCheckNAddTwoStates(27, 31); } break; - case 34: + case 27: if ((0xfffffffbffffffffL & l) != 0x0L) - { jjCheckNAddStates(33, 35); } + { jjCheckNAddStates(29, 31); } break; - case 36: - if (curChar == 34 && kind > 72) - kind = 72; + case 29: + if (curChar == 34 && kind > 71) + kind = 71; break; - case 37: + case 30: if (curChar == 34) - jjstateSet[jjnewStateCnt++] = 36; + jjstateSet[jjnewStateCnt++] = 29; break; - case 38: + case 31: if (curChar == 34) - jjstateSet[jjnewStateCnt++] = 37; + jjstateSet[jjnewStateCnt++] = 30; break; - case 39: + case 32: if (curChar == 34) - jjstateSet[jjnewStateCnt++] = 33; + jjstateSet[jjnewStateCnt++] = 26; break; - case 40: + case 33: if (curChar == 34) - jjstateSet[jjnewStateCnt++] = 39; + jjstateSet[jjnewStateCnt++] = 32; break; - case 41: + case 34: if (curChar != 36) break; - if (kind > 73) - kind = 73; - { jjCheckNAdd(42); } + if (kind > 72) + kind = 72; + { jjCheckNAdd(35); } break; - case 42: + case 35: if ((0x3ff001000000000L & l) == 0x0L) break; - if (kind > 73) - kind = 73; - { jjCheckNAdd(42); } + if (kind > 72) + kind = 72; + { jjCheckNAdd(35); } break; - case 43: + case 36: if ((0x3ff000000000000L & l) != 0x0L) - { jjCheckNAddStates(4, 11); } + { jjCheckNAddStates(3, 10); } break; - case 44: + case 37: if ((0x3ff000000000000L & l) != 0x0L) - { jjCheckNAddTwoStates(44, 45); } + { jjCheckNAddTwoStates(37, 38); } break; - case 45: + case 38: if (curChar == 46) - { jjCheckNAdd(46); } + { jjCheckNAdd(39); } break; - case 46: + case 39: if ((0x3ff000000000000L & l) == 0x0L) break; - if (kind > 67) - kind = 67; - { jjCheckNAddStates(36, 38); } + if (kind > 66) + kind = 66; + { jjCheckNAddStates(32, 34); } break; - case 48: + case 41: if ((0x280000000000L & l) != 0x0L) - { jjCheckNAdd(49); } + { jjCheckNAdd(42); } break; - case 49: + case 42: if ((0x3ff000000000000L & l) == 0x0L) break; - if (kind > 67) - kind = 67; - { jjCheckNAddTwoStates(49, 22); } + if (kind > 66) + kind = 66; + { jjCheckNAddTwoStates(42, 15); } break; - case 50: + case 43: if ((0x3ff000000000000L & l) != 0x0L) - { jjCheckNAddTwoStates(50, 51); } + { jjCheckNAddTwoStates(43, 44); } break; - case 51: + case 44: if (curChar == 46) - jjstateSet[jjnewStateCnt++] = 52; + jjstateSet[jjnewStateCnt++] = 45; break; - case 53: + case 46: if ((0x280000000000L & l) != 0x0L) - { jjCheckNAdd(54); } + { jjCheckNAdd(47); } break; - case 54: + case 47: if ((0x3ff000000000000L & l) == 0x0L) break; - if (kind > 67) - kind = 67; - { jjCheckNAddTwoStates(54, 22); } + if (kind > 66) + kind = 66; + { jjCheckNAddTwoStates(47, 15); } break; - case 55: + case 48: if ((0x3ff000000000000L & l) != 0x0L) - { jjCheckNAddTwoStates(55, 56); } + { jjCheckNAddTwoStates(48, 49); } break; - case 57: + case 50: if ((0x280000000000L & l) != 0x0L) - { jjCheckNAdd(58); } + { jjCheckNAdd(51); } break; - case 58: + case 51: if ((0x3ff000000000000L & l) == 0x0L) break; - if (kind > 67) - kind = 67; - { jjCheckNAddTwoStates(58, 22); } + if (kind > 66) + kind = 66; + { jjCheckNAddTwoStates(51, 15); } break; - case 59: + case 52: if ((0x3ff000000000000L & l) != 0x0L) - { jjCheckNAddTwoStates(59, 60); } + { jjCheckNAddTwoStates(52, 53); } break; - case 61: + case 54: if (curChar != 48) break; - if (kind > 62) - kind = 62; - { jjCheckNAddStates(17, 20); } + if (kind > 61) + kind = 61; + { jjCheckNAddStates(16, 19); } break; - case 63: + case 56: if ((0x3ff000000000000L & l) == 0x0L) break; - if (kind > 62) - kind = 62; - { jjCheckNAddTwoStates(63, 16); } + if (kind > 61) + kind = 61; + { jjCheckNAddTwoStates(56, 9); } break; - case 65: + case 58: if ((0x3000000000000L & l) == 0x0L) break; - if (kind > 62) - kind = 62; - { jjCheckNAddStates(39, 41); } + if (kind > 61) + kind = 61; + { jjCheckNAddStates(35, 37); } break; - case 66: + case 59: if ((0x3000000000000L & l) == 0x0L) break; - if (kind > 62) - kind = 62; - { jjCheckNAdd(16); } + if (kind > 61) + kind = 61; + { jjCheckNAdd(9); } break; - case 67: + case 60: if ((0xff000000000000L & l) == 0x0L) break; - if (kind > 62) - kind = 62; - { jjCheckNAddTwoStates(67, 16); } + if (kind > 61) + kind = 61; + { jjCheckNAddTwoStates(60, 9); } break; - case 68: + case 61: if (curChar == 47) - { jjAddStates(12, 13); } + { jjAddStates(11, 12); } break; - case 70: + case 63: if ((0xffffffffffffdbffL & l) == 0x0L) break; - if (kind > 8) - kind = 8; - { jjCheckNAddStates(24, 26); } + if (kind > 7) + kind = 7; + { jjCheckNAddStates(0, 2); } break; - case 71: - if ((0x2400L & l) != 0x0L && kind > 8) - kind = 8; + case 64: + if ((0x2400L & l) != 0x0L && kind > 7) + kind = 7; break; - case 72: - if (curChar == 10 && kind > 8) - kind = 8; + case 65: + if (curChar == 10 && kind > 7) + kind = 7; break; - case 73: + case 66: if (curChar == 13) - jjstateSet[jjnewStateCnt++] = 72; + jjstateSet[jjnewStateCnt++] = 65; break; - case 74: + case 67: if (curChar == 42) - { jjCheckNAddTwoStates(75, 76); } + { jjCheckNAddTwoStates(68, 69); } break; - case 75: + case 68: if ((0xfffffbffffffffffL & l) != 0x0L) - { jjCheckNAddTwoStates(75, 76); } + { jjCheckNAddTwoStates(68, 69); } break; - case 76: + case 69: if (curChar == 42) - { jjCheckNAddStates(42, 44); } + { jjCheckNAddStates(38, 40); } break; - case 77: + case 70: if ((0xffff7bffffffffffL & l) != 0x0L) - { jjCheckNAddTwoStates(78, 76); } + { jjCheckNAddTwoStates(71, 69); } break; - case 78: + case 71: if ((0xfffffbffffffffffL & l) != 0x0L) - { jjCheckNAddTwoStates(78, 76); } + { jjCheckNAddTwoStates(71, 69); } break; - case 79: - if (curChar == 47 && kind > 10) - kind = 10; + case 72: + if (curChar == 47 && kind > 9) + kind = 9; break; default : break; } @@ -1780,118 +1729,113 @@ else if (curChar < 128) { switch(jjstateSet[--i]) { - case 80: - case 2: - if ((0xefffffffffffffffL & l) != 0x0L) - { jjCheckNAddStates(0, 3); } - break; - case 1: - case 42: + case 6: + case 35: if ((0x7fffffe87fffffeL & l) == 0x0L) break; - if (kind > 73) - kind = 73; - { jjCheckNAdd(42); } + if (kind > 72) + kind = 72; + { jjCheckNAdd(35); } break; - case 9: - { jjAddStates(27, 29); } + case 2: + { jjAddStates(23, 25); } break; - case 15: + case 8: if (curChar != 95) break; - if (kind > 62) - kind = 62; - { jjCheckNAddTwoStates(15, 16); } + if (kind > 61) + kind = 61; + { jjCheckNAddTwoStates(8, 9); } break; - case 16: - if ((0x88920000889200L & l) != 0x0L && kind > 62) - kind = 62; + case 9: + if ((0x88920000889200L & l) != 0x0L && kind > 61) + kind = 61; break; - case 19: + case 12: if ((0x2000000020L & l) != 0x0L) - { jjAddStates(45, 46); } + { jjAddStates(41, 42); } break; - case 22: - if ((0x80005000800050L & l) != 0x0L && kind > 67) - kind = 67; + case 15: + if ((0x80005000800050L & l) != 0x0L && kind > 66) + kind = 66; break; - case 24: + case 17: if ((0xffffffffefffffffL & l) != 0x0L) - { jjCheckNAddStates(14, 16); } + { jjCheckNAddStates(13, 15); } break; - case 25: + case 18: if (curChar == 92) - jjstateSet[jjnewStateCnt++] = 26; + jjstateSet[jjnewStateCnt++] = 19; break; - case 26: - { jjCheckNAddStates(14, 16); } + case 19: + { jjCheckNAddStates(13, 15); } break; - case 29: + case 22: if ((0xffffffffefffffffL & l) != 0x0L) - { jjCheckNAddStates(21, 23); } + { jjCheckNAddStates(20, 22); } break; - case 30: + case 23: if (curChar == 92) - jjstateSet[jjnewStateCnt++] = 31; + jjstateSet[jjnewStateCnt++] = 24; break; - case 31: - { jjCheckNAddStates(21, 23); } + case 24: + { jjCheckNAddStates(20, 22); } break; - case 34: - { jjAddStates(33, 35); } + case 27: + { jjAddStates(29, 31); } break; - case 47: + case 40: if ((0x2000000020L & l) != 0x0L) - { jjAddStates(47, 48); } + { jjAddStates(43, 44); } break; - case 52: + case 45: if ((0x2000000020L & l) != 0x0L) - { jjAddStates(49, 50); } + { jjAddStates(45, 46); } break; - case 56: + case 49: if ((0x2000000020L & l) != 0x0L) - { jjAddStates(51, 52); } + { jjAddStates(47, 48); } break; - case 60: - if ((0x5000000050L & l) != 0x0L && kind > 67) - kind = 67; + case 53: + if ((0x5000000050L & l) != 0x0L && kind > 66) + kind = 66; break; - case 62: + case 55: if ((0x100000001000000L & l) != 0x0L) - { jjCheckNAdd(63); } + { jjCheckNAdd(56); } break; - case 63: + case 56: if ((0x7e8000007eL & l) == 0x0L) break; - if (kind > 62) - kind = 62; - { jjCheckNAddTwoStates(63, 16); } + if (kind > 61) + kind = 61; + { jjCheckNAddTwoStates(56, 9); } break; - case 64: + case 57: if ((0x400000004L & l) == 0x0L) break; - if (kind > 62) - kind = 62; - { jjCheckNAddStates(39, 41); } + if (kind > 61) + kind = 61; + { jjCheckNAddStates(35, 37); } break; - case 65: + case 58: if (curChar != 95) break; - if (kind > 62) - kind = 62; - { jjCheckNAddStates(39, 41); } + if (kind > 61) + kind = 61; + { jjCheckNAddStates(35, 37); } break; - case 70: - if (kind > 8) - kind = 8; - { jjAddStates(24, 26); } + case 63: + if (kind > 7) + kind = 7; + { jjAddStates(0, 2); } break; - case 75: - { jjCheckNAddTwoStates(75, 76); } + case 68: + { jjCheckNAddTwoStates(68, 69); } break; - case 77: - case 78: - { jjCheckNAddTwoStates(78, 76); } + case 70: + case 71: + { jjCheckNAddTwoStates(71, 69); } break; default : break; } @@ -1908,12 +1852,7 @@ else if (curChar < 128) { switch(jjstateSet[--i]) { - case 80: - case 2: - if (jjCanMove_1(hiByte, i1, i2, l1, l2)) - { jjCheckNAddStates(0, 3); } - break; - case 1: + case 6: if (jjCanMove_0(hiByte, i1, i2, l1, l2)) { if (kind > 6) @@ -1922,9 +1861,9 @@ else if (curChar < 128) } if (jjCanMove_2(hiByte, i1, i2, l1, l2)) { - if (kind > 73) - kind = 73; - { jjCheckNAdd(42); } + if (kind > 72) + kind = 72; + { jjCheckNAdd(35); } } break; case 0: @@ -1934,47 +1873,47 @@ else if (curChar < 128) kind = 6; { jjCheckNAdd(0); } break; - case 9: + case 2: if (jjCanMove_1(hiByte, i1, i2, l1, l2)) - { jjAddStates(27, 29); } + { jjAddStates(23, 25); } break; - case 24: - case 26: + case 17: + case 19: if (jjCanMove_1(hiByte, i1, i2, l1, l2)) - { jjCheckNAddStates(14, 16); } + { jjCheckNAddStates(13, 15); } break; - case 29: - case 31: + case 22: + case 24: if (jjCanMove_1(hiByte, i1, i2, l1, l2)) - { jjCheckNAddStates(21, 23); } + { jjCheckNAddStates(20, 22); } break; - case 34: + case 27: if (jjCanMove_1(hiByte, i1, i2, l1, l2)) - { jjAddStates(33, 35); } + { jjAddStates(29, 31); } break; - case 41: - case 42: + case 34: + case 35: if (!jjCanMove_2(hiByte, i1, i2, l1, l2)) break; - if (kind > 73) - kind = 73; - { jjCheckNAdd(42); } + if (kind > 72) + kind = 72; + { jjCheckNAdd(35); } break; - case 70: + case 63: if (!jjCanMove_1(hiByte, i1, i2, l1, l2)) break; - if (kind > 8) - kind = 8; - { jjAddStates(24, 26); } + if (kind > 7) + kind = 7; + { jjAddStates(0, 2); } break; - case 75: + case 68: if (jjCanMove_1(hiByte, i1, i2, l1, l2)) - { jjCheckNAddTwoStates(75, 76); } + { jjCheckNAddTwoStates(68, 69); } break; - case 77: - case 78: + case 70: + case 71: if (jjCanMove_1(hiByte, i1, i2, l1, l2)) - { jjCheckNAddTwoStates(78, 76); } + { jjCheckNAddTwoStates(71, 69); } break; default : if (i1 == 0 || l1 == 0 || i2 == 0 || l2 == 0) break; else break; } @@ -1989,7 +1928,7 @@ else if (curChar < 128) ++curPos; i = jjnewStateCnt; jjnewStateCnt = startsAt; - startsAt = 80 - jjnewStateCnt; + startsAt = 73 - jjnewStateCnt; if (i == startsAt) return curPos; try { curChar = input_stream.readChar(); } @@ -1999,7 +1938,7 @@ else if (curChar < 128) /** Token literal values. */ public static final String[] jjstrLiteralImages = { -"", null, null, null, null, null, null, null, null, null, null, +"", null, null, null, null, null, null, null, null, null, "\141\142\163\164\162\141\143\164", "\142\157\157\154\145\141\156", "\142\162\145\141\153", "\143\154\141\163\163", "\142\171\164\145", "\143\141\163\145", "\143\141\164\143\150", "\143\150\141\162", "\143\157\156\163\164", "\143\157\156\164\151\156\165\145", "\144\145\146\141\165\154\164", "\144\157", @@ -2056,10 +1995,10 @@ protected Token jjFillToken() return t; } static final int[] jjnextStates = { - 2, 4, 6, 7, 44, 45, 50, 51, 55, 56, 59, 60, 69, 74, 24, 25, - 27, 62, 64, 67, 16, 29, 30, 32, 70, 71, 73, 9, 10, 12, 18, 19, - 22, 34, 35, 38, 46, 47, 22, 65, 66, 16, 76, 77, 79, 20, 21, 48, - 49, 53, 54, 57, 58, + 63, 64, 66, 37, 38, 43, 44, 48, 49, 52, 53, 62, 67, 17, 18, 20, + 55, 57, 60, 9, 22, 23, 25, 2, 3, 5, 11, 12, 15, 27, 28, 31, + 39, 40, 15, 58, 59, 9, 69, 70, 72, 13, 14, 41, 42, 46, 47, 50, + 51, }; private static final boolean jjCanMove_0(int hiByte, int i1, int i2, long l1, long l2) { @@ -2270,7 +2209,7 @@ private void ReInitRounds() { int i; jjround = 0x80000001; - for (i = 80; i-- > 0;) + for (i = 73; i-- > 0;) jjrounds[i] = 0x80000000; } @@ -2304,24 +2243,24 @@ public void SwitchTo(int lexState) -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, + -1, -1, -1, -1, }; static final long[] jjtoToken = { - 0x7ffffffffffff801L, 0xfffffffffffff3c8L, 0x7ffffffL, + 0x3ffffffffffffc01L, 0xfffffffffffff9e4L, 0x3ffffffL, }; static final long[] jjtoSkip = { - 0x7feL, 0x0L, 0x0L, + 0x3feL, 0x0L, 0x0L, }; static final long[] jjtoSpecial = { - 0x700L, 0x0L, 0x0L, + 0x380L, 0x0L, 0x0L, }; static final long[] jjtoMore = { 0x0L, 0x0L, 0x0L, }; protected JavaCharStream input_stream; - private final int[] jjrounds = new int[80]; - private final int[] jjstateSet = new int[2 * 80]; + private final int[] jjrounds = new int[73]; + private final int[] jjstateSet = new int[2 * 73]; private final StringBuilder jjimage = new StringBuilder(); private StringBuilder image = jjimage; private int jjimageLen; diff --git a/bsh-lambda-300-eee36c8/src/main/java/bsh/preprocess/GenericsPreprocessor.java b/bsh-lambda-300-eee36c8/src/main/java/bsh/preprocess/GenericsPreprocessor.java new file mode 100644 index 0000000..042392c --- /dev/null +++ b/bsh-lambda-300-eee36c8/src/main/java/bsh/preprocess/GenericsPreprocessor.java @@ -0,0 +1,768 @@ +package bsh.preprocess; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.regex.Pattern; + +public final class GenericsPreprocessor { + private static final String IDENT = "[a-zA-Z_$][a-zA-Z0-9_$]*"; + private static final String START_BOUND = "(? MODIFIERS = new HashSet<>(Arrays.asList("public", "protected", "private", "static", "final", "abstract", "synchronized", "native", "strictfp", "default", "class", "interface", "enum")); + + private GenericsPreprocessor() {} + + public static String rewrite(String source) { + if (source == null || source.indexOf('<') < 0 || source.indexOf('>') < 0) { + return source; + } + return eraseUsages(eraseDefinitions(source)); + } + + private static String removeNestedBrackets(char[] masked, int start, int end) { + StringBuilder sb = new StringBuilder(end - start); + int depth = 0; + for (int i = start; i < end; i++) { + char c = masked[i]; + if (c == MASK_CHAR) { + c = ' '; + } + if (c == '<') depth++; + else if (c == '>') depth--; + else if (depth == 0) sb.append(c); + } + return sb.toString(); + } + + private static String eraseDefinitions(String source) { + String currentSource = source; + while (true) { + char[] masked = maskSource(currentSource); + int defStart = -1; + int defEnd = -1; + int len = masked.length; + + for (int i = len - 1; i >= 0; i--) { + if (masked[i] == '<') { + int right = findMatchingBracket(masked, i, '<', '>'); + if (right != -1) { + String flatContent = removeNestedBrackets(masked, i + 1, right); + if (DEF_CONTENT_PATTERN.matcher(flatContent).matches() && isDefinitionContext(masked, i, right)) { + defStart = i; + defEnd = right; + break; + } + } + } + } + + if (defStart == -1) break; + + String content = currentSource.substring(defStart + 1, defEnd); + Map erasureMap = parseTypeParameters(content); + int scopeEnd = findScopeEnd(masked, defEnd + 1); + + StringBuilder sb = new StringBuilder(currentSource); + for (int k = defStart; k <= defEnd; k++) { + if (sb.charAt(k) != '\n' && sb.charAt(k) != '\r') { + sb.setCharAt(k, ' '); + } + } + currentSource = sb.toString(); + + String scopePrefix = currentSource.substring(0, defEnd + 1); + String scopeBody = currentSource.substring(defEnd + 1, scopeEnd); + String scopeSuffix = currentSource.substring(scopeEnd); + + char[] updatedMask = new char[scopeEnd - (defEnd + 1)]; + System.arraycopy(masked, defEnd + 1, updatedMask, 0, updatedMask.length); + + String replacedBody = safeReplaceWords(scopeBody, updatedMask, erasureMap); + currentSource = scopePrefix + replacedBody + scopeSuffix; + } + return currentSource; + } + + private static boolean isDefinitionContext(char[] masked, int left, int right) { + String prev = getPreviousWord(masked, left); + if (".".equals(prev)) return false; + if ("class".equals(prev) || "interface".equals(prev) || "enum".equals(prev) || MODIFIERS.contains(prev)) { + return true; + } + int i = skipWhitespaceBackward(masked, left - 1); + char beforeLeft = i >= 0 ? masked[i] : '\0'; + if (prev.isEmpty() || !Character.isJavaIdentifierStart(prev.charAt(0))) { + if (beforeLeft == '\0' || beforeLeft == ';' || beforeLeft == '{' || beforeLeft == '}' || beforeLeft == '@') { + return true; + } + } + while (i >= 0 && isIdentifierPart(masked[i])) i--; + String beforePrev = getPreviousWord(masked, i + 1); + if ("class".equals(beforePrev) || "interface".equals(beforePrev) || "enum".equals(beforePrev)) { + return true; + } + return false; + } + + private static Map parseTypeParameters(String content) { + Map map = new HashMap<>(); + int depth = 0; + StringBuilder current = new StringBuilder(); + int len = content.length(); + for (int i = 0; i < len; i++) { + char c = content.charAt(i); + if (c == '<') depth++; + else if (c == '>') depth--; + else if (c == ',' && depth == 0) { + addTypeParam(map, current.toString()); + current.setLength(0); + continue; + } + current.append(c); + } + addTypeParam(map, current.toString()); + + boolean changed; + do { + changed = false; + for (Map.Entry entry : map.entrySet()) { + String val = entry.getValue(); + if (map.containsKey(val)) { + entry.setValue(map.get(val)); + changed = true; + } + } + } while (changed); + + return map; + } + + private static void addTypeParam(Map map, String param) { + String trimmed = param.trim(); + if (trimmed.isEmpty()) return; + int space = trimmed.indexOf(' '); + String name = space == -1 ? trimmed : trimmed.substring(0, space); + if (!name.isEmpty() && name.matches(IDENT)) { + String bound = "Object"; + if (space != -1) { + String rest = trimmed.substring(space).trim(); + if (rest.startsWith("extends")) { + String afterExtends = rest.substring("extends".length()).trim(); + int amp = afterExtends.indexOf('&'); + String leftBound = amp == -1 ? afterExtends : afterExtends.substring(0, amp).trim(); + int lt = leftBound.indexOf('<'); + if (lt != -1) { + leftBound = leftBound.substring(0, lt).trim(); + } + if (!leftBound.isEmpty()) { + bound = leftBound; + } + } + } + map.put(name, bound); + } + } + + private static int findScopeEnd(char[] masked, int start) { + int len = masked.length; + int i = skipWhitespaceForward(masked, start); + if (i >= len) return len; + if (masked[i] == '{') { + int end = findMatchingBracket(masked, i, '{', '}'); + return end != -1 ? end + 1 : len; + } + while (i < len) { + if (masked[i] == ';') return i + 1; + if (masked[i] == '{') { + int end = findMatchingBracket(masked, i, '{', '}'); + return end != -1 ? end + 1 : len; + } + i++; + } + return len; + } + + private static String safeReplaceWords(String source, char[] mask, Map replacements) { + StringBuilder resText = new StringBuilder(source.length()); + int len = source.length(); + int i = 0; + while (i < len) { + if (mask[i] == MASK_CHAR) { + resText.append(source.charAt(i)); + i++; + continue; + } + if (Character.isJavaIdentifierStart(source.charAt(i)) && (i == 0 || !Character.isJavaIdentifierPart(source.charAt(i - 1)))) { + int start = i; + int end = i + 1; + while (end < len && Character.isJavaIdentifierPart(source.charAt(end))) { + end++; + } + String word = source.substring(start, end); + if (replacements.containsKey(word) && isTypeContext(source, mask, start, end)) { + resText.append(replacements.get(word)); + i = end; + continue; + } + } + resText.append(source.charAt(i)); + i++; + } + return resText.toString(); + } + + private static boolean isThrowsOrImplementsContext(char[] mask, int start) { + int scanIndex = skipWhitespaceBackward(mask, start - 1); + while (scanIndex >= 0) { + char c = mask[scanIndex]; + if (c == '{' || c == ';' || c == '}' || c == '(' || c == ')' || c == '=') return false; + if (isIdentifierPart(c)) { + int wordStartIndex = scanIndex; + while (wordStartIndex >= 0 && isIdentifierPart(mask[wordStartIndex])) wordStartIndex--; + int wordLen = scanIndex - wordStartIndex; + if (wordLen == 6 && hasSequenceAt(mask, wordStartIndex + 1, "throws")) return true; + if (wordLen == 10 && hasSequenceAt(mask, wordStartIndex + 1, "implements")) return true; + if (wordLen == 7 && hasSequenceAt(mask, wordStartIndex + 1, "extends")) return true; + scanIndex = wordStartIndex; + continue; + } + if (c == '.' || c == ',' || c == '<' || c == '>' || c == '?' || Character.isWhitespace(c) || c == MASK_CHAR) { + scanIndex--; + continue; + } + return false; + } + return false; + } + + private static boolean isTypeContext(String source, char[] mask, int start, int end) { + int prev = skipWhitespaceBackward(mask, start - 1); + char prevChar = prev >= 0 ? mask[prev] : '\0'; + if (prevChar == '.') return false; + int next = skipWhitespaceForward(mask, end); + int len = source.length(); + char nextChar = next < len ? mask[next] : '\0'; + if (nextChar == ':' && source.startsWith("::", next)) return true; + if (nextChar == '=' || nextChar == ';') return false; + if (nextChar == ')') { + return checkParenthesesCast(source, mask, prevChar, next, len); + } + if (Character.isJavaIdentifierStart(nextChar)) return true; + if (nextChar == '[') { + return checkArrayType(source, next, len); + } + if (nextChar == '.' && source.startsWith("..", next + 1)) return true; + if (nextChar == '.') { + return source.startsWith(".class", next); + } + if (isThrowsOrImplementsContext(mask, start)) return true; + String prevWord = getPreviousWord(mask, start); + if ("instanceof".equals(prevWord) || "new".equals(prevWord)) return false; + return prevChar == '<' || nextChar == '>'; + } + + private static boolean checkParenthesesCast(String source, char[] mask, char prevChar, int next, int len) { + if (prevChar == '(') { + int postParenthesis = next + 1; + while (postParenthesis < len && (Character.isWhitespace(source.charAt(postParenthesis)) || mask[postParenthesis] == MASK_CHAR)) { + postParenthesis++; + } + if (postParenthesis < len) { + char postChar = source.charAt(postParenthesis); + if (postChar == ';' || postChar == ',' || postChar == ')' || postChar == '}') { + return false; + } + } + return true; + } + return false; + } + + private static boolean checkArrayType(String source, int next, int len) { + int idx = next + 1; + while (idx < len && Character.isWhitespace(source.charAt(idx))) { + idx++; + } + return idx < len && source.charAt(idx) == ']'; + } + + private static String eraseUsages(String source) { + char[] masked = maskSource(source); + char[] result = source.toCharArray(); + List openBrackets = new ArrayList<>(); + int len = masked.length; + for (int i = 0; i < len; i++) { + if (masked[i] == '<') { + openBrackets.add(i); + } else if (masked[i] == '>') { + if (!openBrackets.isEmpty()) { + int left = openBrackets.remove(openBrackets.size() - 1); + int right = i; + String content = new String(masked, left + 1, right - (left + 1)); + String prevWord = getPreviousWord(masked, left); + String nextText = getNextText(masked, right + 1); + boolean isOutermost = openBrackets.isEmpty(); + if (verifyGenericUsage(content, prevWord, nextText, masked, left, right, isOutermost)) { + for (int k = left; k <= right; k++) { + if (result[k] != '\n' && result[k] != '\r') result[k] = ' '; + masked[k] = ' '; + } + } + } + } + } + return new String(result); + } + + private static boolean isMethodCallContext(char[] masked, int start) { + int scanIndex = start - 1; + int parenthesesCount = 0; + int len = masked.length; + while (scanIndex >= 0) { + char c = masked[scanIndex]; + if (c == MASK_CHAR || Character.isWhitespace(c)) { + scanIndex--; + continue; + } + if (c == '{' || c == '}' || c == ';') return false; + if (c == ')') { + parenthesesCount++; + scanIndex--; + continue; + } + if (c == '(') { + if (parenthesesCount > 0) { + parenthesesCount--; + scanIndex--; + continue; + } + int identifierEndIndex = skipWhitespaceBackward(masked, scanIndex - 1); + if (identifierEndIndex >= 0 && Character.isJavaIdentifierStart(masked[identifierEndIndex])) { + int identifierStartIndex = identifierEndIndex; + while (identifierStartIndex >= 0 && isIdentifierPart(masked[identifierStartIndex])) { + identifierStartIndex--; + } + int wordLen = identifierEndIndex - identifierStartIndex; + int previousWordEndIndex = skipWhitespaceBackward(masked, identifierStartIndex); + if (previousWordEndIndex >= 0 && Character.isJavaIdentifierStart(masked[previousWordEndIndex])) { + int previousWordStartIndex = previousWordEndIndex; + while (previousWordStartIndex >= 0 && isIdentifierPart(masked[previousWordStartIndex])) { + previousWordStartIndex--; + } + int popLen = previousWordEndIndex - previousWordStartIndex; + if (popLen != 3 || !hasSequenceAt(masked, previousWordStartIndex + 1, "new")) { + return false; + } + } + int depth = 1; + int matchParenthesisIndex = scanIndex + 1; + while (matchParenthesisIndex < len) { + if (masked[matchParenthesisIndex] == '(') depth++; + else if (masked[matchParenthesisIndex] == ')') { + depth--; + if (depth == 0) break; + } + matchParenthesisIndex++; + } + if (matchParenthesisIndex < len) { + int afterMethodIndex = skipWhitespaceForward(masked, matchParenthesisIndex + 1); + if (afterMethodIndex < len) { + char nextChar = masked[afterMethodIndex]; + if (nextChar == '{') return false; + if (nextChar == 't' && hasSequenceAt(masked, afterMethodIndex, "throws")) { + return false; + } + } + } + boolean isControlKeyword = (wordLen == 2 && hasSequenceAt(masked, identifierStartIndex + 1, "if")) + || (wordLen == 3 && hasSequenceAt(masked, identifierStartIndex + 1, "for")) + || (wordLen == 5 && (hasSequenceAt(masked, identifierStartIndex + 1, "while") || hasSequenceAt(masked, identifierStartIndex + 1, "catch"))) + || (wordLen == 6 && hasSequenceAt(masked, identifierStartIndex + 1, "switch")) + || (wordLen == 12 && hasSequenceAt(masked, identifierStartIndex + 1, "synchronized")); + return !isControlKeyword; + } + return false; + } + scanIndex--; + } + return false; + } + + private static boolean hasKeywordBeforePackage(char[] masked, int prevWordStart, String keyword) { + int scanIndex = prevWordStart - 1; + while (scanIndex >= 0) { + scanIndex = skipWhitespaceBackward(masked, scanIndex); + if (scanIndex >= 0 && masked[scanIndex] == '.') { + scanIndex--; + continue; + } + if (scanIndex >= 0 && isIdentifierPart(masked[scanIndex])) { + int wordStartIndex = scanIndex; + while (wordStartIndex >= 0 && isIdentifierPart(masked[wordStartIndex])) { + wordStartIndex--; + } + int wordLen = scanIndex - wordStartIndex; + if (wordLen == keyword.length() && hasSequenceAt(masked, wordStartIndex + 1, keyword)) { + return true; + } + String scannedWord = new String(masked, wordStartIndex + 1, wordLen); + if (MODIFIERS.contains(scannedWord)) { + return false; + } + scanIndex = wordStartIndex; + continue; + } + break; + } + return false; + } + + private static int skipWs(String text, int index) { + int len = text.length(); + while (index < len && Character.isWhitespace(text.charAt(index))) index++; + return index; + } + + private static int findMatchingBracketStr(String text, int start, char open, char close) { + int depth = 0; + int len = text.length(); + for (int i = start; i < len; i++) { + int skip = skipLiteralOrComment(text, i); + if (skip > i) { + i = skip - 1; + continue; + } + char c = text.charAt(i); + if (c == open) depth++; + else if (c == close) { + depth--; + if (depth == 0) return i; + } + } + return -1; + } + + private static boolean isInvalidDeclTerminator(String text, int start) { + int paren = 0; + int brace = 0; + int bracket = 0; + int len = text.length(); + for (int i = start; i < len; i++) { + int skip = skipLiteralOrComment(text, i); + if (skip > i) { + i = skip - 1; + continue; + } + char c = text.charAt(i); + if (c == '(') paren++; + else if (c == ')') { + paren--; + if (paren < 0 && brace == 0 && bracket == 0) return false; + } else if (c == '[') bracket++; + else if (c == ']') bracket--; + else if (c == '{') brace++; + else if (c == '}') { + brace--; + if (brace < 0) return true; + } else if (c == ';') { + if (paren == 0 && brace == 0 && bracket == 0) return false; + } + } + return false; + } + + private static boolean verifyGenericUsage(String content, String previousWord, String nextText, char[] masked, int openIndex, int closeIndex, boolean isOutermost) { + String cleanContent = content.replace(MASK_CHAR, ' '); + boolean matchesUsage = USAGE_CONTENT_PATTERN.matcher(cleanContent).matches(); + boolean matchesDef = DEF_CONTENT_PATTERN.matcher(cleanContent).matches(); + if (!matchesUsage && !matchesDef) return false; + + if (previousWord.isEmpty() || (!Character.isJavaIdentifierStart(previousWord.charAt(0)) && !".".equals(previousWord) && !"::".equals(previousWord))) { + return false; + } + + if ("::".equals(previousWord)) { + String trimmed = nextText.trim(); + return !trimmed.isEmpty() && Character.isJavaIdentifierStart(trimmed.charAt(0)); + } + + if (MODIFIERS.contains(previousWord)) return true; + + if (".".equals(previousWord)) { + return checkMethodCallAfterDot(nextText); + } + + int prevWordLength = previousWord.length(); + if ("new".equals(previousWord) + || isThrowsOrImplementsContext(masked, openIndex) + || hasKeywordBeforePackage(masked, openIndex - prevWordLength, "new") + || hasKeywordBeforePackage(masked, openIndex - prevWordLength, "instanceof")) { + return true; + } + + if (isMethodCallContext(masked, openIndex)) { + if (hasKeywordBeforePackage(masked, openIndex - prevWordLength, "new")) return true; + String trimmedSuffix = nextText.trim(); + return trimmedSuffix.startsWith(".") || trimmedSuffix.startsWith("::"); + } + + String trimmedSuffix = nextText.trim(); + if (trimmedSuffix.startsWith(".") || trimmedSuffix.startsWith("::")) return true; + + if (!trimmedSuffix.isEmpty() && trimmedSuffix.charAt(0) == ')') { + if (checkParenthesesPredecessor(masked, openIndex)) return true; + } + + if (!trimmedSuffix.isEmpty() && trimmedSuffix.charAt(0) == '[') { + return checkArrayBracketsSuffix(trimmedSuffix, isOutermost); + } + + if (!trimmedSuffix.isEmpty() && Character.isJavaIdentifierStart(trimmedSuffix.charAt(0))) { + return checkIdentifierSuffix(trimmedSuffix); + } + + if (!trimmedSuffix.isEmpty()) { + char first = trimmedSuffix.charAt(0); + if (first == ',' || first == '&') return true; + if (first == '>' && !isOutermost) return true; + } + return false; + } + + private static boolean checkMethodCallAfterDot(String nextText) { + String trimmed = nextText.trim(); + if (!trimmed.isEmpty() && Character.isJavaIdentifierStart(trimmed.charAt(0))) { + int idx = 0; + int tLen = trimmed.length(); + while (idx < tLen && Character.isJavaIdentifierPart(trimmed.charAt(idx))) idx++; + while (idx < tLen && Character.isWhitespace(trimmed.charAt(idx))) idx++; + if (idx < tLen && trimmed.charAt(idx) == '(') return true; + } + return false; + } + + private static boolean checkParenthesesPredecessor(char[] masked, int openIndex) { + int i = openIndex - 1; + while (i >= 0) { + i = skipWhitespaceBackward(masked, i); + if (i >= 0 && masked[i] == '.') { i--; continue; } + if (i >= 0 && isIdentifierPart(masked[i])) { + while (i >= 0 && isIdentifierPart(masked[i])) i--; + continue; + } + break; + } + i = skipWhitespaceBackward(masked, i); + return i >= 0 && masked[i] == '('; + } + + private static boolean checkArrayBracketsSuffix(String trimmedSuffix, boolean isOutermost) { + int idx = 0; + int sLen = trimmedSuffix.length(); + while (idx < sLen && (trimmedSuffix.charAt(idx) == '[' || trimmedSuffix.charAt(idx) == ']' || Character.isWhitespace(trimmedSuffix.charAt(idx)))) idx++; + if (idx < sLen) { + char nextChar = trimmedSuffix.charAt(idx); + if (Character.isJavaIdentifierStart(nextChar) || nextChar == ';' || nextChar == '=' || nextChar == ',' || nextChar == ')') { + return !isInvalidDeclTerminator(trimmedSuffix, idx); + } + if (nextChar == '>' && !isOutermost) return true; + if (nextChar == ':') return true; + return nextChar == '.'; + } + return true; + } + + private static boolean checkIdentifierSuffix(String trimmedSuffix) { + int idx = 0; + int sLen = trimmedSuffix.length(); + while (idx < sLen && Character.isJavaIdentifierPart(trimmedSuffix.charAt(idx))) idx++; + int nextIdx = skipWs(trimmedSuffix, idx); + if (nextIdx < sLen) { + char nextChar = trimmedSuffix.charAt(nextIdx); + if (nextChar == ';' || nextChar == ':' || nextChar == ')') return true; + if (nextChar == ',') { + return !isInvalidDeclTerminator(trimmedSuffix, nextIdx); + } + if (nextChar == '=') { + if (nextIdx + 1 < sLen && trimmedSuffix.charAt(nextIdx + 1) == '=') return false; + return !isInvalidDeclTerminator(trimmedSuffix, nextIdx); + } + if (nextChar == '(') { + int afterParen = findMatchingBracketStr(trimmedSuffix, nextIdx, '(', ')'); + if (afterParen != -1) { + int postIdx = skipWs(trimmedSuffix, afterParen + 1); + if (postIdx < sLen) { + char postChar = trimmedSuffix.charAt(postIdx); + if (postChar == '{' || postChar == ';') return true; + if (trimmedSuffix.startsWith("throws", postIdx)) return true; + } + } + } + } + return false; + } + + private static int skipWhitespaceBackward(char[] str, int index) { + while (index >= 0 && (Character.isWhitespace(str[index]) || str[index] == MASK_CHAR)) index--; + return index; + } + + private static int skipWhitespaceForward(char[] str, int index) { + int len = str.length; + while (index < len && (Character.isWhitespace(str[index]) || str[index] == MASK_CHAR)) index++; + return index; + } + + private static boolean isIdentifierPart(char ch) { + return Character.isJavaIdentifierPart(ch) || ch == '_'; + } + + private static String getPreviousWord(char[] mask, int startIndex) { + int i = skipWhitespaceBackward(mask, startIndex - 1); + if (i < 0) return ""; + if (mask[i] == '.') return "."; + if (mask[i] == ':' && i > 0 && mask[i - 1] == ':') return "::"; + int end = i + 1; + if (!isIdentifierPart(mask[i])) return String.valueOf(mask[i]); + while (i >= 0 && isIdentifierPart(mask[i])) i--; + return new String(mask, i + 1, end - (i + 1)); + } + + private static String getNextText(char[] masked, int start) { + int i = skipWhitespaceForward(masked, start); + int len = masked.length; + if (i >= len) return ""; + int end = Math.min(i + 128, len); + StringBuilder sb = new StringBuilder(Math.min(128, len - i)); + for (int j = i; j < end; j++) { + char c = masked[j]; + if (c != MASK_CHAR) sb.append(c); + } + return sb.toString(); + } + + private static char[] maskSource(String source) { + int len = source.length(); + char[] masked = source.toCharArray(); + int i = 0; + while (i < len) { + int skip = skipLiteralOrComment(source, i); + if (skip > i) { + for (int j = i; j < skip; j++) { + char c = masked[j]; + if (c != '\n' && c != '\r') masked[j] = MASK_CHAR; + } + i = skip; + } else { + i++; + } + } + return masked; + } + + private static int skipLiteralOrComment(String source, int i) { + final int len = source.length(); + if (i >= len) return i; + char ch = source.charAt(i); + if (ch == '"') { + if (isTripleQuote(source, i)) { + int end = findTripleQuoteEnd(source, i + 3); + return end < 0 ? len : end + 3; + } + int end = findNormalStringEnd(source, i + 1); + return end < 0 ? len : end + 1; + } + if (ch == '\'') { + int end = findCharLiteralEnd(source, i + 1); + return end < 0 ? len : end + 1; + } + if (ch == '/' && i + 1 < len) { + char next = source.charAt(i + 1); + if (next == '/') { + int j = i + 2; + while (j < len && source.charAt(j) != '\n' && source.charAt(j) != '\r') j++; + return j; + } + if (next == '*') { + int end = findBlockCommentEnd(source, i + 2); + return end < 0 ? len : end + 2; + } + } + return i; + } + + private static int findNormalStringEnd(String text, int start) { + int len = text.length(); + for (int i = start; i < len; i++) { + char ch = text.charAt(i); + if (ch == '\\') { i++; continue; } + if (ch == '"') return i; + } + return -1; + } + + private static int findCharLiteralEnd(String text, int start) { + int len = text.length(); + for (int i = start; i < len; i++) { + char ch = text.charAt(i); + if (ch == '\\') { i++; continue; } + if (ch == '\'') return i; + if (ch == '\n' || ch == '\r') return -1; + } + return -1; + } + + private static int findBlockCommentEnd(String text, int start) { + int len = text.length(); + for (int i = start; i + 1 < len; i++) { + if (text.charAt(i) == '*' && text.charAt(i + 1) == '/') return i; + } + return -1; + } + + private static boolean isTripleQuote(String text, int index) { + return index + 2 < text.length() && text.charAt(index) == '"' && text.charAt(index + 1) == '"' && text.charAt(index + 2) == '"'; + } + + private static int findTripleQuoteEnd(String text, int start) { + int len = text.length(); + for (int i = start; i + 2 < len; i++) { + if (isTripleQuote(text, i)) return i; + } + return -1; + } + + private static int findMatchingBracket(char[] masked, int start, char open, char close) { + int depth = 0; + int len = masked.length; + for (int i = start; i < len; i++) { + if (masked[i] == open) depth++; + else if (masked[i] == close) { + depth--; + if (depth == 0) return i; + } + } + return -1; + } + + private static boolean hasSequenceAt(char[] seq, int offset, String search) { + int len = search.length(); + if (offset + len > seq.length) return false; + for (int i = 0; i < len; i++) { + if (seq[offset + i] != search.charAt(i)) return false; + } + return true; + } +} \ No newline at end of file diff --git a/bsh-lambda-300-eee36c8/src/main/jjtree/bsh.jjt b/bsh-lambda-300-eee36c8/src/main/jjtree/bsh.jjt index 0ca314d..59c628d 100644 --- a/bsh-lambda-300-eee36c8/src/main/jjtree/bsh.jjt +++ b/bsh-lambda-300-eee36c8/src/main/jjtree/bsh.jjt @@ -396,7 +396,6 @@ SKIP : /* WHITE SPACE and TYPE PARAMATERS */ " " | "\t" | "\r" | "\f" | "\n" | < NONPRINTABLE: (["\u0000"-"\u0020", "\u0080"-"\u00ff"])+ > - | < TYPE_PARAMATERS: "<" ( (~[">",";","|","&","\n","\r","="])* ("& "|">,")? )* ([">"])+ > } SPECIAL_TOKEN : /* COMMENTS */