Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Merge branch 'master' into expr_tree

  • Loading branch information...
commit e0413071ffe08e74645fa25b803a8705407210df 2 parents 744edda + 9f35c90
@subbuss subbuss authored
View
8 bin/generate_parser
@@ -1,6 +1,14 @@
#!/bin/bash
# Run from your JRuby home directory....More smarts needed here.
+#
+# For 1.8 parser:
+# PATH=$PATH:<path to jay executable> bin/generate_parser DefaultRubyParser
+#
+# For 1.9 parser:
+# PATH=$PATH:<path to jay executable> bin/generate_parser Ruby19Parser Ruby19
+#
+# jay is available from https://github.com/jruby/jay
###### Change these to tastes ######
JAY=jay
View
2  shared.iml
@@ -382,7 +382,7 @@
<orderEntry type="module-library">
<library>
<CLASSES>
- <root url="jar://$MODULE_DIR$/build_lib/joda-time-2.0.jar!/" />
+ <root url="jar://$MODULE_DIR$/build_lib/joda-time-2.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
View
3  spec/jruby.1.8.mspec
@@ -11,6 +11,9 @@ WINDOWS = RbConfig::CONFIG['host_os'] =~ /mswin/
SPEC_DIR = File.join(File.dirname(__FILE__), 'ruby') unless defined?(SPEC_DIR)
TAGS_DIR = File.join(File.dirname(__FILE__), 'tags') unless defined?(TAGS_DIR)
+# Add --1.8 to JRUBY_OPTS env so we can be sure it propagates
+ENV['JRUBY_OPTS'] = ENV['JRUBY_OPTS'].to_s + " --1.8"
+
class MSpecScript
# Language features specs
set :language, [ SPEC_DIR + '/language' ]
View
3  spec/jruby.1.9.mspec
@@ -11,6 +11,9 @@ WINDOWS = RbConfig::CONFIG['host_os'] =~ /mswin/
SPEC_DIR = File.join(File.dirname(__FILE__), 'ruby') unless defined?(SPEC_DIR)
TAGS_DIR = File.join(File.dirname(__FILE__), 'tags') unless defined?(TAGS_DIR)
+# Add --1.9 to JRUBY_OPTS env so we can be sure it propagates
+ENV['JRUBY_OPTS'] = ENV['JRUBY_OPTS'].to_s + " --1.9"
+
class MSpecScript
# Language features specs
set :language, [
View
1  spec/tags/1.9/ruby/core/io/getc_tags.txt
@@ -1 +0,0 @@
-fails:IO#getc returns the next character from the stream
View
4 src/org/jruby/Ruby.java
@@ -1388,9 +1388,9 @@ private void initCore() {
if (is1_9()) {
if (RubyInstanceConfig.COROUTINE_FIBERS) {
- LoadService.reflectedLoad(this, "fiber", "org.jruby.ext.fiber.CoroutineFiberLibrary", getJRubyClassLoader(), false);
+ LoadService.reflectedLoad(this, "fiber", "org.jruby.ext.fiber.CoroutineFiberLibrary", getClassLoader(), false);
} else {
- LoadService.reflectedLoad(this, "fiber", "org.jruby.ext.fiber.ThreadFiberLibrary", getJRubyClassLoader(), false);
+ LoadService.reflectedLoad(this, "fiber", "org.jruby.ext.fiber.ThreadFiberLibrary", getClassLoader(), false);
}
} else {
if (RubyInstanceConfig.COROUTINE_FIBERS) {
View
137 src/org/jruby/RubyIO.java
@@ -2363,22 +2363,6 @@ public IRubyObject getc() {
return getRuntime().newFixnum(c);
}
-
- private ByteList fromEncodedBytes(Ruby runtime, Encoding enc, int value) {
- int n;
- try {
- n = value < 0 ? 0 : enc.codeToMbcLength(value);
- } catch (EncodingException ee) {
- n = 0;
- }
-
- if (n <= 0) throw runtime.newRangeError(this.toString() + " out of char range");
-
- ByteList bytes = new ByteList(n);
- enc.codeToMbc(value, bytes.getUnsafeBytes(), 0);
- bytes.setRealSize(n);
- return bytes;
- }
@JRubyMethod(name = "readchar", compat = RUBY1_9)
public IRubyObject readchar19(ThreadContext context) {
@@ -2407,25 +2391,85 @@ public IRubyObject readbyte(ThreadContext context) {
@JRubyMethod(name = "getc", compat = RUBY1_9)
public IRubyObject getc19(ThreadContext context) {
Ruby runtime = context.getRuntime();
- int c = getcCommon();
- if (c == -1) {
- // CRuby checks ferror(f) and retry getc for non-blocking IO
- // read. We checks readability first if possible so retry should
- // not be needed I believe.
- return runtime.getNil();
- }
+ try {
+ OpenFile myOpenFile = getOpenFileChecked();
- Encoding external = getExternalEncoding(runtime);
- ByteList bytes = fromEncodedBytes(runtime, external, (int) c);
- Encoding internal = getInternalEncoding(runtime);
-
- if (internal != null) {
- bytes = RubyString.transcode(context, bytes, external, internal, runtime.getNil());
- }
+ myOpenFile.checkReadable(getRuntime());
+ myOpenFile.setReadBuffered();
+
+ Stream stream = myOpenFile.getMainStreamSafe();
- // TODO: This should be optimized like RubyInteger.chr is for ascii values
- return RubyString.newStringNoCopy(runtime, bytes, external, 0);
+ readCheck(stream);
+ waitReadable(stream);
+ stream.clearerr();
+
+ int c = stream.fgetc();
+
+ if (c == -1) {
+ // CRuby checks ferror(f) and retry getc for non-blocking IO
+ // read. We checks readability first if possible so retry should
+ // not be needed I believe.
+ return runtime.getNil();
+ }
+
+ Encoding external = getExternalEncoding(runtime);
+ Encoding internal = getInternalEncoding(runtime);
+ ByteList bytes = null;
+ boolean shared = false;
+ int cr = 0;
+
+ if (Encoding.isAscii(c)) {
+ if (internal == ASCIIEncoding.INSTANCE) {
+ bytes = RubyInteger.SINGLE_CHAR_BYTELISTS[(int)c];
+ shared = true;
+ } else {
+ bytes = new ByteList(new byte[]{(byte)c}, external, false);
+ shared = false;
+ cr = StringSupport.CR_7BIT;
+ }
+ } else {
+ // potential MBC
+ int len = external.length((byte)c);
+ byte[] byteAry = new byte[len];
+
+ byteAry[0] = (byte)c;
+ for (int i = 1; i < len; i++) {
+ c = (byte)stream.fgetc();
+ if (c == -1) {
+ bytes = new ByteList(byteAry, 0, i - 1, external, false);
+ cr = StringSupport.CR_BROKEN;
+ }
+ byteAry[i] = (byte)c;
+ }
+
+ if (bytes == null) {
+ cr = StringSupport.CR_VALID;
+ bytes = new ByteList(byteAry, external, false);
+ }
+ }
+
+ if (cr != StringSupport.CR_BROKEN && external != internal) {
+ bytes = RubyString.transcode(context, bytes, external, internal, runtime.getNil());
+ }
+
+ if (internal == null) internal = external;
+
+ if (shared) {
+ return RubyString.newStringShared(runtime, bytes, cr);
+ } else {
+ return RubyString.newStringNoCopy(runtime, bytes, internal, cr);
+ }
+
+ } catch (InvalidValueException ex) {
+ throw getRuntime().newErrnoEINVALError();
+ } catch (BadDescriptorException e) {
+ throw getRuntime().newErrnoEBADFError();
+ } catch (EOFException e) {
+ throw getRuntime().newEOFError();
+ } catch (IOException e) {
+ throw getRuntime().newIOErrorFromException(e);
+ }
}
public int getcCommon() {
@@ -3105,16 +3149,35 @@ public IRubyObject each_charInternal(final ThreadContext context, final Block bl
return this;
}
- @JRubyMethod
+ public IRubyObject each_charInternal19(final ThreadContext context, final Block block) {
+ IRubyObject ch;
+
+ while(!(ch = getc19(context)).isNil()) {
+ block.yield(context, ch);
+ }
+ return this;
+ }
+
+ @JRubyMethod(compat = RUBY1_8)
public IRubyObject each_char(final ThreadContext context, final Block block) {
return block.isGiven() ? each_charInternal(context, block) : enumeratorize(context.getRuntime(), this, "each_char");
}
- @JRubyMethod
+ @JRubyMethod(name = "each_char", compat = RUBY1_9)
+ public IRubyObject each_char19(final ThreadContext context, final Block block) {
+ return block.isGiven() ? each_charInternal19(context, block) : enumeratorize(context.getRuntime(), this, "each_char");
+ }
+
+ @JRubyMethod(compat = RUBY1_8)
public IRubyObject chars(final ThreadContext context, final Block block) {
return block.isGiven() ? each_charInternal(context, block) : enumeratorize(context.getRuntime(), this, "chars");
}
+ @JRubyMethod(name = "chars", compat = RUBY1_9)
+ public IRubyObject chars19(final ThreadContext context, final Block block) {
+ return block.isGiven() ? each_charInternal19(context, block) : enumeratorize(context.getRuntime(), this, "chars");
+ }
+
@JRubyMethod
public IRubyObject codepoints(final ThreadContext context, final Block block) {
return eachCodePointCommon(context, block, "codepoints");
@@ -4373,7 +4436,8 @@ public static ModeFlags newModeFlags(Ruby runtime, String mode) {
try {
return new ModeFlags(mode);
} catch (InvalidValueException ive) {
- throw runtime.newErrnoEINVALError();
+ // This is used by File and StringIO, which seem to want an ArgumentError instead of EINVAL
+ throw runtime.newArgumentError("illegal access mode " + mode);
}
}
@@ -4398,7 +4462,8 @@ public static IOOptions newIOOptions(Ruby runtime, String mode) {
try {
return new IOOptions(runtime, mode);
} catch (InvalidValueException ive) {
- throw runtime.newErrnoEINVALError();
+ // This is used by File and StringIO, which seem to want an ArgumentError instead of EINVAL
+ throw runtime.newArgumentError("illegal access mode " + mode);
}
}
View
4 src/org/jruby/RubyString.java
@@ -2414,7 +2414,7 @@ public IRubyObject inspect19() {
result.cat('"');
int prev = p;
while (p < end) {
- int cc;
+ int cc = 0;
int n = StringSupport.preciseLength(enc, bytes, p, end);
if (n <= 0) {
@@ -2432,7 +2432,7 @@ public IRubyObject inspect19() {
if ((enc.isAsciiCompatible() || isUnicode) &&
(c == '"' || c == '\\' ||
(c == '#' && p < end && (StringSupport.preciseLength(enc, bytes, p, end) > 0) &&
- (cc = codePoint(runtime, enc, bytes, p, end)) == '$' && cc == '@' && cc == '{'))) {
+ (cc = codePoint(runtime, enc, bytes, p, end)) == '$' || cc == '@' || cc == '{'))) {
if (p - n > prev) result.cat(bytes, prev, p - n - prev);
result.cat('\\');
if (enc.isAsciiCompatible() || enc == resultEnc) {
View
3  src/org/jruby/RubyThread.java
@@ -241,9 +241,6 @@ public synchronized void dispose() {
// unlock all locked locks
unlockAll();
- // clear all thread locals
- clearThreadLocals();
-
// reset thread priority to initial if pooling
if (Options.THREADPOOL_ENABLED.load()) {
threadImpl.setPriority(initialPriority);
View
10 src/org/jruby/compiler/ir/IRScope.java
@@ -12,7 +12,6 @@
import org.jruby.RubyModule;
import org.jruby.compiler.ir.compiler_pass.CFGBuilder;
import org.jruby.compiler.ir.compiler_pass.CompilerPass;
-import org.jruby.compiler.ir.compiler_pass.DominatorTreeBuilder;
import org.jruby.compiler.ir.compiler_pass.IRPrinter;
import org.jruby.compiler.ir.compiler_pass.InlineTest;
import org.jruby.compiler.ir.compiler_pass.LinearizeCFG;
@@ -1112,7 +1111,7 @@ public DataFlowProblem getDataFlowSolution(String name) {
if (linearizedBBList != null) return linearizedBBList; // Already linearized
- linearizedBBList = CFGLinearizer.linearize(cfg());
+ linearizedBBList = CFGLinearizer.linearize(cfg);
return linearizedBBList;
}
@@ -1242,13 +1241,6 @@ public void buildCFG(List<Instr> instrList) {
CFG newBuild = new CFG(this);
newBuild.build(instrList);
cfg = newBuild;
- }
-
- public void buildDominatorTree(DominatorTreeBuilder builder) {
- depends(cfg());
-
- // FIXME: Add result from this build and add to CFG as a field, then add depends() for htings which use it.
- builder.buildDominatorTree(cfg, cfg.postOrderList(), cfg.getMaxNodeID());
}
/* Record a begin block -- not all scope implementations can handle them */
View
2  src/org/jruby/compiler/ir/compiler_pass/CompilerPass.java
@@ -57,8 +57,10 @@ public Object run(IRScope scope) {
switch (dependency.b) { // type of dependency
case RETRIEVE:
data[i] = makeSureDependencyHasRunOnce(dependency.a, scope);
+ break;
case RERUN:
data[i] = executeDependency(dependency.a, scope);
+ break;
}
}
View
17 src/org/jruby/compiler/ir/compiler_pass/DominatorTreeBuilder.java
@@ -1,10 +1,13 @@
package org.jruby.compiler.ir.compiler_pass;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedList;
+import java.util.List;
import java.util.ListIterator;
import java.util.Map;
import org.jruby.compiler.ir.IRScope;
+import org.jruby.compiler.ir.Tuple;
import org.jruby.compiler.ir.representations.BasicBlock;
import org.jruby.compiler.ir.representations.CFG;
import org.jruby.util.log.Logger;
@@ -13,7 +16,10 @@
public class DominatorTreeBuilder extends CompilerPass {
private static String[] NAMES = new String[] {"build_dominator", "dominator"};
private static final Logger LOG = LoggerFactory.getLogger("DominatorTreeBuilder");
-
+ public static List<Tuple<Class<CompilerPass>, DependencyType>> DEPENDENCIES = new ArrayList<Tuple<Class<CompilerPass>, DependencyType>>() {{
+ add(new Tuple(CFGBuilder.class, CompilerPass.DependencyType.RETRIEVE));
+ }};
+
public String getLabel() {
return "Build Dominator Tree";
}
@@ -21,10 +27,17 @@ public String getLabel() {
public boolean isPreOrder() {
return false;
}
+
+ @Override
+ public List<Tuple<Class<CompilerPass>, DependencyType>> getDependencies() {
+ return DEPENDENCIES;
+ }
public Object execute(IRScope scope, Object... data) {
+ CFG cfg = (CFG) data[0];
+
try {
- scope.buildDominatorTree(this);
+ buildDominatorTree(cfg, cfg.postOrderList(), cfg.getMaxNodeID());
} catch (Exception e) {
LOG.debug("Caught exception building dom tree for {}", scope.cfg());
}
View
13 src/org/jruby/compiler/ir/compiler_pass/LinearizeCFG.java
@@ -1,10 +1,16 @@
package org.jruby.compiler.ir.compiler_pass;
+import java.util.ArrayList;
+import java.util.List;
import org.jruby.compiler.ir.IRScope;
+import org.jruby.compiler.ir.Tuple;
public class LinearizeCFG extends CompilerPass {
public static String[] NAMES = new String[] { "linearize", "linearize_cfg" };
-
+ public static List<Tuple<Class<CompilerPass>, DependencyType>> DEPENDENCIES = new ArrayList<Tuple<Class<CompilerPass>, DependencyType>>() {{
+ add(new Tuple(CFGBuilder.class, CompilerPass.DependencyType.RETRIEVE));
+ }};
+
public String getLabel() {
return "Linearize CFG";
}
@@ -12,6 +18,11 @@ public String getLabel() {
public boolean isPreOrder() {
return true;
}
+
+ @Override
+ public List<Tuple<Class<CompilerPass>, DependencyType>> getDependencies() {
+ return DEPENDENCIES;
+ }
public Object execute(IRScope scope, Object... data) {
scope.buildLinearization();
View
415 src/org/jruby/parser/Ruby19Parser.java
@@ -264,7 +264,6 @@ public void setWarnings(IRubyWarnings warnings) {
public static final int tFLOAT = 379;
public static final int tREGEXP_END = 380;
public static final int tLOWEST = 381;
- public static final int bv_dels = 382;
public static final int yyErrorCode = 256;
/** number of final state.
@@ -389,7 +388,7 @@ public void setWarnings(IRubyWarnings warnings) {
1, 1, 1, 1, 1, 0, 1, 0, 1, 2,
2, 0, 1, 1, 1, 1, 1, 2, 0, 0,
}, yyDefRed = {
-//yyDefRed 955
+//yyDefRed 960
1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 295, 298, 0, 0, 0, 320, 321, 0,
0, 0, 458, 457, 459, 460, 0, 0, 0, 9,
@@ -474,50 +473,50 @@ public void setWarnings(IRubyWarnings warnings) {
0, 540, 0, 0, 0, 0, 0, 0, 470, 307,
472, 314, 0, 0, 0, 0, 0, 405, 0, 407,
0, 293, 0, 294, 260, 0, 0, 0, 304, 437,
- 335, 0, 0, 0, 337, 375, 0, 486, 0, 378,
- 377, 0, 478, 0, 476, 0, 481, 484, 0, 0,
- 359, 0, 0, 354, 0, 357, 364, 396, 394, 0,
- 0, 380, 32, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 398, 397, 399, 297, 300, 0, 0,
- 0, 0, 0, 368, 0, 0, 0, 0, 0, 0,
- 0, 366, 0, 0, 0, 0, 502, 59, 310, 0,
- 0, 0, 0, 0, 0, 400, 0, 0, 0, 0,
- 479, 0, 474, 477, 482, 279, 0, 360, 0, 351,
- 0, 349, 0, 355, 358, 317, 0, 329, 305, 0,
- 0, 0, 0, 0, 0, 0, 0, 475, 353, 0,
- 347, 350, 356, 0, 348,
+ 335, 0, 0, 0, 337, 375, 0, 486, 371, 0,
+ 369, 372, 378, 377, 0, 478, 0, 476, 0, 481,
+ 484, 0, 0, 359, 0, 0, 354, 0, 357, 364,
+ 396, 394, 0, 0, 380, 32, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 398, 397, 399, 297,
+ 300, 0, 0, 0, 0, 0, 0, 368, 0, 0,
+ 0, 0, 0, 0, 0, 366, 0, 0, 0, 0,
+ 502, 59, 310, 0, 0, 0, 0, 0, 0, 400,
+ 0, 0, 0, 0, 370, 479, 0, 474, 477, 482,
+ 279, 0, 360, 0, 351, 0, 349, 0, 355, 358,
+ 317, 0, 329, 305, 0, 0, 0, 0, 0, 0,
+ 0, 0, 475, 353, 0, 347, 350, 356, 0, 348,
}, yyDgoto = {
//yyDgoto 156
1, 224, 306, 64, 65, 597, 562, 116, 212, 556,
502, 394, 503, 504, 505, 199, 66, 67, 68, 69,
70, 309, 308, 479, 71, 72, 73, 487, 74, 75,
76, 117, 77, 78, 218, 219, 220, 221, 80, 81,
- 82, 83, 226, 276, 743, 884, 744, 736, 437, 740,
+ 82, 83, 226, 276, 743, 887, 744, 736, 437, 740,
564, 384, 262, 85, 704, 86, 87, 506, 214, 768,
228, 603, 604, 508, 790, 693, 694, 576, 89, 90,
254, 415, 609, 286, 229, 222, 255, 315, 313, 509,
510, 674, 93, 256, 257, 293, 470, 792, 429, 258,
430, 681, 778, 322, 359, 517, 94, 95, 398, 230,
- 215, 216, 512, 0, 682, 686, 316, 284, 795, 246,
- 439, 675, 676, 0, 434, 710, 201, 513, 97, 98,
+ 215, 216, 512, 849, 682, 686, 316, 284, 795, 246,
+ 439, 675, 676, 850, 434, 710, 201, 513, 97, 98,
99, 2, 235, 236, 273, 446, 435, 697, 606, 463,
- 263, 459, 404, 238, 628, 753, 239, 754, 636, 888,
+ 263, 459, 404, 238, 628, 753, 239, 754, 636, 891,
593, 405, 590, 817, 389, 391, 605, 822, 317, 551,
515, 514, 665, 664, 592, 390,
}, yySindex = {
-//yySindex 955
- 0, 0, 14462, 14833, 5290, 17539, 18247, 18139, 14586, 16801,
- 16801, 12571, 0, 0, 17293, 15079, 15079, 0, 0, 15079,
- -249, -198, 0, 0, 0, 0, 124, 18031, 151, 0,
- -181, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 16924, 16924, 262, -122, 14710, 16801, 15448, 15817, 5822,
- 16924, 17047, 18354, 0, 0, 0, 164, 193, 0, 0,
- 0, 0, 0, 0, 0, -123, 0, -94, 0, 0,
- 0, -178, 0, 0, 0, 0, 0, 0, 0, 1360,
- 277, 4699, 0, -49, -17, 0, -84, 0, -95, 206,
- 0, 238, 0, 17416, 245, 0, -20, 0, 135, 0,
- 0, 0, 0, 0, -249, -198, 22, 151, 0, 0,
- 304, 16801, -13, 14586, 0, -123, 0, 54, 0, 236,
+//yySindex 960
+ 0, 0, 14541, 14912, 5673, 17618, 18326, 18218, 14665, 16880,
+ 16880, 13013, 0, 0, 17372, 15158, 15158, 0, 0, 15158,
+ -220, -97, 0, 0, 0, 0, 57, 18110, 250, 0,
+ -63, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 17003, 17003, -89, -38, 14789, 16880, 15527, 15896, 6205,
+ 17003, 17126, 18433, 0, 0, 0, 268, 277, 0, 0,
+ 0, 0, 0, 0, 0, -69, 0, -46, 0, 0,
+ 0, -177, 0, 0, 0, 0, 0, 0, 0, 946,
+ -85, 5082, 0, 43, -15, 0, -53, 0, 10, 395,
+ 0, 493, 0, 17495, 511, 0, 244, 0, 145, 0,
+ 0, 0, 0, 0, -220, -97, 280, 250, 0, 0,
+ 253, 16880, 267, 14665, 0, -69, 0, 5, 0, -13,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -525,198 +524,198 @@ public void setWarnings(IRubyWarnings warnings) {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, -41,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, -33,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 290, 0, 0, 14956, 106, 112,
- 135, 1360, 0, 77, 0, 277, 161, 558, 132, 313,
- 211, 161, 0, 0, 135, 125, 487, 0, 16801, 16801,
- 251, 0, 563, 0, 0, 0, 311, 16924, 16924, 16924,
- 16924, 4699, 0, 0, 256, 552, 574, 0, 0, 0,
- 0, 3270, 0, 15079, 15079, 0, 0, 4256, 0, 16801,
- -61, 0, 15940, 295, 14586, 0, 564, 334, 343, 348,
- 330, 14710, 338, 0, 151, 277, 327, 0, 208, 292,
- 256, 0, 292, 326, 380, 17662, 0, 578, 0, 653,
- 0, 0, 0, 0, 0, 0, 0, 0, 322, 379,
- 825, 349, 345, 857, 353, -170, 0, 1822, 0, 0,
- 0, 360, 0, 0, 0, 16801, 16801, 16801, 16801, 14956,
- 16801, 16801, 16924, 16924, 16924, 16924, 16924, 16924, 16924, 16924,
- 16924, 16924, 16924, 16924, 16924, 16924, 16924, 16924, 16924, 16924,
- 16924, 16924, 16924, 16924, 16924, 16924, 16924, 16924, 0, 0,
- 2239, 2769, 15079, 18901, 18901, 17047, 0, 16063, 14710, 12744,
- 716, 16063, 17047, 0, 14210, 422, 0, 0, 277, 0,
- 0, 0, 135, 0, 0, 0, 3755, 4829, 15079, 14586,
- 16801, 1893, 0, 0, 0, 0, 1360, 16186, 502, 0,
- 0, 14338, 330, 0, 14586, 506, 5898, 6442, 15079, 16924,
- 16924, 16924, 14586, 125, 16309, 510, 0, 69, 69, 0,
- 18516, 18571, 15079, 0, 0, 0, 0, 16924, 15202, 0,
- 0, 15571, 0, 151, 0, 438, 0, 0, 0, 151,
- 68, 0, 0, 0, 0, 0, 18139, 16801, 4699, 14462,
- 418, 5898, 6442, 16924, 16924, 16924, 151, 0, 0, 151,
- 0, 15694, 0, 0, 15817, 0, 0, 0, 0, 0,
- 739, 18626, 18681, 15079, 17662, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 101, 0, 0,
- 752, 725, 0, 0, 0, 0, 1504, 1717, 0, 0,
- 0, 0, 0, 482, 493, 761, 0, 151, -183, 762,
- 765, 0, 0, 0, -119, -119, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 334, 2324, 2324, 2324, 2324,
- 1632, 1632, 5185, 3803, 2324, 2324, 2817, 2817, 938, 938,
- 334, 1027, 334, 334, 356, 356, 1632, 1632, 1351, 1351,
- 2184, -119, 473, 0, 477, -198, 0, 0, 479, 0,
- 481, -198, 0, 0, 0, 151, 0, 0, -198, -198,
- 0, 4699, 16924, 0, 0, 4333, 0, 0, 764, 778,
- 151, 17662, 779, 0, 0, 0, 0, 0, 4768, 0,
- 135, 0, 16801, 14586, -198, 0, 0, -198, 0, 151,
- 568, 68, 1717, 135, 14586, 18461, 18139, 0, 0, 489,
- 0, 14586, 572, 0, 1360, 417, 0, 503, 504, 516,
- 481, 151, 4333, 502, 590, 677, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 151, 16801, 0, 16924, 256,
- 574, 0, 0, 0, 0, 0, 0, 0, 68, 485,
- 0, 334, 334, 4699, 0, 0, 292, 17662, 0, 0,
- 0, 0, 151, 739, 14586, -23, 0, 0, 0, 16924,
- 0, 1504, 879, 0, 812, 0, 151, 151, 0, 0,
- 1447, 0, 0, 800, 14586, 14586, 0, 1717, 0, 1717,
- 0, 0, 870, 0, 14586, 0, 14586, -119, 802, 14586,
- 17047, 17047, 0, 360, 0, 0, 17047, 16924, 0, 360,
- 528, 522, 0, 0, 0, 0, 0, 16924, 17047, 16432,
- 0, 739, 17662, 16924, 0, 135, 604, 0, 0, 0,
- 151, 0, 606, 0, 0, 17785, 161, 0, 0, 14586,
- 0, 0, 16801, 0, 607, 16924, 16924, 16924, 537, 612,
- 0, 16555, 14586, 14586, 14586, 0, 69, 0, 0, 0,
- 0, 0, 0, 0, 521, 0, 0, 0, 0, 0,
- 0, 151, 1528, 834, 1570, 0, 546, 844, 0, 514,
- 638, 539, 859, 863, 0, 872, 0, 844, 849, 885,
- 151, 896, 906, 0, 593, 0, 689, 599, 14586, 16924,
- 691, 0, 4699, 0, 4699, 0, 0, 4699, 4699, 0,
- 17047, 0, 4699, 16924, 0, 739, 4699, 14586, 0, 0,
- 0, 0, 1893, 652, 0, 583, 0, 0, 14586, 0,
- 161, 0, 16924, 0, 0, 95, 706, 707, 0, 0,
- 0, 933, 1528, 897, 0, 0, 1447, 0, 151, 0,
- 0, 1447, 0, 1717, 0, 1447, 0, 0, 17908, 1447,
- 0, 620, 2295, 0, 2295, 0, 0, 0, 0, 622,
- 4699, 0, 0, 4699, 0, 721, 14586, 0, 18736, 18791,
- 15079, 106, 14586, 0, 0, 0, 0, 0, 14586, 1528,
- 933, 1528, 951, 0, 844, 957, 844, 844, 692, 637,
- 844, 0, 962, 963, 972, 844, 0, 0, 0, 753,
- 0, 0, 0, 0, 151, 0, 417, 755, 933, 1528,
- 0, 1447, 0, 0, 0, 0, 18846, 0, 1447, 0,
- 2295, 0, 1447, 0, 0, 0, 0, 0, 0, 933,
- 844, 0, 0, 844, 978, 844, 844, 0, 0, 1447,
- 0, 0, 0, 844, 0,
+ 0, 0, 0, 0, 596, 0, 0, 15035, 382, 388,
+ 145, 946, 0, 344, 0, -85, 283, 447, 325, 606,
+ 339, 283, 0, 0, 145, 409, 643, 0, 16880, 16880,
+ 375, 0, 472, 0, 0, 0, 445, 17003, 17003, 17003,
+ 17003, 5082, 0, 0, 406, 703, 705, 0, 0, 0,
+ 0, 3653, 0, 15158, 15158, 0, 0, 4639, 0, 16880,
+ -136, 0, 16019, 401, 14665, 0, 489, 438, 452, 455,
+ 436, 14789, 439, 0, 250, -85, 433, 0, 99, 117,
+ 406, 0, 117, 417, 476, 17741, 0, 551, 0, 749,
+ 0, 0, 0, 0, 0, 0, 0, 0, 302, 425,
+ 639, 394, 429, 761, 443, -212, 0, 1670, 0, 0,
+ 0, 462, 0, 0, 0, 16880, 16880, 16880, 16880, 15035,
+ 16880, 16880, 17003, 17003, 17003, 17003, 17003, 17003, 17003, 17003,
+ 17003, 17003, 17003, 17003, 17003, 17003, 17003, 17003, 17003, 17003,
+ 17003, 17003, 17003, 17003, 17003, 17003, 17003, 17003, 0, 0,
+ 2633, 3152, 15158, 18980, 18980, 17126, 0, 16142, 14789, 13186,
+ 772, 16142, 17126, 0, 14294, 480, 0, 0, -85, 0,
+ 0, 0, 145, 0, 0, 0, 4228, 5171, 15158, 14665,
+ 16880, 1871, 0, 0, 0, 0, 946, 16265, 554, 0,
+ 0, 14417, 436, 0, 14665, 562, 6281, 6825, 15158, 17003,
+ 17003, 17003, 14665, 409, 16388, 568, 0, 164, 164, 0,
+ 18595, 18650, 15158, 0, 0, 0, 0, 17003, 15281, 0,
+ 0, 15650, 0, 250, 0, 496, 0, 0, 0, 250,
+ 240, 0, 0, 0, 0, 0, 18218, 16880, 5082, 14541,
+ 468, 6281, 6825, 17003, 17003, 17003, 250, 0, 0, 250,
+ 0, 15773, 0, 0, 15896, 0, 0, 0, 0, 0,
+ 790, 18705, 18760, 15158, 17741, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 105, 0, 0,
+ 806, 779, 0, 0, 0, 0, 856, 1918, 0, 0,
+ 0, 0, 0, 535, 538, 816, 0, 250, -173, 818,
+ 819, 0, 0, 0, -101, -101, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 438, 2096, 2096, 2096, 2096,
+ 1392, 1392, 5568, 3200, 2096, 2096, 2707, 2707, 1066, 1066,
+ 438, 1048, 438, 438, 494, 494, 1392, 1392, 1636, 1636,
+ 2569, -101, 529, 0, 531, -97, 0, 0, 534, 0,
+ 541, -97, 0, 0, 0, 250, 0, 0, -97, -97,
+ 0, 5082, 17003, 0, 0, 4172, 0, 0, 830, 848,
+ 250, 17741, 864, 0, 0, 0, 0, 0, 4716, 0,
+ 145, 0, 16880, 14665, -97, 0, 0, -97, 0, 250,
+ 646, 240, 1918, 145, 14665, 18540, 18218, 0, 0, 574,
+ 0, 14665, 651, 0, 946, 420, 0, 578, 583, 597,
+ 541, 250, 4172, 554, 669, 774, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 250, 16880, 0, 17003, 406,
+ 705, 0, 0, 0, 0, 0, 0, 0, 240, 581,
+ 0, 438, 438, 5082, 0, 0, 117, 17741, 0, 0,
+ 0, 0, 250, 790, 14665, 842, 0, 0, 0, 17003,
+ 0, 856, -3, 0, 902, 0, 250, 250, 0, 0,
+ 1692, 0, 0, 888, 14665, 14665, 0, 1918, 0, 1918,
+ 0, 0, 741, 0, 14665, 0, 14665, -101, 893, 14665,
+ 17126, 17126, 0, 462, 0, 0, 17126, 17003, 0, 462,
+ 620, 609, 0, 0, 0, 0, 0, 17003, 17126, 16511,
+ 0, 790, 17741, 17003, 0, 145, 712, 0, 0, 0,
+ 250, 0, 714, 0, 0, 17864, 283, 0, 0, 14665,
+ 0, 0, 16880, 0, 715, 17003, 17003, 17003, 645, 722,
+ 0, 16634, 14665, 14665, 14665, 0, 164, 0, 0, 0,
+ 0, 0, 0, 0, 628, 0, 0, 0, 0, 0,
+ 0, 250, 1181, 947, 1192, 0, 653, 948, 0, 654,
+ 731, 638, 958, 961, 0, 974, 0, 948, 965, 988,
+ 250, 994, 1009, 0, 697, 0, 799, 702, 14665, 17003,
+ 804, 0, 5082, 0, 5082, 0, 0, 5082, 5082, 0,
+ 17126, 0, 5082, 17003, 0, 790, 5082, 14665, 0, 0,
+ 0, 0, 1871, 760, 0, 555, 0, 0, 14665, 0,
+ 283, 0, 17003, 0, 0, -27, 809, 810, 0, 0,
+ 0, 1035, 1181, 419, 0, 0, 1692, 0, 0, 137,
+ 0, 0, 0, 0, 1692, 0, 1918, 0, 1692, 0,
+ 0, 17987, 1692, 0, 723, 1940, 0, 1940, 0, 0,
+ 0, 0, 724, 5082, 0, 0, 5082, 0, 820, 14665,
+ 0, 18815, 18870, 15158, 382, 14665, 0, 0, 0, 0,
+ 0, 14665, 1181, 1035, 1181, 1043, 654, 0, 948, 1049,
+ 948, 948, 784, 560, 948, 0, 1055, 1057, 1061, 948,
+ 0, 0, 0, 843, 0, 0, 0, 0, 250, 0,
+ 420, 847, 1035, 1181, 0, 0, 1692, 0, 0, 0,
+ 0, 18925, 0, 1692, 0, 1940, 0, 1692, 0, 0,
+ 0, 0, 0, 0, 1035, 948, 0, 0, 948, 1071,
+ 948, 948, 0, 0, 1692, 0, 0, 0, 948, 0,
}, yyRindex = {
-//yyRindex 955
- 0, 0, 156, 0, 0, 0, 0, 0, 1220, 0,
- 0, 754, 0, 0, 0, 12909, 13015, 0, 0, 13157,
- 4584, 4091, 0, 0, 0, 0, 17170, 0, 16678, 0,
- 0, 0, 0, 0, 1996, 3105, 0, 0, 2119, 0,
- 0, 0, 0, 0, 0, 59, 0, 680, 666, 37,
- 0, 0, 866, 0, 0, 0, 1018, 205, 0, 0,
- 0, 0, 0, 13260, 0, 15325, 0, 6806, 0, 0,
- 0, 6907, 0, 0, 0, 0, 0, 0, 0, 57,
- 501, 13951, 7051, 14015, 0, 0, 14058, 0, 13374, 0,
- 0, 0, 0, 70, 0, 0, 0, 0, 51, 0,
- 0, 0, 0, 0, 7155, 6112, 0, 694, 11536, 11662,
- 0, 0, 0, 59, 0, 0, 0, 0, 0, 0,
+//yyRindex 960
+ 0, 0, 136, 0, 0, 0, 0, 0, 1111, 0,
+ 0, 845, 0, 0, 0, 13351, 13457, 0, 0, 13599,
+ 4967, 4474, 0, 0, 0, 0, 17249, 0, 16757, 0,
+ 0, 0, 0, 0, 2379, 3488, 0, 0, 2502, 0,
+ 0, 0, 0, 0, 0, 90, 0, 776, 763, 67,
+ 0, 0, 861, 0, 0, 0, 938, -175, 0, 0,
+ 0, 0, 0, 13702, 0, 15404, 0, 7189, 0, 0,
+ 0, 7290, 0, 0, 0, 0, 0, 0, 0, 22,
+ 983, 1065, 7434, 1171, 0, 0, 1610, 0, 13816, 0,
+ 0, 0, 0, 193, 0, 0, 0, 0, 50, 0,
+ 0, 0, 0, 0, 7538, 6495, 0, 788, 11978, 12104,
+ 0, 0, 0, 90, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1182, 1341, 1887, 2358, 0,
+ 0, 0, 0, 0, 0, 1366, 1449, 1503, 2264, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 2709, 2851, 3344, 3695, 0, 3837, 0, 0, 0,
+ 0, 2741, 3092, 3234, 3727, 0, 4078, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 12632, 0, 0, 0, 329, 0,
- 1240, 668, 0, 0, 6226, 5191, 0, 0, 6558, 0,
- 0, 0, 0, 0, 754, 0, 758, 0, 0, 0,
- 0, 600, 0, 717, 0, 0, 0, 0, 0, 0,
- 0, 1707, 0, 0, 13619, 4702, 4702, 0, 0, 0,
- 0, 690, 0, 0, 144, 0, 0, 690, 0, 0,
- 0, 0, 0, 0, 55, 0, 0, 7516, 7268, 7400,
- 13508, 59, 0, 138, 690, 148, 0, 0, 695, 695,
- 0, 0, 687, 0, 0, 0, 1330, 0, 1367, 153,
+ 0, 0, 0, 0, 5574, 0, 0, 0, 595, 0,
+ 1026, 242, 0, 0, 6609, 1389, 0, 0, 6941, 0,
+ 0, 0, 0, 0, 845, 0, 863, 0, 0, 0,
+ 0, -1, 0, 591, 0, 0, 0, 0, 0, 0,
+ 0, 11762, 0, 0, 2225, 2047, 2047, 0, 0, 0,
+ 0, 795, 0, 0, 148, 0, 0, 795, 0, 0,
+ 0, 0, 0, 0, 49, 0, 0, 7899, 7651, 7783,
+ 13950, 90, 0, 129, 795, 156, 0, 0, 800, 800,
+ 0, 0, 783, 0, 0, 0, 418, 0, 1176, 208,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 42, 0, 0,
- 0, 13759, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 48, 0, 0,
+ 0, 14104, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 46, 0, 0, 0, 0, 0, 59, 163,
- 166, 0, 0, 0, 60, 0, 0, 0, 141, 0,
- 12052, 0, 0, 0, 0, 0, 0, 0, 46, 1220,
- 0, 169, 0, 0, 0, 0, 836, 110, 437, 0,
- 0, 1336, 6692, 0, 772, 12178, 0, 0, 46, 0,
- 0, 0, 266, 0, 0, 0, 0, 0, 0, 767,
- 0, 0, 46, 0, 0, 0, 0, 0, 13723, 0,
- 0, 13723, 0, 690, 0, 0, 0, 0, 0, 690,
- 690, 0, 0, 0, 0, 0, 0, 0, 10407, 55,
- 0, 0, 0, 0, 0, 0, 690, 0, 287, 690,
- 0, 698, 0, 0, -177, 0, 0, 0, 1575, 0,
- 168, 0, 0, 46, 0, 0, 0, 0, 0, 0,
+ 0, 0, 59, 0, 0, 0, 0, 0, 90, 220,
+ 260, 0, 0, 0, 68, 0, 0, 0, 170, 0,
+ 12494, 0, 0, 0, 0, 0, 0, 0, 59, 1111,
+ 0, 237, 0, 0, 0, 0, 586, 327, 432, 0,
+ 0, 1305, 7075, 0, 704, 12620, 0, 0, 59, 0,
+ 0, 0, 673, 0, 0, 0, 0, 0, 0, 679,
+ 0, 0, 59, 0, 0, 0, 0, 0, 5085, 0,
+ 0, 5085, 0, 795, 0, 0, 0, 0, 0, 795,
+ 795, 0, 0, 0, 0, 0, 0, 0, 10790, 49,
+ 0, 0, 0, 0, 0, 0, 795, 0, 52, 795,
+ 0, 814, 0, 0, -145, 0, 0, 0, 1262, 0,
+ 289, 0, 0, 59, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 62, 0, 0, 0, 0, 0, 115, 0, 0,
- 0, 0, 0, 80, 0, 136, 0, 52, 0, 136,
- 136, 0, 0, 0, 12310, 12447, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 7617, 1811, 9581, 9703, 9821,
- 9126, 9246, 9918, 10191, 10004, 10094, 10277, 10367, 8546, 8668,
- 7732, 8791, 7865, 7980, 8329, 8442, 9366, 9463, 8909, 9017,
- 990, 12310, 4945, 0, 5068, 4461, 0, 0, 5438, 3475,
- 5561, 15325, 0, 3598, 0, 710, 0, 0, 5684, 5684,
- 0, 10492, 0, 0, 0, 10315, 0, 0, 0, 0,
- 690, 0, 176, 0, 0, 0, 11227, 0, 11394, 0,
- 0, 0, 0, 1220, 6360, 11794, 11920, 0, 0, 710,
- 0, 690, 150, 0, 1220, 0, 0, 0, 562, 280,
- 0, 316, 787, 0, 904, 787, 0, 2489, 2612, 2982,
- 3968, 710, 11429, 787, 0, 0, 0, 0, 0, 0,
- 0, 813, 1432, 1489, 598, 710, 0, 0, 0, 13662,
- 4702, 0, 0, 0, 0, 0, 0, 0, 690, 0,
- 0, 8081, 8197, 10588, 120, 0, 695, 0, 994, 1017,
- 1140, 209, 710, 179, 55, 0, 0, 0, 0, 0,
- 0, 0, 158, 0, 165, 0, 690, -1, 0, 0,
- 0, 0, 0, -115, 82, 55, 0, 0, 0, 0,
- 0, 0, -28, 0, 82, 0, 55, 12447, 0, 82,
- 0, 0, 0, 13844, 0, 0, 0, 0, 0, 13908,
- 12808, 0, 0, 0, 0, 0, 1564, 0, 0, 0,
- 0, 221, 0, 0, 0, 0, 0, 0, 0, 0,
- 690, 0, 0, 0, 0, 0, 0, 0, 0, 82,
- 0, 0, 0, 0, 0, 0, 0, 0, 6011, 0,
- 0, 0, 998, 82, 82, 1583, 0, 0, 0, 0,
- 0, 0, 0, 794, 0, 0, 0, 0, 0, 0,
- 0, 690, 0, 167, 0, 0, 0, 136, 0, 0,
- 0, 0, 136, 136, 0, 136, 0, 136, 56, 44,
- -28, 44, 44, 0, 0, 0, 0, 0, 55, 0,
- 0, 0, 10673, 0, 10734, 0, 0, 10831, 10917, 0,
- 0, 0, 11026, 0, 14099, 235, 11087, 1220, 0, 0,
- 0, 0, 169, 0, 246, 0, 865, 0, 1220, 0,
- 0, 0, 0, 0, 0, 787, 0, 0, 0, 0,
- 0, 183, 0, 187, 0, 0, 0, 0, -83, 0,
+ 0, 120, 0, 0, 0, 0, 0, 95, 0, 0,
+ 0, 0, 0, 119, 0, 47, 0, -29, 0, 47,
+ 47, 0, 0, 0, 12752, 12889, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 8000, 9964, 10086, 10204, 10301,
+ 9509, 9629, 10387, 10660, 10477, 10574, 1800, 10750, 8929, 9051,
+ 8115, 9174, 8248, 8363, 8712, 8825, 9749, 9846, 9292, 9400,
+ 1101, 12752, 5328, 0, 5451, 4844, 0, 0, 5821, 3858,
+ 5944, 15404, 0, 3981, 0, 817, 0, 0, 6067, 6067,
+ 0, 10875, 0, 0, 0, 444, 0, 0, 0, 0,
+ 795, 0, 463, 0, 0, 0, 10698, 0, 11848, 0,
+ 0, 0, 0, 1111, 6743, 12236, 12362, 0, 0, 817,
+ 0, 795, 166, 0, 1111, 0, 0, 0, 682, 564,
+ 0, 588, 904, 0, 735, 904, 0, 2872, 2995, 3365,
+ 4351, 817, 11883, 904, 0, 0, 0, 0, 0, 0,
+ 0, 930, 1326, 1725, 78, 817, 0, 0, 0, 14061,
+ 2047, 0, 0, 0, 0, 0, 0, 0, 795, 0,
+ 0, 8464, 8580, 10971, 18, 0, 800, 0, 626, 778,
+ 782, 1116, 817, 526, 49, 0, 0, 0, 0, 0,
+ 0, 0, 167, 0, 173, 0, 795, -12, 0, 0,
+ 0, 0, 0, -201, 276, 49, 0, 0, 0, 0,
+ 0, 0, -20, 0, 276, 0, 49, 12889, 0, 276,
+ 0, 0, 0, 14165, 0, 0, 0, 0, 0, 14201,
+ 13250, 0, 0, 0, 0, 0, 1261, 0, 0, 0,
+ 0, 548, 0, 0, 0, 0, 0, 0, 0, 0,
+ 795, 0, 0, 0, 0, 0, 0, 0, 0, 276,
+ 0, 0, 0, 0, 0, 0, 0, 0, 6394, 0,
+ 0, 0, 616, 276, 276, 1257, 0, 0, 0, 0,
+ 0, 0, 0, 894, 0, 0, 0, 0, 0, 0,
+ 0, 795, 0, 177, 0, 0, 0, 47, 0, 0,
+ 0, 0, 47, 47, 0, 47, 0, 47, 75, 74,
+ -20, 74, 74, 0, 0, 0, 0, 0, 49, 0,
+ 0, 0, 11056, 0, 11117, 0, 0, 11214, 11300, 0,
+ 0, 0, 11409, 0, 1902, 566, 11470, 1111, 0, 0,
+ 0, 0, 237, 0, 1036, 0, 1044, 0, 1111, 0,
+ 0, 0, 0, 0, 0, 904, 0, 0, 0, 0,
+ 0, 178, 0, 179, 0, 0, 0, 0, 0, 345,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 94, 0, 0, 0, 0, 0, 0, 0,
- 11173, 0, 0, 11270, 14119, 0, 1220, 1080, 0, 0,
- 46, 329, 772, 0, 0, 0, 0, 0, 82, 0,
- 188, 0, 195, 0, 136, 136, 136, 136, 0, 79,
- 44, 0, 44, 44, 44, 44, 0, 0, 0, 0,
- 472, 924, 959, 793, 710, 0, 787, 0, 201, 0,
+ 0, 0, 0, 0, 0, 79, 0, 0, 0, 0,
+ 0, 0, 0, 11556, 0, 0, 11653, 11710, 0, 1111,
+ 1050, 0, 0, 59, 595, 704, 0, 0, 0, 0,
+ 0, 276, 0, 181, 0, 184, 0, 0, 47, 47,
+ 47, 47, 0, 100, 74, 0, 74, 74, 74, 74,
+ 0, 0, 0, 0, 802, 922, 1007, 708, 817, 0,
+ 904, 0, 186, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1003, 0, 0, 202,
- 136, 686, 279, 44, 44, 44, 44, 0, 0, 0,
- 0, 0, 0, 44, 0,
+ 0, 921, 0, 0, 188, 47, 661, 886, 74, 74,
+ 74, 74, 0, 0, 0, 0, 0, 0, 74, 0,
}, yyGindex = {
//yyGindex 156
- 0, 91, 0, -2, 1392, -344, 0, -42, 7, -6,
- -288, 0, 0, 0, 128, 0, 0, 0, 992, 0,
- 0, 0, 660, -166, 0, 0, 0, 0, 0, 0,
- 3, 1058, -345, -43, 39, -383, 0, 32, 977, 1206,
- 24, 17, 16, 258, -359, 0, 149, 0, 93, 0,
- 67, 0, -10, 1061, 174, 0, 0, -618, 0, 0,
- 708, -267, 247, 0, 0, 0, -396, -227, -79, 28,
- 699, -368, 0, 0, 631, 1, 21, 0, 0, 1103,
- 385, -559, 0, -4, -152, 0, -389, 217, -232, -133,
- 0, 988, -310, 1010, 0, -544, 1069, 189, 203, 460,
- 0, -15, -605, 0, -542, 0, 0, -132, -727, 0,
- -347, -688, 416, 0, 535, 119, 0, 0, 640, 0,
- 6, 0, -11, 64, 0, 0, -24, 0, 0, -252,
- 0, 0, -213, 0, -365, 0, 0, 0, 0, 0,
- 0, 12, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 655, 0, 2, 1778, -289, 0, 23, 14, -6,
+ -423, 0, 0, 0, 855, 0, 0, 0, 1105, 0,
+ 0, 0, 706, -214, 0, 0, 0, 0, 0, 0,
+ 11, 1170, -340, -7, 37, -358, 0, 122, 45, 1585,
+ 21, -8, 41, 217, -382, 0, 258, 0, 272, 0,
+ -4, 0, -2, 1174, 141, 0, 0, -647, 0, 0,
+ 895, -164, 361, 0, 0, 0, -403, -230, -79, 16,
+ -35, -408, 0, 0, 1069, 1, -23, 0, 0, 1672,
+ 497, -656, 0, 40, -279, 0, -381, 322, -246, -154,
+ 0, 248, -305, 1120, 0, -445, 1178, 281, 310, 811,
+ 0, 6, -561, 0, -36, 0, 0, -160, -765, 0,
+ -328, -682, 533, 309, -116, -428, 0, -681, 759, 0,
+ 3, 0, 17, -45, 0, 0, -24, 0, 0, -252,
+ 0, 0, -208, 0, -373, 0, 0, 0, 0, 0,
+ 0, 25, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
};
protected static final short[] yyTable = Ruby19YyTables.yyTable();
@@ -763,7 +762,7 @@ public void setWarnings(IRubyWarnings warnings) {
"tSTRING_BEG","tXSTRING_BEG","tREGEXP_BEG","tWORDS_BEG","tQWORDS_BEG",
"tSTRING_DBEG","tSTRING_DVAR","tSTRING_END","tLAMBDA","tLAMBEG",
"tNTH_REF","tBACK_REF","tSTRING_CONTENT","tINTEGER","tFLOAT",
- "tREGEXP_END","tLOWEST","bv_dels",
+ "tREGEXP_END","tLOWEST",
};
/** printable rules for debugging.
@@ -1137,7 +1136,7 @@ public void setWarnings(IRubyWarnings warnings) {
"block_param_def : tOROP",
"block_param_def : tPIPE block_param opt_bv_decl tPIPE",
"opt_bv_decl : opt_nl",
- "opt_bv_decl : opt_nl ';' bv_dels opt_nl",
+ "opt_bv_decl : opt_nl ';' bv_decls opt_nl",
"bv_decls : bvar",
"bv_decls : bv_decls ',' bvar",
"bvar : tIDENTIFIER",
@@ -4285,4 +4284,4 @@ public RubyParserResult parse(ParserConfiguration configuration, LexerSource sou
return support.getResult();
}
}
- // line 8148 "-"
+ // line 8163 "-"
View
2  src/org/jruby/parser/Ruby19Parser.y
@@ -1377,7 +1377,7 @@ block_param_def : tPIPE opt_bv_decl tPIPE {
opt_bv_decl : opt_nl {
$$ = null;
}
- | opt_nl ';' bv_dels opt_nl {
+ | opt_nl ';' bv_decls opt_nl {
$$ = null;
}
View
6,188 src/org/jruby/parser/Ruby19YyTables.java
3,102 additions, 3,086 deletions not shown
Please sign in to comment.
Something went wrong with that request. Please try again.