[e-cvs] cvs commit: e/src/jsrc/org/erights/e/elang/syntax EParser.java e.y
markm@eros.cs.jhu.edu
markm@eros.cs.jhu.edu
Sun, 9 Sep 2001 03:57:02 -0400
markm 01/09/09 03:57:02
Modified: src Makefile
src/bin/resources/org/erights/e/elang/syntax
ParserTables.data
src/csrc/setup eprops-template.txt
src/esrc/org/erights/e/elang/cmd cmdMakerMaker.emaker
src/esrc/scripts setup.e updoc.e
src/jsrc/org/erights/e/elang/evm AssignExpr.java
src/jsrc/org/erights/e/elang/syntax EParser.java e.y
Log:
updoc works with evalServer
Revision Changes Path
1.116 +2 -2 e/src/Makefile
Index: Makefile
===================================================================
RCS file: /cvs/e/src/Makefile,v
retrieving revision 1.115
retrieving revision 1.116
diff -u -r1.115 -r1.116
--- Makefile 2001/09/08 22:59:20 1.115
+++ Makefile 2001/09/09 07:57:02 1.116
@@ -7,8 +7,8 @@
# Prefix tagging this release's attributes
PREFIX=tl-E
-DOTVER=0.8.9zo
-TAGVER=0_8_9zo
+DOTVER=0.8.9zp
+TAGVER=0_8_9zp
RELEASE=working
TOP=..
1.20 +14 -12 e/src/bin/resources/org/erights/e/elang/syntax/ParserTables.data
Index: ParserTables.data
===================================================================
RCS file: /cvs/e/src/bin/resources/org/erights/e/elang/syntax/ParserTables.data,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
Binary files /tmp/cvsxNCIlw and /tmp/cvsI88VbS differ
1.19 +6 -0 e/src/csrc/setup/eprops-template.txt
Index: eprops-template.txt
===================================================================
RCS file: /cvs/e/src/csrc/setup/eprops-template.txt,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- eprops-template.txt 2001/08/26 01:21:30 1.18
+++ eprops-template.txt 2001/09/09 07:57:02 1.19
@@ -410,3 +410,9 @@
# considered valid whitespace.
e.enable.notabs=${{e.enable.notabs}}
+
+
+# Enables syntax such as 'require (cond) thunk{str}' to be accepted
+# and be equivalent of 'require (cond, thunk{str})'
+
+e.enable.lambda-args=${{e.enable.lambda-args}}
1.5 +2 -2 e/src/esrc/org/erights/e/elang/cmd/cmdMakerMaker.emaker
Index: cmdMakerMaker.emaker
===================================================================
RCS file: /cvs/e/src/esrc/org/erights/e/elang/cmd/cmdMakerMaker.emaker,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- cmdMakerMaker.emaker 2001/09/07 05:49:19 1.4
+++ cmdMakerMaker.emaker 2001/09/09 07:57:02 1.5
@@ -33,7 +33,7 @@
# should deal with embedded $-holes as result[i]
def expr := EParser(sourceCode)
if (cmdLoop getExpand()) {
- commentBlock(tw, "expansionx", expr)
+ commentBlock(tw, "expansion", expr)
}
expr eval(pov)
} catch problem {
@@ -45,7 +45,7 @@
takeBuf(tw, "stderr", errBuf)
if (success) {
if (result != null) {
- commentBlock(tw, "valuex") quote(result)
+ commentBlock(tw, "value") quote(result)
tw println()
tw println()
}
1.15 +2 -1 e/src/esrc/scripts/setup.e
Index: setup.e
===================================================================
RCS file: /cvs/e/src/esrc/scripts/setup.e,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- setup.e 2001/08/26 01:21:31 1.14
+++ setup.e 2001/09/09 07:57:02 1.15
@@ -31,7 +31,8 @@
"e.enable.plumbing" => "false",
"e.enable.typedef" => "false",
"e.enable.when-clauses" => "false",
- "e.enable.notabs" => "false"
+ "e.enable.notabs" => "false",
+ "e.enable.lambda-args" => "false"
] diverge()
# 'false' means overwrite rather than complain
1.12 +23 -25 e/src/esrc/scripts/updoc.e
Index: updoc.e
===================================================================
RCS file: /cvs/e/src/esrc/scripts/updoc.e,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- updoc.e 2001/08/24 17:14:02 1.11
+++ updoc.e 2001/09/09 07:57:02 1.12
@@ -131,8 +131,8 @@
# <tt>runTest</tt> evaluates an expression and remembers the
# new answers.
- to newReportVow(scriptEvaluatorQ) :any {
- scriptEvaluatorQ <- evalCmdVow(expr)
+ to newReportVow(scriptEvaluatorRcvr) :any {
+ scriptEvaluatorRcvr <- evalCmdVow(expr)
}
to report(newReport, out) {
@@ -160,20 +160,17 @@
}
}
- # <tt>runTest</tt> runs a list of test cases in sequence,
- # using the same interactive scope.
+ # <tt>runTest</tt> runs a list of test cases in sequence.
# <p>
- # <tt>runTest</tt> makes a new top-level interactive scope for
- # running the test script. The test cases in the script are
- # run in sequence in the same scope, so that each test case
- # sees the scope as affected by previous cases.
+ # The test cases in the script are run in sequence in the same scope,
+ # so that each test case sees the scope as affected by previous cases.
- to runTest(scriptEvaluatorQ, out) {
- def newReportVows := [] diverge()
+ to runTest(scriptEvaluatorRcvr, out) {
+ def newReportVowList := [] diverge()
for testCase in cases {
- newReportVows push(testCase newReportVow(scriptEvaluatorQ))
+ newReportVowList push(testCase newReportVow(scriptEvaluatorRcvr))
}
- newReportVows := newReportVows snapshot()
+ def newReportVows := newReportVowList snapshot()
def doWhen(i) {
if (i < newReportVows size()) {
when (newReportVows[i]) -> done(newReport) {
@@ -367,11 +364,11 @@
# Given the source text string (or twine) of an updoc file, parse, run,
# and report the test outcomes.
-def updocTestSrc(testSrc, scriptEvaluatorQ, out) :boolean {
+def updocTestSrc(testSrc, scriptEvaluatorRcvr, out) :boolean {
try {
def parser := updocParserMaker new(testSrc)
- def script := parser parse()
- script runTest(scriptEvaluatorQ, out)
+ def script := parser readScript()
+ script runTest(scriptEvaluatorRcvr, out)
script size() >= 1
} catch problem {
if (problem leaf() =~ sex :SyntaxException) {
@@ -427,7 +424,7 @@
# Run updoc either on a ".updoc" file, on the text extracted from a
# ".html" file.
-def updocOne(file, path, evalServerQ, out) {
+def updocOne(file, path, evalServerRcvr, out) {
def hash := file getCryptoHash()
if (hashCache has(hash)) {
out lnPrint(`skipping $path`)
@@ -437,8 +434,8 @@
# to pass source info through (preserving twine-ness), then
# switch from getText() to getTwine()
def testSrc := file getText()
- def scriptEvaluatorQ := evalServerQ <- newScriptEvaluator([])
- if (! (updocTestSrc(testSrc, scriptEvaluatorQ, out))) {
+ def scriptEvaluatorRcvr := evalServerRcvr <- newScriptEvaluator([])
+ if (! (updocTestSrc(testSrc, scriptEvaluatorRcvr, out))) {
hashCache put(hash)
}
} else if (endsWithAny(path, [".html", ".htm"])) {
@@ -451,9 +448,9 @@
out indent("# ") print(problem)
null
}
- def scriptEvaluatorQ := evalServerQ <- newScriptEvaluator([])
+ def scriptEvaluatorRcvr := evalServerRcvr <- newScriptEvaluator([])
if (testSrc != null &&
- ! (updocTestSrc(testSrc, scriptEvaluatorQ, out))) {
+ ! (updocTestSrc(testSrc, scriptEvaluatorRcvr, out))) {
hashCache put(hash)
}
@@ -466,12 +463,13 @@
def cmd__uriGetter := <import:org.erights.e.elang.cmd.*>
traceln("cp8")
+introducer onTheAir()
def evalServerMaker :=
<cmd:evalServerMakerAuthor>(unsafe__uriGetter, introducer, println)
traceln("cp9")
def vat := evalServerMaker new([], interp getProps(), "updocer")
traceln("cp10")
-def evalServerQ := vat getEvalServerQ()
+def evalServerRcvr := vat getEvalServerRcvr()
traceln("cp11")
# Run updoc either on a ".updoc" file, on the text extracted from a
@@ -479,20 +477,20 @@
def updoc(filedir, out) {
if (filedir =~ url :URL) {
- updocOne(url, url toExternalForm(), evalServerQ, out)
+ updocOne(url, url toExternalForm(), evalServerRcvr, out)
} else if (filedir isDirectory()) {
throw("XXX not yet implemented")
# for each in filedir { updoc(each, out) }
# hashCache checkpoint()
} else {
- updocOne(filedir, filedir getPath(), evalServerQ, out)
+ updocOne(filedir, filedir getPath(), evalServerRcvr, out)
}
}
def args := interp getArgs()
def names := if (args == []) {
- # ["d:/e/doc/elang/intro/finding-text.html"]
- throw("usage: updoc.e files...")
+ ["d:/e/doc/elang/intro/finding-text.html"]
+ # throw("usage: updoc.e files...")
} else {
args
}
1.27 +6 -1 e/src/jsrc/org/erights/e/elang/evm/AssignExpr.java
Index: AssignExpr.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/evm/AssignExpr.java,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- AssignExpr.java 2001/09/07 05:49:20 1.26
+++ AssignExpr.java 2001/09/09 07:57:02 1.27
@@ -24,6 +24,7 @@
import org.erights.e.elib.ref.Ref;
import org.erights.e.elib.tables.FlexList;
import org.erights.e.elib.tables.FlexMap;
+import org.erights.e.develop.exception.NestedException;
import java.io.IOException;
@@ -80,7 +81,11 @@
*/
/*package*/ Object subEval(Scope[] pov, boolean onlyFlag) {
Object result = myRValue.subEval(pov, false);
- pov[0].put(myNoun.name(), result);
+ try {
+ pov[0].put(myNoun.name(), result);
+ } catch (Exception ex) {
+ throw new NestedException("assigning " + myNoun.name(), ex);
+ }
return result;
}
1.89 +669 -637 e/src/jsrc/org/erights/e/elang/syntax/EParser.java
Index: EParser.java
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/syntax/EParser.java,v
retrieving revision 1.88
retrieving revision 1.89
diff -u -r1.88 -r1.89
--- EParser.java 2001/09/08 22:59:20 1.88
+++ EParser.java 2001/09/09 07:57:02 1.89
@@ -327,37 +327,37 @@
24, 24, 26, 26, 25, 25, 25, 28, 28, 27,
27, 27, 27, 27, 27, 30, 30, 29, 29, 32,
32, 31, 31, 31, 31, 31, 33, 33, 33, 33,
- 33, 33, 36, 36, 36, 36, 35, 35, 35, 35,
+ 33, 33, 33, 33, 33, 36, 36, 36, 36, 36,
+ 36, 35, 35, 35, 35, 34, 34, 34, 34, 34,
34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
- 34, 34, 34, 34, 40, 43, 56, 56, 56, 57,
- 57, 59, 59, 59, 61, 60, 60, 41, 41, 41,
- 42, 42, 62, 62, 63, 63, 64, 65, 65, 67,
- 67, 68, 69, 69, 46, 46, 70, 70, 3, 3,
- 3, 72, 72, 72, 72, 72, 73, 73, 74, 74,
- 75, 75, 76, 76, 77, 77, 78, 78, 78, 71,
- 71, 71, 71, 71, 71, 71, 71, 71, 18, 18,
- 79, 79, 79, 79, 79, 79, 79, 15, 15, 80,
- 80, 47, 47, 82, 82, 83, 83, 83, 83, 83,
- 84, 84, 84, 49, 49, 49, 50, 86, 87, 85,
- 85, 88, 54, 54, 89, 89, 90, 1, 1, 9,
- 9, 91, 66, 39, 39, 37, 37, 81, 81, 44,
- 44, 92, 92, 38, 13, 13, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 45, 45,
- 51, 48, 48, 48, 95, 95, 96, 96, 94, 94,
- 52, 52, 55, 97, 53, 53, 58, 58, 98, 98,
- 98, 98, 100, 100, 100, 100, 99, 99, 99, 102,
- 102, 103, 103, 104, 104, 101, 101, 93, 93, 93,
- 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
- 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
- 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
- 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
- 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
- 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
- 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
- 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
- 93, 93,
+ 34, 34, 34, 34, 55, 55, 55, 55, 55, 55,
+ 40, 43, 52, 52, 52, 53, 53, 60, 60, 60,
+ 62, 61, 61, 41, 41, 41, 42, 42, 63, 63,
+ 64, 64, 65, 66, 66, 68, 68, 69, 70, 70,
+ 46, 46, 71, 71, 3, 3, 3, 73, 73, 73,
+ 73, 73, 74, 74, 75, 75, 76, 76, 77, 77,
+ 78, 78, 79, 79, 79, 72, 72, 72, 72, 72,
+ 72, 72, 72, 72, 18, 18, 80, 80, 80, 80,
+ 80, 80, 80, 15, 15, 81, 81, 56, 56, 83,
+ 83, 84, 84, 84, 84, 84, 85, 85, 85, 58,
+ 58, 58, 59, 87, 88, 86, 86, 89, 50, 50,
+ 90, 90, 91, 1, 1, 9, 9, 92, 67, 39,
+ 39, 37, 37, 82, 82, 44, 44, 93, 93, 38,
+ 13, 13, 17, 17, 17, 17, 17, 17, 17, 17,
+ 17, 17, 17, 17, 45, 45, 47, 57, 57, 57,
+ 96, 96, 97, 97, 95, 95, 48, 48, 51, 98,
+ 49, 49, 54, 54, 99, 99, 99, 99, 101, 101,
+ 101, 101, 100, 100, 100, 103, 103, 104, 104, 105,
+ 105, 102, 102, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
+ 94, 94, 94, 94, 94, 94, 94, 94,
};
final static short yylen[] = { 2,
1, 1, 2, 1, 1, 3, 3, 1, 3, 1,
@@ -368,29 +368,29 @@
3, 3, 1, 1, 1, 3, 3, 1, 1, 1,
3, 3, 3, 3, 3, 1, 1, 1, 3, 1,
1, 1, 2, 2, 2, 2, 1, 1, 4, 4,
- 3, 4, 2, 3, 3, 4, 1, 2, 3, 4,
- 1, 1, 1, 1, 1, 1, 1, 3, 2, 1,
- 3, 3, 1, 3, 3, 5, 3, 4, 2, 3,
- 3, 4, 5, 1, 1, 4, 2, 2, 4, 2,
- 3, 2, 3, 2, 1, 3, 3, 5, 5, 4,
- 4, 0, 1, 1, 0, 5, 4, 0, 1, 3,
- 1, 2, 2, 3, 3, 5, 0, 1, 2, 1,
- 4, 2, 1, 4, 1, 1, 3, 2, 1, 3,
- 4, 1, 3, 5, 3, 5, 1, 2, 1, 2,
- 1, 2, 2, 3, 1, 1, 3, 3, 5, 3,
- 1, 2, 1, 1, 4, 4, 4, 2, 4, 2,
- 1, 1, 2, 4, 4, 1, 2, 2, 5, 1,
- 1, 1, 3, 1, 4, 3, 4, 3, 4, 3,
- 4, 5, 2, 4, 5, 2, 5, 3, 2, 0,
- 2, 3, 7, 5, 1, 3, 3, 0, 1, 1,
- 2, 0, 1, 3, 5, 1, 1, 1, 3, 1,
- 3, 3, 2, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 3, 5,
- 4, 5, 1, 1, 1, 3, 1, 3, 1, 3,
- 1, 1, 2, 3, 0, 2, 5, 3, 1, 2,
- 2, 4, 2, 4, 2, 4, 2, 5, 4, 2,
- 3, 1, 4, 2, 2, 0, 2, 1, 1, 1,
+ 3, 3, 2, 3, 4, 2, 3, 3, 4, 2,
+ 3, 1, 2, 3, 4, 1, 1, 1, 1, 1,
+ 1, 1, 3, 2, 1, 3, 3, 1, 3, 3,
+ 5, 3, 4, 5, 1, 1, 4, 2, 2, 4,
+ 2, 3, 2, 1, 3, 4, 2, 3, 3, 2,
+ 1, 3, 3, 5, 5, 4, 4, 0, 1, 1,
+ 0, 5, 4, 0, 1, 3, 1, 2, 2, 3,
+ 3, 5, 0, 1, 2, 1, 4, 2, 1, 4,
+ 1, 1, 3, 2, 1, 3, 4, 1, 3, 5,
+ 3, 5, 1, 2, 1, 2, 1, 2, 2, 3,
+ 1, 1, 3, 3, 5, 3, 1, 2, 1, 1,
+ 4, 4, 4, 2, 4, 2, 1, 1, 2, 4,
+ 4, 1, 2, 2, 5, 1, 1, 1, 3, 1,
+ 4, 3, 4, 3, 4, 3, 4, 5, 2, 4,
+ 5, 2, 5, 3, 2, 0, 2, 3, 7, 5,
+ 1, 3, 3, 0, 1, 1, 2, 0, 1, 3,
+ 2, 1, 1, 1, 3, 1, 3, 3, 2, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 3, 5, 4, 5, 1, 1,
+ 1, 3, 1, 3, 1, 3, 1, 1, 2, 3,
+ 0, 2, 5, 3, 1, 2, 2, 4, 2, 4,
+ 2, 4, 2, 5, 4, 2, 3, 1, 4, 2,
+ 2, 0, 2, 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,
@@ -398,93 +398,93 @@
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,
};
final static short yydefred[] = { 0,
- 230, 0, 0, 0, 2, 0, 245, 0, 0, 0,
- 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
- 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
- 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
- 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
- 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
- 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
- 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
- 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
- 378, 379, 380, 381, 382, 0, 0, 0, 0, 0,
- 183, 0, 3, 0, 184, 0, 169, 0, 162, 167,
- 246, 91, 92, 93, 94, 95, 97, 0, 0, 0,
+ 236, 0, 0, 0, 2, 0, 251, 0, 0, 0,
+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
+ 324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
+ 334, 335, 336, 337, 338, 339, 340, 341, 342, 343,
+ 344, 345, 346, 347, 348, 349, 350, 351, 352, 353,
+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
+ 374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
+ 384, 385, 386, 387, 388, 0, 0, 0, 0, 0,
+ 189, 0, 3, 0, 190, 0, 175, 0, 168, 173,
+ 252, 96, 97, 98, 99, 100, 102, 0, 0, 0,
0, 4, 0, 0, 0, 0, 0, 0, 0, 0,
0, 5, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 8, 12, 0, 15,
0, 0, 0, 0, 28, 0, 0, 0, 0, 0,
- 60, 0, 0, 87, 0, 78, 96, 0, 100, 103,
- 114, 115, 231, 0, 0, 0, 0, 0, 168, 182,
- 0, 233, 0, 0, 148, 0, 0, 0, 153, 0,
- 0, 0, 0, 0, 0, 171, 170, 0, 0, 0,
- 134, 133, 0, 0, 200, 201, 0, 0, 0, 0,
- 192, 191, 0, 0, 0, 196, 0, 0, 0, 156,
- 0, 0, 0, 244, 0, 83, 0, 109, 232, 0,
- 0, 0, 0, 0, 0, 0, 122, 76, 75, 73,
- 74, 0, 0, 0, 0, 0, 236, 0, 240, 117,
- 118, 0, 0, 120, 0, 0, 0, 124, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 6, 0,
- 0, 0, 0, 247, 248, 249, 250, 251, 0, 252,
- 253, 254, 255, 256, 257, 258, 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, 88, 0,
- 141, 99, 0, 0, 0, 0, 0, 0, 158, 0,
- 0, 0, 149, 0, 0, 152, 0, 0, 0, 10,
- 140, 180, 0, 0, 175, 173, 176, 0, 172, 160,
- 98, 0, 0, 0, 0, 0, 263, 264, 197, 193,
- 0, 0, 0, 110, 0, 104, 0, 0, 0, 85,
- 238, 0, 84, 0, 111, 0, 272, 271, 0, 0,
- 232, 0, 105, 121, 0, 0, 0, 0, 125, 243,
- 0, 101, 102, 0, 0, 0, 259, 0, 0, 150,
- 0, 0, 0, 216, 123, 0, 0, 0, 0, 0,
- 0, 107, 0, 9, 0, 16, 0, 21, 23, 0,
- 18, 22, 19, 25, 29, 31, 32, 40, 39, 36,
- 37, 38, 33, 34, 35, 43, 44, 45, 42, 46,
- 0, 0, 54, 0, 51, 0, 59, 0, 56, 57,
- 67, 66, 63, 65, 61, 62, 64, 71, 70, 69,
- 0, 81, 0, 0, 0, 89, 143, 0, 142, 187,
- 126, 161, 189, 157, 0, 0, 0, 0, 185, 186,
- 7, 0, 0, 0, 0, 0, 174, 0, 130, 0,
- 219, 0, 232, 131, 0, 0, 0, 204, 0, 0,
- 0, 86, 0, 232, 0, 0, 112, 273, 222, 0,
- 0, 225, 0, 0, 0, 0, 0, 0, 0, 0,
- 287, 278, 242, 0, 241, 239, 116, 0, 119, 0,
- 0, 221, 0, 0, 24, 108, 0, 198, 0, 80,
- 79, 82, 90, 144, 164, 151, 166, 0, 154, 11,
- 147, 145, 147, 178, 177, 0, 0, 218, 265, 0,
- 194, 195, 0, 0, 106, 129, 128, 0, 269, 0,
- 0, 276, 0, 0, 0, 113, 0, 0, 0, 0,
- 279, 0, 0, 0, 0, 290, 0, 292, 0, 0,
- 297, 260, 214, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 217, 0, 235,
- 261, 0, 274, 227, 224, 226, 0, 280, 283, 285,
- 277, 281, 0, 295, 294, 0, 291, 289, 0, 215,
- 0, 146, 179, 137, 0, 0, 0, 0, 0, 0,
- 0, 266, 0, 262, 205, 270, 0, 0, 0, 0,
- 0, 288, 199, 136, 0, 210, 0, 0, 0, 213,
- 206, 208, 268, 223, 282, 284, 286, 293, 209, 0,
- 207, 0, 211, 0, 212,
+ 60, 0, 0, 92, 0, 78, 101, 0, 105, 108,
+ 115, 116, 124, 237, 0, 0, 0, 0, 0, 174,
+ 188, 0, 239, 0, 0, 154, 0, 0, 0, 159,
+ 0, 0, 0, 0, 0, 0, 177, 176, 0, 0,
+ 0, 140, 139, 0, 0, 206, 207, 0, 0, 0,
+ 0, 198, 197, 0, 0, 0, 202, 0, 0, 0,
+ 162, 0, 0, 0, 250, 0, 0, 0, 127, 238,
+ 0, 0, 0, 0, 0, 0, 123, 0, 76, 75,
+ 73, 74, 0, 0, 0, 0, 0, 242, 0, 246,
+ 118, 119, 0, 0, 121, 0, 0, 0, 130, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 6,
+ 0, 0, 0, 0, 253, 254, 255, 256, 257, 0,
+ 258, 259, 260, 261, 262, 263, 264, 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, 147, 104, 0, 0, 0, 0, 0, 0, 164,
+ 0, 0, 0, 155, 0, 0, 158, 0, 0, 0,
+ 10, 146, 186, 0, 0, 181, 179, 182, 0, 178,
+ 166, 103, 0, 0, 0, 0, 0, 269, 270, 203,
+ 199, 0, 0, 0, 128, 0, 109, 0, 0, 0,
+ 0, 244, 0, 0, 241, 0, 112, 0, 278, 277,
+ 0, 238, 0, 0, 110, 122, 0, 0, 0, 0,
+ 131, 249, 0, 106, 107, 0, 0, 0, 265, 0,
+ 0, 156, 0, 0, 0, 222, 129, 0, 0, 0,
+ 0, 0, 0, 125, 0, 9, 0, 16, 0, 21,
+ 23, 0, 18, 22, 19, 25, 29, 31, 32, 40,
+ 39, 36, 37, 38, 33, 34, 35, 43, 44, 45,
+ 42, 46, 0, 0, 54, 0, 51, 0, 59, 0,
+ 56, 57, 67, 66, 63, 65, 61, 62, 64, 71,
+ 70, 69, 0, 0, 0, 0, 0, 0, 149, 0,
+ 148, 193, 132, 167, 195, 163, 0, 0, 0, 0,
+ 191, 192, 7, 0, 0, 0, 0, 0, 180, 0,
+ 136, 0, 225, 0, 238, 137, 0, 0, 0, 210,
+ 0, 0, 0, 0, 240, 238, 0, 0, 113, 279,
+ 228, 0, 0, 0, 0, 231, 0, 0, 0, 0,
+ 0, 0, 293, 284, 248, 0, 247, 245, 117, 0,
+ 120, 0, 0, 227, 0, 0, 24, 126, 0, 204,
+ 0, 0, 79, 0, 0, 150, 170, 157, 172, 0,
+ 160, 11, 153, 151, 153, 184, 183, 0, 0, 224,
+ 271, 0, 200, 201, 0, 0, 111, 135, 134, 275,
+ 0, 0, 282, 114, 0, 0, 0, 0, 0, 0,
+ 0, 285, 0, 0, 0, 0, 296, 0, 298, 0,
+ 0, 303, 266, 220, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 223, 0,
+ 267, 0, 280, 233, 230, 232, 0, 286, 289, 291,
+ 283, 287, 0, 301, 300, 0, 297, 295, 0, 221,
+ 0, 152, 185, 143, 0, 0, 0, 0, 0, 0,
+ 0, 272, 0, 268, 211, 276, 0, 0, 0, 0,
+ 0, 294, 205, 142, 0, 216, 0, 0, 0, 219,
+ 212, 214, 274, 229, 288, 290, 292, 299, 215, 0,
+ 213, 0, 217, 0, 218,
};
final static short yydgoto[] = { 3,
- 192, 5, 400, 178, 146, 371, 339, 147, 6, 340,
- 149, 150, 151, 422, 451, 152, 287, 105, 154, 155,
- 156, 430, 157, 158, 159, 445, 160, 449, 161, 453,
- 162, 460, 163, 164, 165, 166, 245, 387, 226, 167,
- 168, 322, 169, 246, 170, 219, 268, 356, 259, 214,
- 375, 376, 507, 232, 377, 171, 172, 237, 203, 489,
- 490, 323, 345, 484, 184, 185, 186, 187, 188, 189,
- 107, 108, 109, 110, 197, 198, 346, 347, 215, 216,
- 248, 499, 605, 639, 660, 357, 358, 233, 511, 512,
- 378, 249, 111, 570, 560, 607, 508, 582, 388, 583,
- 521, 518, 587, 588,
+ 193, 5, 402, 179, 146, 372, 340, 147, 6, 341,
+ 149, 150, 151, 424, 453, 152, 288, 105, 154, 155,
+ 156, 432, 157, 158, 159, 447, 160, 451, 161, 455,
+ 162, 462, 163, 164, 165, 166, 246, 389, 227, 167,
+ 168, 323, 169, 247, 170, 220, 377, 378, 509, 232,
+ 379, 171, 172, 237, 173, 269, 357, 260, 215, 204,
+ 491, 492, 324, 346, 486, 185, 186, 187, 188, 189,
+ 190, 107, 108, 109, 110, 198, 199, 347, 348, 216,
+ 217, 249, 501, 606, 639, 660, 358, 359, 234, 515,
+ 516, 380, 250, 111, 571, 562, 608, 510, 583, 390,
+ 584, 523, 520, 588, 589,
};
-final static short yysindex[] = { -301,
- 0, 8755, 0,10628, 0, -280, 0,14625, 64,14625,
+final static short yysindex[] = { -303,
+ 0,12652, 0,14525, 0, -318, 0,18522, 76,18522,
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,
@@ -493,68 +493,68 @@
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,11568,14625, 5745, 29, 54,
- 0, -187, 0, 140, 0, 19, 0, 145, 0, 0,
- 0, 0, 0, 0, 0, 0, 0,11098, 9099, 9099,
-12032, 0, 8755, 5864, 64, 7371, 64, 89, 89,11912,
- 64, 0, 64,12032,14625,11568,11568,11568, -295, 30,
- -187, 4,13292, -187, 8174, -187, 0, 0, 178, 0,
- 0, 331, -136, -125, 0, 51, -3, 16, 138, -20,
- 0, -130, 7705, 0, 227, 0, 0, 97, 0, 0,
- 0, 0, 0, 212, -187, -134, 222,12032, 0, 0,
-12376, 0, -110, 203, 0, -35, 217, -33, 0, 56,
- 70,10628, 282,11098, 66, 0, 0, 118,11098, 103,
- 0, 0, 89, -50, 0, 0,14625,14625, 209, 211,
- 0, 0, 303, 89, -69, 0, 89, -110, 90, 0,
- 89,13528, -187, 0, 227, 0, 228, 0, 0, -187,
- 338, 89, -58, 89, 228,13410, 0, 0, 0, 0,
- 0,14625,10628, -19, 302, 50, 0, 354, 0, 0,
- 0, 144,10505, 0, 160, 8636, 53, 0, 89, 374,
-14625,14625, 299, 310, 0, 61, 140,12494, 0, 7829,
-10628,11098,10628, 0, 0, 0, 0, 0,10628, 0,
- 0, 0, 0, 0, 0, 0,10975,10628,11098,11098,
-11098,11445, 8755, 8755,11445,11445,11445,11098,11098,11098,
-11098,11098,11098,11098,11445,11098,11445,11445,11445,11445,
-11445,11445,11445,11445,13528, -187,14625, 58, 0, 414,
- 0, 0, 126,11098, 425, 8755,11098, 140, 0, 8755,
- 433, -187, 0, 353, -187, 0, 356, 357, -187, 0,
- 0, 0, 363, 364, 0, 0, 0, 66, 0, 0,
- 0, 223, 89, 8755, -187, 223, 0, 0, 0, 0,
- 237, 238, 8636, 0,14625, 0,10628, 221, 227, 0,
- 0, 438, 0, -187, 0, -104, 0, 0, 46, -187,
- 0,12032, 0, 0, -187, -187, 83, 120, 0, 0,
- -187, 0, 0, -295, -187, 379, 0, -187, 380, 0,
- 465, 8636,11098, 0, 0, 0, 212, 222, 252, 253,
-10628, 0, 89, 0, 8174, 0, -125, 0, 0, -36,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- -190, -190, 0, 138, 0, 138, 0, -20, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 227, 0, 424, 227, 227, 0, 0, 414, 0, 0,
- 0, 0, 0, 0, 9217, 8755, 9217, 5864, 0, 0,
- 0, 7829, -187,14625, 8755,13932, 0, 9099, 0, 250,
- 0, 89, 0, 0, 394, 399, 488, 0, 495, 89,
- -59, 0, 247, 0, 8755, 89, 0, 0, 0, 129,
- 72, 0, 269, 265, 504, -116,14221, 509, -187,14625,
- 0, 0, 0, -19, 0, 0, 0, 426, 0, 498,
- 512, 0, 441, 442, 0, 0, 140, 0, 110, 0,
- 0, 0, 0, 0, 0, 0, 0, -110, 0, 0,
- 0, 0, 0, 0, 0, -50, 9099, 0, 0, 28,
- 0, 0, 498, -187, 0, 0, 0, 89, 0, -62,
- 89, 0, 8755, 498, -187, 0, 8755, -187,13646,13646,
- 0, 443, -187, 500, 500, 0, -14, 0, 500, 528,
- 0, 0, 0, 498, 0, 0, -187, 445, 448, 223,
- 89, 64,13764,13764, -187, -150, 450, 0,14625, 0,
- 0, -187, 0, 0, 0, 0, 125, 0, 0, 0,
- 0, 0, -195, 0, 0, -187, 0, 0, 500, 0,
- 151, 0, 0, 0, 223, -91, 8636, -24, 89, 104,
- 89, 0, -187, 0, 0, 0, 498, -187,13646,13646,
-14221, 0, 0, 0, 64, 0, 535,10628, 8636, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 498,
- 0, 536, 0, 498, 0,
+ 0, 0, 0, 0, 0,15465,18522, 9642, -45, 4,
+ 0, -283, 0, 80, 0, -81, 0, 90, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,14995,12996,12996,
+15929, 0,12652, 9761, 76,11268, 76, 37, 37,15809,
+ 76, 0, 76,15929,18522,15465,15465,15465, -276, 57,
+ -283, -48,17189, -283,12071, -283, 0, 0, 109, 0,
+ 0, 345, -221, -178, 0, 49, 72, 78, 265, -23,
+ 0, -181,11602, 0, 189, 0, 0, -72, 0, 0,
+ 0, 0, 0, 0, 175, -283, -153, 206,15929, 0,
+ 0,16273, 0, -141, 182, 0, -1, 188, 22, 0,
+ 30, 44,14525, 275,14995, 122, 0, 0, 166,14995,
+ 144, 0, 0, 37, -34, 0, 0,18522,18522, 200,
+ 213, 0, 0, 288, 37, -83, 0, 37, -141, 59,
+ 0, 37,17425, -283, 0, 189, -53, 220, 0, 0,
+ -283, 37, 310, -52, 37, 220, 0,17307, 0, 0,
+ 0, 0,18522,14525, -57, 268, 38, 0, 325, 0,
+ 0, 0, 130,14402, 0, 134,12533, 159, 0, 37,
+ 352,18522,18522, 277, 281, 0, 15, 80,16391, 0,
+11726,14525,14995,14525, 0, 0, 0, 0, 0,14525,
+ 0, 0, 0, 0, 0, 0, 0,14872,14525,14995,
+14995,14995,15342,12652,12652,15342,15342,15342,14995,14995,
+14995,14995,14995,14995,14995,15342,14995,15342,15342,15342,
+15342,15342,15342,15342,15342,17425, -283,18522, 116, -53,
+ 370, 0, 0, 186,14995, 379,12652,14995, 80, 0,
+12652, 380, -283, 0, 320, -283, 0, 327, 331, -283,
+ 0, 0, 0, 338, 341, 0, 0, 0, 122, 0,
+ 0, 0, 207, 37,12652, -283, 207, 0, 0, 0,
+ 0, 227, 238,12533, 0,18522, 0,14525, 223, 189,
+ -53, 0, 479, -53, 0, -283, 0, -56, 0, 0,
+ 61, 0, -283,15929, 0, 0, -283, -283, 197, 146,
+ 0, 0, -283, 0, 0, -276, -283, 404, 0, -283,
+ 405, 0, 490,12533,14995, 0, 0, 0, 175, 206,
+ 279, 280,14525, 0, 37, 0,12071, 0, -178, 0,
+ 0, -32, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 82, 82, 0, 265, 0, 265, 0, -23,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 189, -53, 441, 189, 189, -53, 0, 370,
+ 0, 0, 0, 0, 0, 0,13114,12652,13114, 9761,
+ 0, 0, 0,11726, -283,18522,12652,17829, 0,12996,
+ 0, 287, 0, 37, 0, 0, 426, 432, 521, 0,
+ 519, 37, -73, -53, 0, 0,12652, 37, 0, 0,
+ 0, 292, 295, 155, 212, 0, 530, -26,18118, 533,
+ -283,18522, 0, 0, 0, -57, 0, 0, 0, 450,
+ 0, 518, 536, 0, 453, 454, 0, 0, 80, 0,
+ 229, -53, 0, -53, -53, 0, 0, 0, 0, -141,
+ 0, 0, 0, 0, 0, 0, 0, -34,12996, 0,
+ 0, 127, 0, 0, 518, -283, 0, 0, 0, 0,
+ -55, 37, 0, 0,12652, 518, -283,12652, -283,17543,
+17543, 0, 456, -283, 524, 524, 0, 23, 0, 524,
+ 545, 0, 0, 0, 518, 0, 0, -283, 462, 466,
+ 207, 37, 76,17661,17661, -283, -174, 467, 0,18522,
+ 0, -283, 0, 0, 0, 0, 255, 0, 0, 0,
+ 0, 0, -196, 0, 0, -283, 0, 0, 524, 0,
+ 283, 0, 0, 0, 207, -105,12533, -33, 37, 205,
+ 37, 0, -283, 0, 0, 0, 518, -283,17543,17543,
+18118, 0, 0, 0, 76, 0, 552,14525,12533, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 518,
+ 0, 554, 0, 518, 0,
};
-final static short yyrindex[] = { 5283,
- 0, 174, 0, 75, 0, 4229, 0, 0, 0, 0,
+final static short yyrindex[] = { 9180,
+ 0, 224, 0, 26, 0, 8154, 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,
@@ -563,80 +563,80 @@
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, 174, 0, -41, 0, 0,
- 0,10158, 0, 4609, 0, 0, 0, 4852, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 174, -17, -47,
- 0, 0, 174, 174, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 174, 174, 174, 9565, 0,
- 9688, 0, 0,10158, 174, 578, 0, 0, 14, 0,
- 783, 467, 0, 4906, 0, 3989, 4067, 3600, 3148, 2974,
- 0, 2938, 2902, 0, 2487, 0, 0, 0, 0, 0,
- 0, 0, 0, 4642,10158, 0, 4677, 0, 0, 0,
- 0, 0, -25, 0, 0, 43, 0, 487, 0, 0,
- 0, 174, 0, 174, 0, 0, 0, 0, 174, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,12834, 0, 0, 300, 0, 0,
- 0, 0,10035, 0, 0, 0, 0, 0, 0,10158,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, -21, 57, 0, 0, 0, 45, 0, 0,
- 0, 0, 174, 0, 0, 26, 459, 0, 0, 0,
- 0, 0, 0, 0, 6326, 0, 661, 0, 0, 95,
- 12, 174, 174, 0, 0, 0, 0, 0, 174, 0,
- 0, 0, 0, 0, 0, 0, 174, 174, 174, 174,
- 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
- 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
- 174, 174, 174, 174, 0, 9565, 0, 0, 0, 0,
- 0, 0, 0, 174, 0, 174, 174, -31, 0, 174,
- 4712, 8292, 0, 4815, 5401, 0, 0, 0, -1, 0,
- 0, 0,14743,14389, 0, 0, 0, 0, 0, 0,
- 0, 315, 0, 174, -56, 315, 0, 0, 0, 0,
- 0, 0, 26, 0, 0, 0, 174, 1766, 0, 0,
- 0, 0, 0, -48, 0, 1919, 0, 0, 0,10158,
- 0, 0, 0, 0, -89,14103, -83, 0, 0, 0,
-10158, 0, 0,10158,10158, 0, 0, 460, 0, 0,
- 0, 26, 174, 0, 0, 1198, 6666, 6788, 0, 0,
- 174, 0, 0, 0, 174, 0, 5106, 0, 0,10158,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 3735, 3771, 0, 3525, 0, 3564, 0, 3109, 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, 174, 174, 174, 174, 0, 0,
- 0, -15,10158, 0, 174, 0, 0, -47, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,12952, 0,
- 0, 0, 2334, 0, 174, 0, 0, 0, 0, 0,
- 0, 0, 0, 1351, 0, 461, 546, 0,14103, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 459,
- 0, 0, 0, 0, 0, 0, 6204, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, -17, 0, 0, -71,
- 0, 0, 459,14861, 0, 0, 0, 0, 0, 0,
- 0, 0, 174, 459,10158, 0, 174, 460, 0, 0,
- 0, 0, 460, -23, -23, 0, 548, 0, -83, 0,
- 0, 0, 0, 459, 7128, 7250,10158, 0, 0, 315,
- 0, 0, 0, 0, -56, 468, 0, 0, 0, 0,
- 0, -42, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 470, 0, 0,14507, 0, 0, -83, 0,
- 0, 0, 0, 0, 315, 0, 26, 459, 0, 459,
- 0, 0, 460, 0, 0, 0, 459, 460, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 174, 26, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 459,
- 0, 0, 0, 459, 0,
+ 0, 0, 0, 0, 0, 224, 0, -28, 0, 0,
+ 0,14055, 0, 431, 0, 0, 0, 8687, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 224, -92, -67,
+ 0, 0, 224, 224, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 224, 224, 224,13462, 0,
+13585, 0, 0,14055, 224, 598, 0, 0, 5, 0,
+ 732, 7278, 0, 8770, 0, 8723, 7992, 7525, 7073, 6899,
+ 0, 6863, 6827, 0, 3004, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 8259,14055, 0, 8549, 0, 0,
+ 0, 0, 0, -12, 0, 0, 28, 0, 510, 0,
+ 0, 0, 224, 0, 224, 0, 0, 0, 0, 224,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,16731, 0, 0, 324, 0,
+ 0, 0, 0,13932, 0, 3419, 3572, 0, 0, 0,
+14055, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, -13, 40, 0, 0, 0, 32, 0,
+ 0, 0, 0, 224, 0, 0, 20, 485, 0, 0,
+ 0, 0, 0, 0, 0,10223, 0, 610, 0, 0,
+ 34, 16, 224, 224, 0, 0, 0, 0, 0, 224,
+ 0, 0, 0, 0, 0, 0, 0, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 0,13462, 0, 3987, 1715,
+ 0, 0, 0, 0, 224, 0, 224, 224, -29, 0,
+ 224, 8584,12189, 0, 8632, 9298, 0, 0, 0, 10,
+ 0, 0, 0,18640,18286, 0, 0, 0, 0, 0,
+ 0, 0, 346, 0, 224, 214, 346, 0, 0, 0,
+ 0, 0, 0, 20, 0, 0, 0, 224, 1868, 4140,
+ 4555, 0, 0, 4708, 0, -54, 0, 2283, 0, 0,
+ 0, 0,14055, 0, 0, 0, -10,18000, -108, 0,
+ 0, 0,14055, 0, 0,14055,14055, 0, 0, 491,
+ 0, 0, 0, 20, 224, 0, 0, 1147,10563,10685,
+ 0, 0, 224, 0, 0, 0, 224, 0, 9016, 0,
+ 0,14055, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 7660, 7696, 0, 7450, 0, 7489, 0, 7034,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 5123, 5276, 0, 5691, 0, 2436, 0, 0,
+ 0, 0, 0, 0, 0, 0, 224, 224, 224, 224,
+ 0, 0, 0, 14,14055, 0, 224, 0, 0, -67,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+16849, 0, 0, 5844, 0, 0, 224, 0, 0, 0,
+ 0, 0, 1300, 0, 0, 0, 0, 493, 574, 0,
+18000, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 485, 0, 0, 0, 0, 0, 0,10101, 0,
+ 0, 6259, 0, 6412, 2851, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, -92, 0,
+ 0, -51, 0, 0, 485,18758, 0, 0, 0, 0,
+ 0, 0, 0, 0, 224, 485,14055, 224, 491, 0,
+ 0, 0, 0, 491, 3, 3, 0, 576, 0, -108,
+ 0, 0, 0, 0, 485,11025,11147,14055, 0, 0,
+ 346, 0, 0, 0, 0, 214, 494, 0, 0, 0,
+ 0, -14, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 495, 0, 0,18404, 0, 0, -108, 0,
+ 0, 0, 0, 0, 346, 0, 20, 485, 0, 485,
+ 0, 0, 491, 0, 0, 0, 485, 491, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 224, 20, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 485,
+ 0, 0, 0, 485, 0,
};
final static short yygindex[] = { 0,
- 1, 0, 205, -2, 0, -79, 343, 337, -140, -4,
- 0, -238, 37, 0, 241, 0, 0, 21, 329, 319,
- 308, 158, 161, 143, -67, 0, -45, 294, 162, 179,
- 295, 0, 0, 332, 0, 0, -152, -119, -34, -232,
- 86, 0, -5, 0, 313, 0, -60, -230, 344, 0,
- 376, 234, 105, 0, 240, 117, 0, 0, -112, -328,
- 0, 0, -239, -298, -208, -102, 47, 0, 0, -109,
- 444, -223, 0, 0, 0, 0, 274, 0, 0, 0,
- -227, 0, 0, 22, -226, -488, 17, 0, 0, 55,
- -198, 235, 0, 68, 0, 0, 0, 0, -471, 0,
- -171, 112, 0, -18,
+ 1, 0, 25, 41, 0, -91, 367, 351, -138, -4,
+ 0, -251, 31, 0, 492, 0, 0, 110, 355, 342,
+ 333, 195, 138, 209, -88, 0, 193, 330, 231, 235,
+ 318, 0, 0, 208, 0, 0, -148, -123, 253, -155,
+ 81, 0, -7, 0, -37, 0, 398, 260, 132, 0,
+ 261, 143, 0, 0, 133, -62, -247, 378, 0, -116,
+ -344, 0, 0, -258, -309, -245, -87, 74, 0, 0,
+ -114, 471, -144, 0, 0, 0, 0, 306, 0, 0,
+ 0, -225, 0, 0, 52, -223, -485, 55, 0, 0,
+ 86, 21, 269, 0, 102, 0, 0, 0, 0, -486,
+ 0, -343, 145, 0, 19,
};
-final static int YYTABLESIZE=15240;
+final static int YYTABLESIZE=19137;
//These two tables are not statically initialized, but rather
//initialized on first use, so that a failure to initialize them
@@ -658,7 +658,7 @@
yytable = (short[])obInp.readObject();
yycheck = (short[])obInp.readObject();
long hash = EYaccFixer.checkhash(yytable, yycheck);
- if (hash != 8994340673236973412L) {
+ if (hash != 3656887456131444753L) {
throw new RuntimeException(rName + " bad checkhash: " +
hash);
}
@@ -791,11 +791,16 @@
"postfix : postfix '[' argList ']'",
"postfix : postfix Send verb parenArgs",
"postfix : postfix Send parenArgs",
+"postfix : postfix Send verb",
+"postfix : postfix verb",
+"postfix : postfix '.' ident",
"postfix : postfix '.' ident parenArgs",
"metaExpr : META parenArgs",
"metaExpr : META verb parenArgs",
"metaExpr : META Send parenArgs",
"metaExpr : META Send verb parenArgs",
+"metaExpr : META verb",
+"metaExpr : META Send verb",
"call : prim",
"call : call parenArgs",
"call : postfix verb parenArgs",
@@ -816,10 +821,6 @@
"prim : ESCAPE pattern body",
"prim : WHILE parenExpr body",
"prim : FOR iterPattern IN assign body",
-"prim : define audits vTable",
-"prim : define audits funcHead body",
-"prim : THUNK body",
-"prim : CLASS classHead body",
"prim : SWITCH parenExpr caseList",
"prim : TRY body catchList finallyClause",
"prim : WHEN whenHead body catches finallyClause",
@@ -832,8 +833,13 @@
"prim : '@' LiteralInteger",
"prim : SELECT parenExpr caseList",
"prim : TYPEDEF oType",
-"prim : '_' funcHead body",
-"prim : '_' body",
+"prim : object",
+"object : define audits vTable",
+"object : define audits funcHead body",
+"object : THUNK body",
+"object : CLASS classHead body",
+"object : '_' funcHead body",
+"object : '_' body",
"noun : ident",
"parenExpr : '(' eExpr ')'",
"ifExpr : IF parenExpr body",
@@ -944,7 +950,7 @@
"emptyList :",
"emptyBr : br",
"parenArgs : '(' argList ')'",
-"parenArgs : '(' argList ')' THUNK body",
+"parenArgs : parenArgs object",
"argList : emptyBr",
"argList : args",
"args : eExpr",
@@ -1094,7 +1100,7 @@
"reserved : WSTRING",
};
-//#line 1098 "e.y"
+//#line 1102 "e.y"
/**
*
@@ -1611,7 +1617,7 @@
static public boolean isContinuer(int tokenType) {
return TheContinuers[tokenType];
}
-//#line 4584 "EParser.java"
+//#line 5370 "EParser.java"
//###############################################################
// method: yylexdebug : check lexer state
//###############################################################
@@ -1984,744 +1990,770 @@
{ yyval = send(val_peek(2), "run", val_peek(0)); }
break;
case 82:
-//#line 400 "e.y"
-{ pocket("dot-props");
- yyval = property(val_peek(3), val_peek(1), val_peek(0)); }
+//#line 392 "e.y"
+{ pocket("no-paren-call");
+ yyval = send(val_peek(2), val_peek(0), list()); }
break;
case 83:
-//#line 408 "e.y"
-{ yyval = doMeta("run", val_peek(0)); }
+//#line 394 "e.y"
+{ pocket("no-paren-call");
+ yyval = call(val_peek(1), val_peek(0), list()); }
break;
case 84:
-//#line 409 "e.y"
-{ yyval = doMeta(val_peek(1), val_peek(0)); }
+//#line 396 "e.y"
+{ pocket("dot-props");
+ yyval = property(val_peek(2), val_peek(0), list()); }
break;
case 85:
-//#line 410 "e.y"
-{ yyval = doMetaSend("run", val_peek(0)); }
+//#line 398 "e.y"
+{ pocket("dot-props");
+ yyval = property(val_peek(3), val_peek(1), val_peek(0)); }
break;
case 86:
-//#line 411 "e.y"
-{ yyval = doMetaSend(val_peek(1), val_peek(0)); }
+//#line 406 "e.y"
+{ yyval = doMeta("run", val_peek(0)); }
break;
+case 87:
+//#line 407 "e.y"
+{ yyval = doMeta(val_peek(1), val_peek(0)); }
+break;
case 88:
-//#line 431 "e.y"
-{ yyval = call(val_peek(1), "run", val_peek(0)); }
+//#line 408 "e.y"
+{ yyval = doMetaSend("run", val_peek(0)); }
break;
case 89:
-//#line 432 "e.y"
-{ yyval = call(val_peek(2), val_peek(1), val_peek(0)); }
+//#line 409 "e.y"
+{ yyval = doMetaSend(val_peek(1), val_peek(0)); }
break;
case 90:
-//#line 433 "e.y"
-{ reserved("verb="); }
+//#line 411 "e.y"
+{ pocket("no-paren-call");
+ yyval = doMeta(val_peek(0), list()); }
break;
case 91:
-//#line 441 "e.y"
-{ yyval = literal(val_peek(0)); }
-break;
-case 92:
-//#line 442 "e.y"
-{ yyval = literal(val_peek(0)); }
+//#line 413 "e.y"
+{ pocket("no-paren-call");
+ yyval = doMetaSend(val_peek(0), list()); }
break;
case 93:
-//#line 443 "e.y"
-{ yyval = literal(val_peek(0)); }
+//#line 427 "e.y"
+{ yyval = call(val_peek(1), "run", val_peek(0)); }
break;
case 94:
-//#line 444 "e.y"
-{ yyval = literal(val_peek(0)); }
+//#line 428 "e.y"
+{ yyval = call(val_peek(2), val_peek(1), val_peek(0)); }
break;
case 95:
-//#line 445 "e.y"
+//#line 429 "e.y"
+{ reserved("verb="); }
+break;
+case 96:
+//#line 437 "e.y"
{ yyval = literal(val_peek(0)); }
break;
case 97:
-//#line 449 "e.y"
-{ yyval = uriExpr(val_peek(0)); }
+//#line 438 "e.y"
+{ yyval = literal(val_peek(0)); }
break;
case 98:
-//#line 450 "e.y"
-{ yyval = uriExpr(val_peek(2),val_peek(1)); }
+//#line 439 "e.y"
+{ yyval = literal(val_peek(0)); }
break;
case 99:
-//#line 452 "e.y"
-{ yyval = quasiExpr(val_peek(1),val_peek(0)); }
+//#line 440 "e.y"
+{ yyval = literal(val_peek(0)); }
break;
-case 101:
-//#line 455 "e.y"
-{ yyval = tuple(val_peek(1)); }
+case 100:
+//#line 441 "e.y"
+{ yyval = literal(val_peek(0)); }
break;
case 102:
-//#line 456 "e.y"
-{ yyval = map(val_peek(1)); }
+//#line 445 "e.y"
+{ yyval = uriExpr(val_peek(0)); }
break;
case 103:
-//#line 458 "e.y"
-{ yyval = hide(val_peek(0)); }
+//#line 446 "e.y"
+{ yyval = uriExpr(val_peek(2),val_peek(1)); }
break;
case 104:
-//#line 460 "e.y"
-{ yyval = escape(val_peek(1),val_peek(0)); }
-break;
-case 105:
-//#line 462 "e.y"
-{ yyval = whilex(val_peek(1),val_peek(0)); }
+//#line 448 "e.y"
+{ yyval = quasiExpr(val_peek(1),val_peek(0)); }
break;
case 106:
-//#line 464 "e.y"
-{ yyval = forx(val_peek(3),val_peek(1),val_peek(0)); }
+//#line 451 "e.y"
+{ yyval = tuple(val_peek(1)); }
break;
case 107:
-//#line 466 "e.y"
-{ yyval = object(val_peek(1), val_peek(0)); }
+//#line 452 "e.y"
+{ yyval = map(val_peek(1)); }
break;
case 108:
-//#line 467 "e.y"
-{ yyval = methObject(val_peek(2),val_peek(1),val_peek(0)); }
+//#line 454 "e.y"
+{ yyval = hide(val_peek(0)); }
break;
case 109:
-//#line 468 "e.y"
-{ yyval = thunk(val_peek(0)); }
+//#line 456 "e.y"
+{ yyval = escape(val_peek(1),val_peek(0)); }
break;
case 110:
-//#line 470 "e.y"
-{ yyval = classExpr(val_peek(1),val_peek(0)); }
+//#line 458 "e.y"
+{ yyval = whilex(val_peek(1),val_peek(0)); }
break;
case 111:
-//#line 472 "e.y"
-{ yyval = switchx(val_peek(1),val_peek(0)); }
+//#line 460 "e.y"
+{ yyval = forx(val_peek(3),val_peek(1),val_peek(0)); }
break;
case 112:
-//#line 474 "e.y"
-{ yyval = tryx(val_peek(2),val_peek(1),val_peek(0)); }
+//#line 462 "e.y"
+{ yyval = switchx(val_peek(1),val_peek(0)); }
break;
case 113:
-//#line 476 "e.y"
+//#line 464 "e.y"
+{ yyval = tryx(val_peek(2),val_peek(1),val_peek(0)); }
+break;
+case 114:
+//#line 466 "e.y"
{ yyval = when(val_peek(3),val_peek(2),val_peek(1),val_peek(0)); }
break;
-case 116:
-//#line 482 "e.y"
+case 117:
+//#line 472 "e.y"
{ yyval = quasiLiteralExpr(val_peek(1)); }
break;
-case 117:
-//#line 483 "e.y"
+case 118:
+//#line 473 "e.y"
{ yyval = quasiLiteralExpr(val_peek(0)); }
break;
-case 118:
-//#line 484 "e.y"
+case 119:
+//#line 474 "e.y"
{ yyval = quasiLiteralExpr(); }
break;
-case 119:
-//#line 485 "e.y"
+case 120:
+//#line 475 "e.y"
{ yyval = quasiPatternExpr(val_peek(1)); }
break;
-case 120:
-//#line 486 "e.y"
+case 121:
+//#line 476 "e.y"
{ yyval = quasiPatternExpr(val_peek(0)); }
break;
-case 121:
-//#line 489 "e.y"
+case 122:
+//#line 479 "e.y"
{ reserved("select"); }
break;
-case 122:
-//#line 490 "e.y"
+case 123:
+//#line 480 "e.y"
{ pocket("typedef");
yyval = val_peek(0); }
break;
-case 123:
-//#line 492 "e.y"
+case 125:
+//#line 489 "e.y"
+{ yyval = object(val_peek(1), val_peek(0)); }
+break;
+case 126:
+//#line 490 "e.y"
+{ yyval = methObject(val_peek(2),val_peek(1),val_peek(0)); }
+break;
+case 127:
+//#line 491 "e.y"
+{ yyval = thunk(val_peek(0)); }
+break;
+case 128:
+//#line 493 "e.y"
+{ yyval = classExpr(val_peek(1),val_peek(0)); }
+break;
+case 129:
+//#line 495 "e.y"
{ pocket("anon-lambda");
yyval = methObject(audits(ignore(), list()),
val_peek(1),
val_peek(0)); }
break;
-case 124:
-//#line 496 "e.y"
+case 130:
+//#line 499 "e.y"
{ pocket("anon-lambda");
yyval = thunk(val_peek(0)); }
break;
-case 125:
-//#line 505 "e.y"
+case 131:
+//#line 507 "e.y"
{ yyval = noun(val_peek(0)); }
break;
-case 126:
-//#line 514 "e.y"
+case 132:
+//#line 516 "e.y"
{ yyval = val_peek(1); }
break;
-case 127:
-//#line 523 "e.y"
+case 133:
+//#line 525 "e.y"
{ yyval = ifx(val_peek(1), val_peek(0)); }
break;
-case 128:
-//#line 524 "e.y"
+case 134:
+//#line 526 "e.y"
{ yyval = ifx(val_peek(3), val_peek(2), val_peek(0)); }
break;
-case 129:
-//#line 525 "e.y"
+case 135:
+//#line 527 "e.y"
{ yyval = ifx(val_peek(3), val_peek(2), val_peek(0)); }
break;
-case 130:
-//#line 530 "e.y"
+case 136:
+//#line 532 "e.y"
{ yyval = macro(val_peek(3), val_peek(2), val_peek(1), val_peek(0)); }
break;
-case 131:
-//#line 532 "e.y"
+case 137:
+//#line 534 "e.y"
{ yyval = macro(val_peek(3), val_peek(2), val_peek(1), val_peek(0)); }
break;
-case 132:
-//#line 536 "e.y"
+case 138:
+//#line 538 "e.y"
{ yyval = null; }
break;
-case 135:
-//#line 542 "e.y"
+case 141:
+//#line 544 "e.y"
{ yyval = null; }
break;
-case 136:
-//#line 544 "e.y"
+case 142:
+//#line 546 "e.y"
{ yyval = macro(val_peek(4), val_peek(3), val_peek(2), val_peek(1)); }
break;
-case 137:
-//#line 546 "e.y"
+case 143:
+//#line 548 "e.y"
{ yyval = macro(val_peek(3), val_peek(2), val_peek(1), val_peek(0)); }
break;
-case 138:
-//#line 551 "e.y"
+case 144:
+//#line 553 "e.y"
{ yyval = noun("simple__quasiParser"); }
break;
-case 139:
-//#line 552 "e.y"
+case 145:
+//#line 554 "e.y"
{ yyval = noun(val_peek(0) + "__quasiParser"); }
break;
-case 140:
-//#line 553 "e.y"
+case 146:
+//#line 555 "e.y"
{ yyval = val_peek(1); }
break;
-case 141:
-//#line 557 "e.y"
+case 147:
+//#line 559 "e.y"
{ yyval = list(val_peek(0)); }
break;
-case 142:
-//#line 558 "e.y"
+case 148:
+//#line 560 "e.y"
{ yyval = with(val_peek(1), val_peek(0)); }
break;
-case 143:
-//#line 562 "e.y"
+case 149:
+//#line 564 "e.y"
{ yyval = list(val_peek(1), val_peek(0)); }
break;
-case 144:
-//#line 563 "e.y"
+case 150:
+//#line 565 "e.y"
{ yyval = with(with(val_peek(2), val_peek(1)), val_peek(0)); }
break;
-case 145:
-//#line 567 "e.y"
+case 151:
+//#line 569 "e.y"
{ yyval = noun(val_peek(0)); }
break;
-case 146:
-//#line 568 "e.y"
+case 152:
+//#line 570 "e.y"
{ yyval = val_peek(2); }
break;
-case 147:
-//#line 572 "e.y"
+case 153:
+//#line 574 "e.y"
{ myLexer.quasiAgain(); }
break;
-case 150:
-//#line 589 "e.y"
+case 156:
+//#line 591 "e.y"
{ yyval = list(val_peek(0)); }
break;
-case 151:
-//#line 590 "e.y"
+case 157:
+//#line 592 "e.y"
{ yyval = with(val_peek(3), val_peek(0)); }
break;
-case 153:
-//#line 600 "e.y"
+case 159:
+//#line 602 "e.y"
{ yyval = list(val_peek(0)); }
break;
-case 154:
-//#line 601 "e.y"
+case 160:
+//#line 603 "e.y"
{ yyval = with(val_peek(3), val_peek(0)); }
break;
-case 155:
-//#line 608 "e.y"
+case 161:
+//#line 610 "e.y"
{ yyval = new Assoc(ignore(), val_peek(0)); }
break;
-case 157:
-//#line 613 "e.y"
+case 163:
+//#line 615 "e.y"
{ yyval = new Assoc(val_peek(2), val_peek(0)); }
break;
-case 158:
-//#line 614 "e.y"
+case 164:
+//#line 616 "e.y"
{ reserved("var-extract-pattern"); }
break;
-case 160:
-//#line 619 "e.y"
+case 166:
+//#line 621 "e.y"
{ yyval = suchThat(val_peek(2), val_peek(0)); }
break;
-case 161:
-//#line 621 "e.y"
+case 167:
+//#line 623 "e.y"
{ reserved("meta pattern"); }
break;
-case 163:
-//#line 626 "e.y"
+case 169:
+//#line 628 "e.y"
{ yyval = listPattern(val_peek(1)); }
break;
-case 164:
-//#line 627 "e.y"
+case 170:
+//#line 629 "e.y"
{ yyval = cdrPattern(val_peek(3), val_peek(0)); }
break;
-case 165:
-//#line 629 "e.y"
+case 171:
+//#line 631 "e.y"
{ reserved("map pattern"); }
break;
-case 166:
-//#line 630 "e.y"
+case 172:
+//#line 632 "e.y"
{ reserved("map pattern"); }
break;
-case 168:
-//#line 635 "e.y"
+case 174:
+//#line 637 "e.y"
{ yyval = patternEquals(val_peek(0)); }
break;
-case 170:
-//#line 640 "e.y"
+case 176:
+//#line 642 "e.y"
{ yyval = quasiPattern(val_peek(1), val_peek(0)); }
break;
-case 171:
-//#line 644 "e.y"
+case 177:
+//#line 646 "e.y"
{ yyval = list(val_peek(0)); }
break;
-case 172:
-//#line 645 "e.y"
+case 178:
+//#line 647 "e.y"
{ yyval = with(val_peek(1), val_peek(0)); }
break;
-case 173:
-//#line 649 "e.y"
+case 179:
+//#line 651 "e.y"
{ yyval = list(val_peek(1), val_peek(0)); }
break;
-case 174:
-//#line 650 "e.y"
+case 180:
+//#line 652 "e.y"
{ yyval = with(with(val_peek(2), val_peek(1)), val_peek(0)); }
break;
-case 177:
-//#line 659 "e.y"
+case 183:
+//#line 661 "e.y"
{ yyval = finalPattern(val_peek(0)); }
break;
-case 178:
-//#line 660 "e.y"
+case 184:
+//#line 662 "e.y"
{ yyval = ignore(); }
break;
-case 179:
-//#line 661 "e.y"
+case 185:
+//#line 663 "e.y"
{ yyval = val_peek(2); }
break;
-case 180:
-//#line 674 "e.y"
+case 186:
+//#line 676 "e.y"
{ yyval = finalPattern(val_peek(2), val_peek(0)); }
break;
-case 181:
-//#line 675 "e.y"
+case 187:
+//#line 677 "e.y"
{ yyval = finalPattern(val_peek(0)); }
break;
-case 182:
-//#line 676 "e.y"
+case 188:
+//#line 678 "e.y"
{ yyval = slotDefiner(val_peek(0)); }
break;
-case 183:
-//#line 677 "e.y"
+case 189:
+//#line 679 "e.y"
{ yyval = ignore(); }
break;
-case 185:
-//#line 680 "e.y"
+case 191:
+//#line 682 "e.y"
{ yyval = quasiLiteralPatt(val_peek(1)); }
break;
-case 186:
-//#line 681 "e.y"
+case 192:
+//#line 683 "e.y"
{ yyval = quasiPatternPatt(val_peek(1)); }
break;
-case 187:
-//#line 683 "e.y"
+case 193:
+//#line 685 "e.y"
{ pocket("bind");
yyval = bindDefiner(val_peek(2), val_peek(0)); }
break;
-case 188:
-//#line 685 "e.y"
+case 194:
+//#line 687 "e.y"
{ pocket("bind");
yyval = bindDefiner(val_peek(0)); }
break;
-case 189:
-//#line 690 "e.y"
+case 195:
+//#line 692 "e.y"
{ yyval = varPattern(val_peek(2), val_peek(0)); }
break;
-case 190:
-//#line 691 "e.y"
+case 196:
+//#line 693 "e.y"
{ yyval = varPattern(val_peek(0)); }
break;
-case 191:
-//#line 700 "e.y"
+case 197:
+//#line 702 "e.y"
{ yyval = finalPattern(val_peek(0)); }
break;
-case 192:
-//#line 701 "e.y"
+case 198:
+//#line 703 "e.y"
{ yyval = ignore(); }
break;
-case 193:
-//#line 702 "e.y"
+case 199:
+//#line 704 "e.y"
{ yyval = varPattern(val_peek(0)); }
break;
-case 194:
-//#line 703 "e.y"
+case 200:
+//#line 705 "e.y"
{ yyval = quasiLiteralPatt(val_peek(1)); }
break;
-case 195:
-//#line 704 "e.y"
+case 201:
+//#line 706 "e.y"
{ yyval = quasiPatternPatt(val_peek(1)); }
break;
-case 197:
-//#line 706 "e.y"
+case 203:
+//#line 708 "e.y"
{ pocket("bind");
yyval = bindDefiner(val_peek(0)); }
break;
-case 198:
-//#line 727 "e.y"
+case 204:
+//#line 729 "e.y"
{ yyval = list(); }
break;
-case 199:
-//#line 728 "e.y"
+case 205:
+//#line 730 "e.y"
{ yyval = append(list(val_peek(3)),val_peek(1)); }
break;
-case 202:
-//#line 740 "e.y"
+case 208:
+//#line 742 "e.y"
{ yyval = audits(val_peek(0), list()); }
break;
-case 203:
-//#line 741 "e.y"
+case 209:
+//#line 743 "e.y"
{ pocket("auditors");
yyval = audits(val_peek(2), val_peek(0)); }
break;
-case 204:
-//#line 746 "e.y"
+case 210:
+//#line 748 "e.y"
{ yyval = list(val_peek(0)); }
break;
-case 205:
-//#line 747 "e.y"
+case 211:
+//#line 749 "e.y"
{ yyval = with(val_peek(3), val_peek(0)); }
break;
-case 206:
-//#line 757 "e.y"
+case 212:
+//#line 759 "e.y"
{ yyval = method(val_peek(1), val_peek(0)); }
break;
-case 207:
-//#line 759 "e.y"
+case 213:
+//#line 761 "e.y"
{ reserved("fields"); }
break;
-case 208:
-//#line 760 "e.y"
+case 214:
+//#line 762 "e.y"
{ reserved("on event"); }
break;
-case 209:
-//#line 761 "e.y"
+case 215:
+//#line 763 "e.y"
{ reserved("sealed meta"); }
break;
-case 210:
-//#line 762 "e.y"
+case 216:
+//#line 764 "e.y"
{ reserved("sealed meta"); }
break;
-case 211:
-//#line 770 "e.y"
+case 217:
+//#line 772 "e.y"
{ yyval = methHead("run", val_peek(2), val_peek(0)); }
break;
-case 212:
-//#line 771 "e.y"
+case 218:
+//#line 773 "e.y"
{ yyval = methHead(val_peek(4), val_peek(2), val_peek(0)); }
break;
-case 213:
-//#line 773 "e.y"
+case 219:
+//#line 775 "e.y"
{ pocket("no-paren-method");
yyval = methHead(val_peek(1), list(), val_peek(0)); }
break;
-case 214:
-//#line 782 "e.y"
+case 220:
+//#line 784 "e.y"
{ yyval = methHead("run", val_peek(2), val_peek(0)); }
break;
-case 215:
-//#line 784 "e.y"
+case 221:
+//#line 786 "e.y"
{ pocket("one-method-object");
yyval = methHead(val_peek(4), val_peek(2), val_peek(0)); }
break;
-case 216:
-//#line 786 "e.y"
+case 222:
+//#line 788 "e.y"
{ pocket("no-paren-method");
yyval = methHead(val_peek(1), list(), val_peek(0)); }
break;
-case 217:
-//#line 795 "e.y"
+case 223:
+//#line 797 "e.y"
{ yyval = list(val_peek(4), val_peek(2), val_peek(0)); }
break;
-case 218:
-//#line 805 "e.y"
+case 224:
+//#line 807 "e.y"
{ yyval = matcher(val_peek(1), val_peek(0)); }
break;
-case 219:
-//#line 814 "e.y"
+case 225:
+//#line 816 "e.y"
{ yyval = delegatex(val_peek(0)); }
break;
-case 220:
-//#line 821 "e.y"
+case 226:
+//#line 823 "e.y"
{ yyval = VOID; }
break;
-case 221:
-//#line 822 "e.y"
+case 227:
+//#line 824 "e.y"
{ yyval = val_peek(0); }
break;
-case 222:
-//#line 826 "e.y"
+case 228:
+//#line 828 "e.y"
{ yyval = val_peek(1); }
break;
-case 223:
-//#line 831 "e.y"
+case 229:
+//#line 833 "e.y"
{ yyval = list(val_peek(6), val_peek(4), val_peek(2), val_peek(0)); }
break;
-case 224:
-//#line 833 "e.y"
+case 230:
+//#line 835 "e.y"
{ pocket("when-clauses");
yyval = list(val_peek(4), val_peek(2), val_peek(0)); }
break;
-case 225:
-//#line 838 "e.y"
+case 231:
+//#line 840 "e.y"
{ yyval = list(val_peek(0)); }
break;
-case 226:
-//#line 839 "e.y"
+case 232:
+//#line 841 "e.y"
{ yyval = with(val_peek(2), val_peek(0)); }
break;
-case 227:
-//#line 843 "e.y"
+case 233:
+//#line 845 "e.y"
{ list(val_peek(2), val_peek(0)); }
break;
-case 232:
-//#line 861 "e.y"
+case 238:
+//#line 863 "e.y"
{ yyval = list(); }
break;
-case 233:
-//#line 865 "e.y"
+case 239:
+//#line 867 "e.y"
{ yyval = list(); }
break;
-case 234:
-//#line 870 "e.y"
+case 240:
+//#line 872 "e.y"
{ yyval = val_peek(1); }
break;
-case 235:
-//#line 874 "e.y"
-{ yyval = with(val_peek(3), thunk(val_peek(0))); }
+case 241:
+//#line 877 "e.y"
+{ pocket("lambda-args");
+ yyval = with(val_peek(1), val_peek(0)); }
break;
-case 238:
-//#line 883 "e.y"
+case 244:
+//#line 887 "e.y"
{ yyval = list(val_peek(0)); }
break;
-case 239:
-//#line 884 "e.y"
+case 245:
+//#line 888 "e.y"
{ yyval = with(val_peek(2), val_peek(0)); }
break;
-case 240:
-//#line 889 "e.y"
+case 246:
+//#line 893 "e.y"
{ yyval = list(val_peek(0)); }
break;
-case 241:
-//#line 890 "e.y"
+case 247:
+//#line 894 "e.y"
{ yyval = with(val_peek(2), val_peek(0)); }
break;
-case 242:
-//#line 894 "e.y"
+case 248:
+//#line 898 "e.y"
{ yyval = new Assoc(val_peek(2), val_peek(0)); }
break;
-case 243:
-//#line 895 "e.y"
+case 249:
+//#line 899 "e.y"
{ reserved("export binding"); }
break;
-case 245:
-//#line 908 "e.y"
+case 251:
+//#line 912 "e.y"
{ yyval = hilbert(val_peek(0)); }
break;
-case 246:
-//#line 909 "e.y"
+case 252:
+//#line 913 "e.y"
{ reserved("keyword \"" +
((Token)val_peek(0)).token() +
"\""); }
break;
-case 247:
-//#line 925 "e.y"
+case 253:
+//#line 929 "e.y"
{ yyval = "add"; }
break;
-case 248:
-//#line 926 "e.y"
+case 254:
+//#line 930 "e.y"
{ yyval = "and"; }
break;
-case 249:
-//#line 927 "e.y"
+case 255:
+//#line 931 "e.y"
{ yyval = "approxDivide"; }
break;
-case 250:
-//#line 928 "e.y"
+case 256:
+//#line 932 "e.y"
{ yyval = "floorDivide"; }
break;
-case 251:
-//#line 929 "e.y"
+case 257:
+//#line 933 "e.y"
{ yyval = "shiftLeft"; }
break;
-case 252:
-//#line 930 "e.y"
+case 258:
+//#line 934 "e.y"
{ yyval = "remainder"; }
break;
-case 253:
-//#line 931 "e.y"
+case 259:
+//#line 935 "e.y"
{ yyval = "mod"; }
break;
-case 254:
-//#line 932 "e.y"
+case 260:
+//#line 936 "e.y"
{ yyval = "multiply"; }
break;
-case 255:
-//#line 933 "e.y"
+case 261:
+//#line 937 "e.y"
{ yyval = "or"; }
break;
-case 256:
-//#line 934 "e.y"
+case 262:
+//#line 938 "e.y"
{ yyval = "pow"; }
break;
-case 257:
-//#line 935 "e.y"
+case 263:
+//#line 939 "e.y"
{ yyval = "subtract"; }
break;
-case 258:
-//#line 936 "e.y"
+case 264:
+//#line 940 "e.y"
{ yyval = "xor"; }
break;
-case 259:
-//#line 945 "e.y"
+case 265:
+//#line 949 "e.y"
{ yyval = NULL; }
break;
-case 260:
-//#line 946 "e.y"
+case 266:
+//#line 950 "e.y"
{ yyval = val_peek(2); }
break;
-case 261:
-//#line 950 "e.y"
+case 267:
+//#line 954 "e.y"
{ yyval = val_peek(1); }
break;
-case 262:
-//#line 955 "e.y"
+case 268:
+//#line 959 "e.y"
{ yyval = eScript(val_peek(2), optMatcher(val_peek(1))); }
break;
-case 263:
-//#line 957 "e.y"
+case 269:
+//#line 961 "e.y"
{ pocket("plumbing");
yyval = eScript(null, val_peek(0)); }
break;
-case 264:
-//#line 959 "e.y"
+case 270:
+//#line 963 "e.y"
{ pocket("plumbing");
yyval = eScript(null, val_peek(0)); }
break;
-case 266:
-//#line 969 "e.y"
+case 272:
+//#line 973 "e.y"
{ yyval = with(val_peek(2), val_peek(1)); }
break;
-case 268:
-//#line 974 "e.y"
+case 274:
+//#line 978 "e.y"
{ yyval = with(val_peek(2), val_peek(1)); }
break;
-case 270:
-//#line 979 "e.y"
+case 276:
+//#line 983 "e.y"
{ yyval = with(val_peek(2), val_peek(1)); }
break;
-case 273:
-//#line 996 "e.y"
+case 279:
+//#line 1000 "e.y"
{ yyval = with(val_peek(1), val_peek(0)); }
break;
-case 274:
-//#line 1000 "e.y"
+case 280:
+//#line 1004 "e.y"
{ yyval = matcher(val_peek(1), val_peek(0)); }
break;
-case 275:
-//#line 1007 "e.y"
+case 281:
+//#line 1011 "e.y"
{ yyval = null; }
break;
-case 276:
-//#line 1008 "e.y"
+case 282:
+//#line 1012 "e.y"
{ yyval = val_peek(0); }
break;
-case 277:
-//#line 1019 "e.y"
+case 283:
+//#line 1023 "e.y"
{ yyval = oType(val_peek(4), val_peek(1)); }
break;
-case 278:
-//#line 1020 "e.y"
+case 284:
+//#line 1024 "e.y"
{ yyval = oType(val_peek(2), list(val_peek(1))); }
break;
-case 282:
-//#line 1027 "e.y"
+case 288:
+//#line 1031 "e.y"
{ yyval = with(val_peek(3),val_peek(1)); }
break;
-case 283:
-//#line 1031 "e.y"
+case 289:
+//#line 1035 "e.y"
{ yyval = list(val_peek(0)); }
break;
-case 284:
-//#line 1032 "e.y"
+case 290:
+//#line 1036 "e.y"
{ yyval = with(val_peek(3),val_peek(0)); }
break;
-case 285:
-//#line 1034 "e.y"
+case 291:
+//#line 1038 "e.y"
{ reserved("on event"); }
break;
-case 286:
-//#line 1035 "e.y"
+case 292:
+//#line 1039 "e.y"
{ reserved("on event"); }
break;
-case 287:
-//#line 1042 "e.y"
+case 293:
+//#line 1046 "e.y"
{ yyval = mType(val_peek(1),list(),val_peek(0)); }
break;
-case 288:
-//#line 1043 "e.y"
+case 294:
+//#line 1047 "e.y"
{ yyval = mType(val_peek(4),val_peek(2),val_peek(0)); }
break;
-case 289:
-//#line 1044 "e.y"
+case 295:
+//#line 1048 "e.y"
{ yyval = mType("run",val_peek(2),val_peek(0)); }
break;
-case 290:
-//#line 1048 "e.y"
+case 296:
+//#line 1052 "e.y"
{ yyval = val_peek(0); }
break;
-case 291:
-//#line 1049 "e.y"
+case 297:
+//#line 1053 "e.y"
{ yyval = val_peek(1); }
break;
-case 292:
-//#line 1053 "e.y"
+case 298:
+//#line 1057 "e.y"
{ yyval = list(val_peek(0)); }
break;
-case 293:
-//#line 1054 "e.y"
+case 299:
+//#line 1058 "e.y"
{ yyval = with(val_peek(3),val_peek(0)); }
break;
-case 294:
-//#line 1061 "e.y"
+case 300:
+//#line 1065 "e.y"
{ yyval = pType(val_peek(1),val_peek(0)); }
break;
-case 295:
-//#line 1062 "e.y"
+case 301:
+//#line 1066 "e.y"
{ yyval = pType(null,val_peek(0)); }
break;
-case 296:
-//#line 1066 "e.y"
+case 302:
+//#line 1070 "e.y"
{ yyval = null; }
break;
-case 297:
-//#line 1067 "e.y"
+case 303:
+//#line 1071 "e.y"
{ yyval = val_peek(0); }
break;
-//#line 5691 "EParser.java"
+//#line 6503 "EParser.java"
//########## END OF USER-SUPPLIED ACTIONS ##########
}//switch
//#### Now let's reduce... ####
1.83 +17 -13 e/src/jsrc/org/erights/e/elang/syntax/e.y
Index: e.y
===================================================================
RCS file: /cvs/e/src/jsrc/org/erights/e/elang/syntax/e.y,v
retrieving revision 1.82
retrieving revision 1.83
diff -u -r1.82 -r1.83
--- e.y 2001/09/08 22:59:21 1.82
+++ e.y 2001/09/09 07:57:02 1.83
@@ -389,14 +389,12 @@
| postfix Send verb parenArgs { $$ = send($1, $3, $4); }
| postfix Send parenArgs { $$ = send($1, "run", $3); }
-/*
| postfix Send verb { pocket("no-paren-call");
$$ = send($1, $3, list()); }
| postfix verb { pocket("no-paren-call");
$$ = call($1, $2, list()); }
| postfix '.' ident { pocket("dot-props");
$$ = property($1, $3, list()); }
-*/
| postfix '.' ident parenArgs { pocket("dot-props");
$$ = property($1, $3, $4); }
;
@@ -410,12 +408,10 @@
| META Send parenArgs { $$ = doMetaSend("run", $3); }
| META Send verb parenArgs { $$ = doMetaSend($3, $4); }
-/*
| META verb { pocket("no-paren-call");
$$ = doMeta($2, list()); }
| META Send verb { pocket("no-paren-call");
$$ = doMetaSend($3, list()); }
-*/
;
@@ -463,12 +459,6 @@
| FOR iterPattern IN assign body { $$ = forx($2,$4,$5); }
- | define audits vTable { $$ = object($2, $3); }
- | define audits funcHead body { $$ = methObject($2,$3,$4); }
- | THUNK body { $$ = thunk($2); }
-
- | CLASS classHead body { $$ = classExpr($2,$3); }
-
| SWITCH parenExpr caseList { $$ = switchx($2,$3); }
| TRY body catchList finallyClause { $$ = tryx($2,$3,$4); }
@@ -489,6 +479,19 @@
| SELECT parenExpr caseList { reserved("select"); }
| TYPEDEF oType { pocket("typedef");
$$ = $2; }
+ | object
+ ;
+
+/**
+ *
+ */
+object:
+ define audits vTable { $$ = object($2, $3); }
+ | define audits funcHead body { $$ = methObject($2,$3,$4); }
+ | THUNK body { $$ = thunk($2); }
+
+ | CLASS classHead body { $$ = classExpr($2,$3); }
+
| '_' funcHead body { pocket("anon-lambda");
$$ = methObject(audits(ignore(), list()),
$2,
@@ -497,7 +500,6 @@
$$ = thunk($2); }
;
-
/**
* Evaluates to the binding of this name in the current scope
*/
@@ -869,9 +871,11 @@
parenArgs:
'(' argList ')' { $$ = $2; }
/*
- | '(' argList ')' body { $$ = with($2, thunk($4)); }
+ | parenArgs body { pocket("block-args");
+ $$ = with($1, thunk($2)); }
*/
- | '(' argList ')' THUNK body { $$ = with($2, thunk($5)); }
+ | parenArgs object { pocket("lambda-args");
+ $$ = with($1, $2); }
;
argList: