• R/O
  • SSH

提交

标签
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Commit MetaInfo

修订版2745ab232133cb6f576b58da06dc2f5177b59a90 (tree)
时间2015-11-06 10:26:34
作者MirrgieRiana
CommiterMirrgieRiana

Log Message

mirrg.compile.lithiumbromide: 長いブロックコメントを使用するとStackOverflowになる問題を修正

更改概述

差异

diff -r 175869092d3c -r 2745ab232133 projects/mirrg.compile.lithiumbromide/src/main/java/mirrg/compile/lithiumbromide/HLithiumBromide.java
--- a/projects/mirrg.compile.lithiumbromide/src/main/java/mirrg/compile/lithiumbromide/HLithiumBromide.java Fri Nov 06 09:57:32 2015 +0900
+++ b/projects/mirrg.compile.lithiumbromide/src/main/java/mirrg/compile/lithiumbromide/HLithiumBromide.java Fri Nov 06 10:26:34 2015 +0900
@@ -55,7 +55,7 @@
5555 or((Class<ArrayList<?>>) null)
5656 .or(HBromine.regex("[ \\t\\r\\n]+", tag -> null))
5757 .or(HBromine.regex("//[^\\r\\n]*", tag -> null))
58- .or(HBromine.regex("/\\*(.|[\\r\\n])*?\\*/", tag -> null)),
58+ .or(HBromine.regex("(?s)/\\*.*?\\*/", tag -> null)),
5959 (node, index, child) -> {} , (node, index) -> {});
6060
6161 Syntax<NodeString> syntaxString = h.regex("'([^\\']|\\.)*'",
diff -r 175869092d3c -r 2745ab232133 projects/mirrg.compile.lithiumbromide/src/test/java/mirrg/compile/lithiumbromide/TestLithiumBromide.java
--- a/projects/mirrg.compile.lithiumbromide/src/test/java/mirrg/compile/lithiumbromide/TestLithiumBromide.java Fri Nov 06 09:57:32 2015 +0900
+++ b/projects/mirrg.compile.lithiumbromide/src/test/java/mirrg/compile/lithiumbromide/TestLithiumBromide.java Fri Nov 06 10:26:34 2015 +0900
@@ -190,6 +190,19 @@
190190 "1 + 2",
191191 3, 0, 0.001);
192192
193+ {
194+ String string = "";
195+
196+ for (int i = 0; i < 1000; i++) {
197+ string += "AAAAAAAAAAAAAAAAAA";
198+ }
199+
200+ assert1(compiler,
201+ "1+/*" + string + "*/2",
202+ "1 + 2",
203+ 3, 0, 0.001);
204+ }
205+
193206 assert1(compiler,
194207 "1+/* \r\n */2",
195208 "1 + 2",
diff -r 175869092d3c -r 2745ab232133 projects/mirrg.compile.lithiumbromide/src/test/resources/mirrg/compile/lithiumbromide/test.libr
--- a/projects/mirrg.compile.lithiumbromide/src/test/resources/mirrg/compile/lithiumbromide/test.libr Fri Nov 06 09:57:32 2015 +0900
+++ b/projects/mirrg.compile.lithiumbromide/src/test/resources/mirrg/compile/lithiumbromide/test.libr Fri Nov 06 10:26:34 2015 +0900
@@ -2,7 +2,7 @@
22 // コメント
33 comment := { "[ \t\r\n]+"
44 | "//[^\r\n]*"
5- | "/\*(.|[\r\n])*?\*/"
5+ | "(?s)/\*.*?\*/"
66 };
77
88 // リテラル