[webkit-changes] cvs commit: JavaScriptCore/kjs debugger.cpp
debugger.h function.cpp function_object.cpp grammar.cpp
grammar.y internal.cpp internal.h interpreter.cpp
interpreter.h nodes.cpp
Geoffrey
ggaren at opensource.apple.com
Tue Aug 2 13:39:14 PDT 2005
ggaren 05/08/02 13:39:13
Modified: . Tag: Safari-2-0-branch ChangeLog
JavaScriptCore.xcodeproj Tag: Safari-2-0-branch
project.pbxproj
kjs Tag: Safari-2-0-branch debugger.cpp debugger.h
function.cpp function_object.cpp grammar.cpp
grammar.y internal.cpp internal.h interpreter.cpp
interpreter.h nodes.cpp
Log:
Merged from TOT to Safari-2-0-branch.
2005-07-27 Maciej Stachowiak <mjs at apple.com>
Changes by Michael Kahl, reviewed by me.
- fixed <rdar://problem/4194278> Need better debugging support in JavaScriptCore
* JavaScriptCore.xcodeproj/project.pbxproj:
* kjs/debugger.cpp:
(KJS::AttachedInterpreter::AttachedInterpreter):
(KJS::AttachedInterpreter::~AttachedInterpreter):
(Debugger::~Debugger):
(Debugger::attach):
(Debugger::detach):
(Debugger::sourceParsed):
* kjs/debugger.h:
* kjs/function.cpp:
(KJS::FunctionImp::call):
(KJS::GlobalFuncImp::call):
* kjs/function_object.cpp:
(FunctionObjectImp::construct):
* kjs/grammar.y:
* kjs/internal.cpp:
(Parser::parse):
(InterpreterImp::evaluate):
* kjs/internal.h:
(KJS::InterpreterImp::setDebugger):
* kjs/interpreter.cpp:
* kjs/interpreter.h:
(KJS::Interpreter::imp):
* kjs/nodes.cpp:
Revision Changes Path
No revision
No revision
1.677.6.13 +34 -0 JavaScriptCore/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /cvs/root/JavaScriptCore/ChangeLog,v
retrieving revision 1.677.6.12
retrieving revision 1.677.6.13
diff -u -r1.677.6.12 -r1.677.6.13
--- ChangeLog 2 Aug 2005 16:39:22 -0000 1.677.6.12
+++ ChangeLog 2 Aug 2005 20:39:09 -0000 1.677.6.13
@@ -1,3 +1,37 @@
+2005-08-02 Geoffrey Garen <ggaren at apple.com>
+ Merged from TOT to Safari-2-0-branch.
+
+ 2005-07-27 Maciej Stachowiak <mjs at apple.com>
+
+ Changes by Michael Kahl, reviewed by me.
+
+ - fixed <rdar://problem/4194278> Need better debugging support in JavaScriptCore
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * kjs/debugger.cpp:
+ (KJS::AttachedInterpreter::AttachedInterpreter):
+ (KJS::AttachedInterpreter::~AttachedInterpreter):
+ (Debugger::~Debugger):
+ (Debugger::attach):
+ (Debugger::detach):
+ (Debugger::sourceParsed):
+ * kjs/debugger.h:
+ * kjs/function.cpp:
+ (KJS::FunctionImp::call):
+ (KJS::GlobalFuncImp::call):
+ * kjs/function_object.cpp:
+ (FunctionObjectImp::construct):
+ * kjs/grammar.y:
+ * kjs/internal.cpp:
+ (Parser::parse):
+ (InterpreterImp::evaluate):
+ * kjs/internal.h:
+ (KJS::InterpreterImp::setDebugger):
+ * kjs/interpreter.cpp:
+ * kjs/interpreter.h:
+ (KJS::Interpreter::imp):
+ * kjs/nodes.cpp:
+
2005-08-02 Adele Peterson <adele at apple.com>
Merged from TOT to Safari-2-0-branch.
No revision
No revision
1.2.2.3 +2 -2 JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
Index: project.pbxproj
===================================================================
RCS file: /cvs/root/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj,v
retrieving revision 1.2.2.2
retrieving revision 1.2.2.3
diff -u -r1.2.2.2 -r1.2.2.3
--- project.pbxproj 29 Jul 2005 23:23:35 -0000 1.2.2.2
+++ project.pbxproj 2 Aug 2005 20:39:10 -0000 1.2.2.3
@@ -118,7 +118,7 @@
9374D3A9038D9D74008635CE /* scope_chain.h in Headers */ = {isa = PBXBuildFile; fileRef = 9374D3A7038D9D74008635CE /* scope_chain.h */; settings = {ATTRIBUTES = (Private, ); }; };
9374D3AA038D9D74008635CE /* scope_chain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9374D3A8038D9D74008635CE /* scope_chain.cpp */; };
937F4F25048E5B9900CA2AC4 /* internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 937F4F24048E5B9900CA2AC4 /* internal.h */; };
- 938772E6038BFE19008635CE /* array_instance.h in Headers */ = {isa = PBXBuildFile; fileRef = 938772E5038BFE19008635CE /* array_instance.h */; };
+ 938772E6038BFE19008635CE /* array_instance.h in Headers */ = {isa = PBXBuildFile; fileRef = 938772E5038BFE19008635CE /* array_instance.h */; settings = {ATTRIBUTES = (Private, ); }; };
F50888B7030BB74C012A967E /* simple_number.h in Headers */ = {isa = PBXBuildFile; fileRef = F50888B6030BB74C012A967E /* simple_number.h */; settings = {ATTRIBUTES = (Private, ); }; };
F5341392030CEEB1018BE7F3 /* reference.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5341390030CEEB1018BE7F3 /* reference.cpp */; settings = {ATTRIBUTES = (Private, ); }; };
F5341393030CEEB1018BE7F3 /* reference.h in Headers */ = {isa = PBXBuildFile; fileRef = F5341391030CEEB1018BE7F3 /* reference.h */; settings = {ATTRIBUTES = (Private, ); }; };
@@ -138,7 +138,7 @@
F692A8920255597D01FF60F7 /* date_object.h in Headers */ = {isa = PBXBuildFile; fileRef = F692A8560255597D01FF60F7 /* date_object.h */; settings = {ATTRIBUTES = (Private, ); }; };
F692A8930255597D01FF60F7 /* date_object.lut.h in Headers */ = {isa = PBXBuildFile; fileRef = F692A8570255597D01FF60F7 /* date_object.lut.h */; };
F692A8940255597D01FF60F7 /* debugger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F692A8580255597D01FF60F7 /* debugger.cpp */; };
- F692A8950255597D01FF60F7 /* debugger.h in Headers */ = {isa = PBXBuildFile; fileRef = F692A8590255597D01FF60F7 /* debugger.h */; };
+ F692A8950255597D01FF60F7 /* debugger.h in Headers */ = {isa = PBXBuildFile; fileRef = F692A8590255597D01FF60F7 /* debugger.h */; settings = {ATTRIBUTES = (Private, ); }; };
F692A8960255597D01FF60F7 /* error_object.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F692A85A0255597D01FF60F7 /* error_object.cpp */; };
F692A8970255597D01FF60F7 /* error_object.h in Headers */ = {isa = PBXBuildFile; fileRef = F692A85B0255597D01FF60F7 /* error_object.h */; settings = {ATTRIBUTES = (Private, ); }; };
F692A8980255597D01FF60F7 /* function_object.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F692A85C0255597D01FF60F7 /* function_object.cpp */; };
No revision
No revision
1.3.72.1 +27 -35 JavaScriptCore/kjs/debugger.cpp
Index: debugger.cpp
===================================================================
RCS file: /cvs/root/JavaScriptCore/kjs/debugger.cpp,v
retrieving revision 1.3
retrieving revision 1.3.72.1
diff -u -r1.3 -r1.3.72.1
--- debugger.cpp 15 Apr 2002 23:40:57 -0000 1.3
+++ debugger.cpp 2 Aug 2005 20:39:11 -0000 1.3.72.1
@@ -36,13 +36,16 @@
struct AttachedInterpreter
{
public:
- AttachedInterpreter(Interpreter *i) : interp(i) {}
+ AttachedInterpreter(Interpreter *i, AttachedInterpreter *ai) : interp(i), next(ai) { ++Debugger::debuggersPresent; }
+ ~AttachedInterpreter() { --Debugger::debuggersPresent; }
Interpreter *interp;
AttachedInterpreter *next;
};
}
+int Debugger::debuggersPresent = 0;
+
Debugger::Debugger()
{
rep = new DebuggerImp();
@@ -50,53 +53,42 @@
Debugger::~Debugger()
{
- // detach from all interpreters
- while (rep->interps)
- detach(rep->interps->interp);
-
+ detach(0);
delete rep;
}
void Debugger::attach(Interpreter *interp)
{
- if (interp->imp()->debugger() != this)
- interp->imp()->setDebugger(this);
-
- // add to the list of attached interpreters
- if (!rep->interps)
- rep->interps = new AttachedInterpreter(interp);
- else {
- AttachedInterpreter *ai = rep->interps;
- while (ai->next)
- ai = ai->next;
- ai->next = new AttachedInterpreter(interp);;
- }
+ Debugger *other = interp->imp()->debugger();
+ if (other == this)
+ return;
+ if (other)
+ other->detach(interp);
+ interp->imp()->setDebugger(this);
+ rep->interps = new AttachedInterpreter(interp, rep->interps);
}
void Debugger::detach(Interpreter *interp)
{
- if (interp->imp()->debugger() == this)
- interp->imp()->setDebugger(this);
-
- // remove from the list of attached interpreters
- if (rep->interps->interp == interp) {
- AttachedInterpreter *old = rep->interps;
- rep->interps = rep->interps->next;
- delete old;
- }
+ if (interp && interp->imp()->debugger() == this)
+ interp->imp()->setDebugger(0);
- AttachedInterpreter *ai = rep->interps;
- while (ai->next && ai->next->interp != interp)
- ai = ai->next;
- if (ai->next) {
- AttachedInterpreter *old = ai->next;
- ai->next = ai->next->next;
- delete old;
+ // iterate the addresses where AttachedInterpreter pointers are stored
+ // so we can unlink items from the list
+ AttachedInterpreter **p = &rep->interps;
+ AttachedInterpreter *q;
+ while ((q = *p)) {
+ if (!interp || q->interp == interp) {
+ *p = q->next;
+ delete q;
+ } else {
+ p = &q->next;
+ }
}
}
-bool Debugger::sourceParsed(ExecState */*exec*/, int /*sourceId*/,
- const UString &/*source*/, int /*errorLine*/)
+bool Debugger::sourceParsed(ExecState */*exec*/, int /*sourceId*/, const UString &/*sourceURL*/,
+ const UString &/*source*/, int /*errorLine*/)
{
return true;
}
1.3.72.1 +6 -3 JavaScriptCore/kjs/debugger.h
Index: debugger.h
===================================================================
RCS file: /cvs/root/JavaScriptCore/kjs/debugger.h,v
retrieving revision 1.3
retrieving revision 1.3.72.1
diff -u -r1.3 -r1.3.72.1
--- debugger.h 15 Apr 2002 23:40:57 -0000 1.3
+++ debugger.h 2 Aug 2005 20:39:11 -0000 1.3.72.1
@@ -101,14 +101,14 @@
* @param exec The current execution state
* @param sourceId The ID of the source code (corresponds to the
* sourceId supplied in other functions such as @ref atStatement()
- * @param source The source code that was parsed
+ * @param sourceURL Where the source code that was parsed came from
* @param errorLine The line number at which parsing encountered an
* error, or -1 if the source code was valid and parsed succesfully
* @return true if execution should be continue, false if it should
* be aborted
*/
- virtual bool sourceParsed(ExecState *exec, int sourceId,
- const UString &source, int errorLine);
+ virtual bool sourceParsed(ExecState *exec, int sourceId, const UString &sourceURL,
+ const UString &source, int errorLine);
/**
* Called when all functions/programs associated with a particular
@@ -205,6 +205,9 @@
private:
DebuggerImp *rep;
+
+ public:
+ static int debuggersPresent;
};
};
1.38.8.1 +27 -14 JavaScriptCore/kjs/function.cpp
Index: function.cpp
===================================================================
RCS file: /cvs/root/JavaScriptCore/kjs/function.cpp,v
retrieving revision 1.38
retrieving revision 1.38.8.1
diff -u -r1.38 -r1.38.8.1
--- function.cpp 16 Mar 2005 18:30:25 -0000 1.38
+++ function.cpp 2 Aug 2005 20:39:11 -0000 1.38.8.1
@@ -77,6 +77,17 @@
{
Object &globalObj = exec->dynamicInterpreter()->globalObject();
+ // enter a new execution context
+ ContextImp ctx(globalObj, exec->dynamicInterpreter()->imp(), thisObj, codeType(),
+ exec->context().imp(), this, &args);
+ ExecState newExec(exec->dynamicInterpreter(), &ctx);
+ newExec.setException(exec->exception()); // could be null
+
+ // assign user supplied arguments to parameters
+ processParameters(&newExec, args);
+ // add variable declarations (initialized to undefined)
+ processVarDecls(&newExec);
+
Debugger *dbg = exec->dynamicInterpreter()->imp()->debugger();
int sid = -1;
int lineno = -1;
@@ -87,29 +98,18 @@
}
Object func(this);
- bool cont = dbg->callEvent(exec,sid,lineno,func,args);
+ bool cont = dbg->callEvent(&newExec,sid,lineno,func,args);
if (!cont) {
dbg->imp()->abort();
return Undefined();
}
}
- // enter a new execution context
- ContextImp ctx(globalObj, exec->dynamicInterpreter()->imp(), thisObj, codeType(),
- exec->context().imp(), this, &args);
- ExecState newExec(exec->dynamicInterpreter(), &ctx);
- newExec.setException(exec->exception()); // could be null
-
- // assign user supplied arguments to parameters
- processParameters(&newExec, args);
- // add variable declarations (initialized to undefined)
- processVarDecls(&newExec);
-
Completion comp = execute(&newExec);
// if an exception occured, propogate it back to the previous execution object
if (newExec.hadException())
- exec->setException(newExec.exception());
+ comp = Completion(Throw, newExec.exception());
#ifdef KJS_VERBOSE
if (comp.complType() == Throw)
@@ -121,8 +121,14 @@
#endif
if (dbg) {
+ if (inherits(&DeclaredFunctionImp::info))
+ lineno = static_cast<DeclaredFunctionImp*>(this)->body->lastLine();
+
+ if (comp.complType() == Throw)
+ newExec.setException(comp.value());
+
Object func(this);
- int cont = dbg->returnEvent(exec,sid,lineno,func);
+ int cont = dbg->returnEvent(&newExec,sid,lineno,func);
if (!cont) {
dbg->imp()->abort();
return Undefined();
@@ -640,6 +646,13 @@
UString errMsg;
ProgramNode *progNode = Parser::parse(UString(), 0, s.data(),s.size(),&sid,&errLine,&errMsg);
+ Debugger *dbg = exec->dynamicInterpreter()->imp()->debugger();
+ if (dbg) {
+ bool cont = dbg->sourceParsed(exec, sid, UString(), s, errLine);
+ if (!cont)
+ return Undefined();
+ }
+
// no program node means a syntax occurred
if (!progNode) {
Object err = Error::create(exec,SyntaxError,errMsg.ascii(),errLine);
1.24.10.1 +2 -1 JavaScriptCore/kjs/function_object.cpp
Index: function_object.cpp
===================================================================
RCS file: /cvs/root/JavaScriptCore/kjs/function_object.cpp,v
retrieving revision 1.24
retrieving revision 1.24.10.1
diff -u -r1.24 -r1.24.10.1
--- function_object.cpp 7 Oct 2004 21:30:47 -0000 1.24
+++ function_object.cpp 2 Aug 2005 20:39:11 -0000 1.24.10.1
@@ -217,7 +217,8 @@
// notify debugger that source has been parsed
Debugger *dbg = exec->dynamicInterpreter()->imp()->debugger();
if (dbg) {
- bool cont = dbg->sourceParsed(exec,sid,body,errLine);
+ // send empty sourceURL to indicate constructed code
+ bool cont = dbg->sourceParsed(exec,sid,UString(),body,errLine);
if (!cont) {
dbg->imp()->abort();
return Object(new ObjectImp());
1.20.22.1 +374 -370 JavaScriptCore/kjs/Attic/grammar.cpp
Index: grammar.cpp
===================================================================
RCS file: /cvs/root/JavaScriptCore/kjs/Attic/grammar.cpp,v
retrieving revision 1.20
retrieving revision 1.20.22.1
diff -u -r1.20 -r1.20.22.1
--- grammar.cpp 18 Nov 2003 05:40:43 -0000 1.20
+++ grammar.cpp 2 Aug 2005 20:39:11 -0000 1.20.22.1
@@ -182,7 +182,7 @@
-#define YYFINAL 358
+#define YYFINAL 359
#define YYFLAG -32768
#define YYNTBASE 85
@@ -242,9 +242,9 @@
408, 416, 423, 429, 439, 450, 458, 467, 477, 478,
480, 483, 486, 490, 494, 497, 500, 504, 508, 511,
514, 518, 522, 528, 534, 538, 544, 545, 547, 549,
- 552, 556, 561, 564, 568, 572, 576, 580, 584, 589,
- 595, 598, 604, 611, 616, 622, 624, 628, 631, 635,
- 636, 638, 640, 643, 645
+ 552, 556, 561, 564, 568, 572, 576, 580, 584, 588,
+ 593, 599, 602, 608, 615, 620, 626, 628, 632, 635,
+ 639, 640, 642, 644, 647, 649
};
static const short yyrhs[] = { 3,
@@ -305,14 +305,14 @@
133, 65, 0, 0, 134, 0, 135, 0, 134, 135,
0, 9, 114, 69, 0, 9, 114, 69, 117, 0,
10, 69, 0, 10, 69, 117, 0, 58, 69, 115,
- 0, 30, 114, 84, 0, 31, 116, 140, 0, 31,
- 116, 141, 0, 31, 116, 140, 141, 0, 32, 62,
- 58, 63, 116, 0, 33, 116, 0, 15, 58, 62,
- 63, 145, 0, 15, 58, 62, 144, 63, 145, 0,
- 15, 62, 63, 145, 0, 15, 62, 144, 63, 145,
- 0, 58, 0, 144, 68, 58, 0, 64, 65, 0,
- 64, 147, 65, 0, 0, 147, 0, 148, 0, 147,
- 148, 0, 115, 0, 142, 0
+ 0, 30, 114, 84, 0, 30, 114, 1, 0, 31,
+ 116, 140, 0, 31, 116, 141, 0, 31, 116, 140,
+ 141, 0, 32, 62, 58, 63, 116, 0, 33, 116,
+ 0, 15, 58, 62, 63, 145, 0, 15, 58, 62,
+ 144, 63, 145, 0, 15, 62, 63, 145, 0, 15,
+ 62, 144, 63, 145, 0, 58, 0, 144, 68, 58,
+ 0, 64, 65, 0, 64, 147, 65, 0, 0, 147,
+ 0, 148, 0, 147, 148, 0, 115, 0, 142, 0
};
#endif
@@ -336,9 +336,9 @@
457, 461, 463, 464, 467, 470, 473, 476, 481, 483,
486, 488, 492, 493, 499, 501, 505, 506, 513, 515,
519, 520, 526, 531, 536, 538, 542, 544, 547, 549,
- 552, 554, 557, 559, 562, 567, 571, 573, 574, 577,
- 581, 585, 587, 590, 592, 597, 599, 602, 605, 609,
- 612, 616, 618, 621, 623
+ 552, 554, 557, 559, 562, 567, 569, 572, 574, 575,
+ 578, 582, 586, 588, 591, 593, 598, 600, 603, 606,
+ 610, 613, 617, 619, 622, 624
};
#endif
@@ -388,9 +388,9 @@
124, 125, 125, 125, 125, 125, 125, 125, 126, 126,
127, 127, 127, 127, 128, 128, 128, 128, 129, 129,
129, 129, 130, 131, 132, 132, 133, 133, 134, 134,
- 135, 135, 136, 136, 137, 138, 139, 139, 139, 140,
- 141, 142, 142, 143, 143, 144, 144, 145, 145, 146,
- 146, 147, 147, 148, 148
+ 135, 135, 136, 136, 137, 138, 138, 139, 139, 139,
+ 140, 141, 142, 142, 143, 143, 144, 144, 145, 145,
+ 146, 146, 147, 147, 148, 148
};
static const short yyr2[] = { 0,
@@ -411,20 +411,20 @@
7, 6, 5, 9, 10, 7, 8, 9, 0, 1,
2, 2, 3, 3, 2, 2, 3, 3, 2, 2,
3, 3, 5, 5, 3, 5, 0, 1, 1, 2,
- 3, 4, 2, 3, 3, 3, 3, 3, 4, 5,
- 2, 5, 6, 4, 5, 1, 3, 2, 3, 0,
- 1, 1, 2, 1, 1
+ 3, 4, 2, 3, 3, 3, 3, 3, 3, 4,
+ 5, 2, 5, 6, 4, 5, 1, 3, 2, 3,
+ 0, 1, 1, 2, 1, 1
};
-static const short yydefact[] = { 190,
+static const short yydefact[] = { 191,
1, 2, 3, 5, 4, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 8, 0, 0, 0, 0,
0, 0, 0, 0, 0, 7, 9, 0, 0, 6,
0, 0, 20, 0, 0, 0, 0, 137, 10, 29,
11, 34, 44, 45, 46, 49, 61, 65, 68, 72,
79, 84, 86, 88, 90, 92, 94, 96, 110, 0,
- 194, 112, 113, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, 195, 30, 191, 192, 156,
+ 195, 112, 113, 114, 115, 116, 117, 118, 119, 120,
+ 121, 122, 123, 124, 125, 196, 30, 192, 193, 156,
0, 155, 149, 0, 9, 0, 34, 35, 134, 0,
132, 152, 0, 151, 0, 0, 160, 159, 0, 46,
51, 50, 0, 0, 0, 52, 0, 0, 0, 0,
@@ -435,359 +435,359 @@
107, 108, 98, 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, 139, 0,
- 138, 193, 158, 157, 0, 46, 150, 0, 27, 28,
+ 138, 194, 158, 157, 0, 46, 150, 0, 27, 28,
26, 13, 33, 0, 135, 131, 0, 130, 154, 153,
- 0, 186, 0, 0, 162, 161, 0, 0, 0, 0,
- 0, 176, 126, 0, 0, 177, 178, 175, 12, 14,
- 0, 0, 127, 16, 20, 15, 18, 23, 40, 0,
- 42, 0, 32, 0, 39, 97, 63, 62, 64, 66,
- 67, 69, 70, 71, 78, 77, 75, 76, 73, 74,
- 80, 81, 82, 83, 85, 87, 89, 91, 93, 0,
- 111, 134, 0, 0, 149, 136, 133, 0, 0, 0,
- 184, 0, 0, 0, 0, 0, 0, 0, 0, 181,
- 179, 0, 24, 0, 41, 0, 31, 38, 0, 0,
- 135, 149, 0, 0, 182, 0, 188, 0, 185, 187,
- 140, 0, 143, 167, 164, 163, 0, 0, 17, 19,
- 43, 95, 0, 0, 0, 0, 149, 183, 189, 0,
- 142, 0, 0, 168, 169, 0, 25, 0, 0, 149,
- 146, 0, 141, 0, 0, 165, 167, 170, 180, 147,
- 0, 0, 0, 171, 173, 0, 148, 0, 144, 128,
- 172, 174, 166, 145, 129, 0, 0, 0
+ 0, 187, 0, 0, 162, 161, 0, 0, 0, 0,
+ 0, 177, 176, 126, 0, 0, 178, 179, 175, 12,
+ 14, 0, 0, 127, 16, 20, 15, 18, 23, 40,
+ 0, 42, 0, 32, 0, 39, 97, 63, 62, 64,
+ 66, 67, 69, 70, 71, 78, 77, 75, 76, 73,
+ 74, 80, 81, 82, 83, 85, 87, 89, 91, 93,
+ 0, 111, 134, 0, 0, 149, 136, 133, 0, 0,
+ 0, 185, 0, 0, 0, 0, 0, 0, 0, 0,
+ 182, 180, 0, 24, 0, 41, 0, 31, 38, 0,
+ 0, 135, 149, 0, 0, 183, 0, 189, 0, 186,
+ 188, 140, 0, 143, 167, 164, 163, 0, 0, 17,
+ 19, 43, 95, 0, 0, 0, 0, 149, 184, 190,
+ 0, 142, 0, 0, 168, 169, 0, 25, 0, 0,
+ 149, 146, 0, 141, 0, 0, 165, 167, 170, 181,
+ 147, 0, 0, 0, 171, 173, 0, 148, 0, 144,
+ 128, 172, 174, 166, 145, 129, 0, 0, 0
};
static const short yydefgoto[] = { 39,
40, 41, 126, 127, 128, 122, 123, 42, 43, 44,
- 136, 230, 45, 46, 47, 48, 49, 50, 51, 52,
+ 136, 231, 45, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, 59, 154, 60, 61,
- 62, 351, 63, 90, 91, 195, 64, 65, 66, 67,
- 188, 68, 69, 70, 71, 72, 305, 323, 324, 325,
- 337, 73, 74, 75, 216, 217, 76, 77, 204, 271,
- 356, 124, 79
+ 62, 352, 63, 90, 91, 195, 64, 65, 66, 67,
+ 188, 68, 69, 70, 71, 72, 306, 324, 325, 326,
+ 338, 73, 74, 75, 217, 218, 76, 77, 204, 272,
+ 357, 124, 79
};
-static const short yypact[] = { 779,
--32768,-32768,-32768,-32768,-32768, 5, -28, 111, -30, 6,
- -31, 335, 1252, 1252, -16,-32768, 853, -5, 1252, 9,
- 57, 1252, -20, 1252, 1252,-32768, -21, 1252, 1252,-32768,
- 1252, 409, -1, 1252, 1252, 1252, 1252,-32768,-32768,-32768,
--32768, 42,-32768, 43, 179,-32768,-32768, -14, 12, 195,
- 82, 118, 72, 85, 93, 151, -23,-32768,-32768, 11,
+static const short yypact[] = { 780,
+-32768,-32768,-32768,-32768,-32768, 5, -52, 111, 9, 6,
+ 25, 336, 1253, 1253, -3,-32768, 854, 47, 1253, 50,
+ 57, 1253, 29, 1253, 1253,-32768, 36, 1253, 1253,-32768,
+ 1253, 410, 12, 1253, 1253, 1253, 1253,-32768,-32768,-32768,
+-32768, 83,-32768, 84, 180,-32768,-32768, -34, 61, 220,
+ 82, 212, 76, 94, 95, 151, 31,-32768,-32768, 11,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768, 779,-32768,-32768,
- 7,-32768, 964, 161,-32768, 45, 42,-32768, 136, 17,
--32768,-32768, 8,-32768, 198, 24,-32768,-32768, 18, 90,
--32768,-32768, 1252, 236, 1252,-32768, 1252, 1252, -45, 483,
- 219,-32768,-32768, 853,-32768,-32768, 59, 202, 204, -21,
- 935, 123, 205, 557,-32768, 186, 1036, 197,-32768,-32768,
--32768,-32768, 1108, 1252, 217,-32768, 1252, 218,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768, 780,-32768,-32768,
+ 7,-32768, 965, 102,-32768, 45, 83,-32768, 112, 16,
+-32768,-32768, 8,-32768, 197, -19,-32768,-32768, 18, 105,
+-32768,-32768, 1253, 198, 1253,-32768, 1253, 1253, 20, 484,
+ 119,-32768,-32768, 854,-32768,-32768, -6, 192, 203, 36,
+ 936, -37, 207, 558,-32768, 174, 1037, 209,-32768,-32768,
+-32768,-32768, 1109, 1253, 221,-32768, 1253, 222,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768, 1252, 1252, 1252, 1252, 1252, 1252, 1252,
- 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252,
- 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252,-32768, 1252,
--32768,-32768,-32768,-32768, 222, 87, 209, 203,-32768,-32768,
--32768,-32768,-32768, 1252,-32768,-32768, -30,-32768,-32768,-32768,
- 105,-32768, 220, 103,-32768,-32768, 113, 223, 115, 116,
- 117,-32768,-32768, 224, -20, 249,-32768,-32768,-32768,-32768,
- 35, 1252,-32768,-32768, -1,-32768,-32768,-32768,-32768, 119,
--32768, 196,-32768, 200,-32768,-32768,-32768,-32768,-32768, -14,
- -14, 12, 12, 12, 195, 195, 195, 195, 195, 195,
- 82, 82, 82, 82, 118, 72, 85, 93, 151, 221,
--32768, -3, -44, 1252, 1252,-32768,-32768, 220, 126, 631,
--32768, 220, 230, 853, 1252, 853, 225, 853, 233,-32768,
--32768, 226,-32768, 1180,-32768, 1252,-32768,-32768, 1252, 1252,
- 268, 1252, 127, 210,-32768, 220,-32768, 705,-32768,-32768,
- 270, 157,-32768, 287,-32768,-32768, 234, 1252,-32768,-32768,
--32768,-32768, 174, 1252, 214, 853, 1252,-32768,-32768, 853,
--32768, 1252, 23, 287,-32768, -20,-32768, 853, 175, 1252,
--32768, 237,-32768, 201, 232,-32768, 287,-32768,-32768,-32768,
- 853, 239, 853, 853, 853, 241,-32768, 853,-32768,-32768,
- 853, 853,-32768,-32768,-32768, 307, 309,-32768
+-32768,-32768,-32768, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
+ 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,
+ 1253, 1253, 1253, 1253, 1253, 1253, 1253, 1253,-32768, 1253,
+-32768,-32768,-32768,-32768, 223, 87, 210, 199,-32768,-32768,
+-32768,-32768,-32768, 1253,-32768,-32768, 9,-32768,-32768,-32768,
+ 64,-32768, 224, 99,-32768,-32768, 103, 225, 121, 122,
+ 123,-32768,-32768,-32768, 227, 29, 252,-32768,-32768,-32768,
+-32768, 27, 1253,-32768,-32768, 12,-32768,-32768,-32768,-32768,
+ 125,-32768, 187,-32768, 201,-32768,-32768,-32768,-32768,-32768,
+ -34, -34, 61, 61, 61, 220, 220, 220, 220, 220,
+ 220, 82, 82, 82, 82, 212, 76, 94, 95, 151,
+ 217,-32768, -1, -44, 1253, 1253,-32768,-32768, 224, 156,
+ 632,-32768, 224, 232, 854, 1253, 854, 228, 854, 233,
+-32768,-32768, 226,-32768, 1181,-32768, 1253,-32768,-32768, 1253,
+ 1253, 269, 1253, 158, 213,-32768, 224,-32768, 706,-32768,
+-32768, 271, 175,-32768, 287,-32768,-32768, 235, 1253,-32768,
+-32768,-32768,-32768, 176, 1253, 215, 854, 1253,-32768,-32768,
+ 854,-32768, 1253, 43, 287,-32768, 29,-32768, 854, 177,
+ 1253,-32768, 238,-32768, 202, 234,-32768, 287,-32768,-32768,
+-32768, 854, 239, 854, 854, 854, 242,-32768, 854,-32768,
+-32768, 854, 854,-32768,-32768,-32768, 308, 310,-32768
};
static const short yypgoto[] = {-32768,
--32768,-32768,-32768, 89,-32768,-32768, 91, 302, 308,-32768,
- -34,-32768, 41,-32768, 1, 120, 88, -18, 75, 142,
- 143, 144, 146, 141,-32768,-32768, -122,-32768, -9, -17,
- -22, -25,-32768, 138, 128, 67,-32768,-32768,-32768,-32768,
- -249,-32768,-32768,-32768,-32768,-32768,-32768, -7,-32768, 13,
--32768,-32768,-32768,-32768,-32768, 129,-32768,-32768, 131, -223,
+-32768,-32768,-32768, 85,-32768,-32768, 91, 307, 309,-32768,
+ -26,-32768, 41,-32768, 1, 116, -114, 15, 81, 143,
+ 144, 145, 147, 142,-32768,-32768, -122,-32768, -9, -17,
+ -22, -25,-32768, 139, 129, 67,-32768,-32768,-32768,-32768,
+ -250,-32768,-32768,-32768,-32768,-32768,-32768, -7,-32768, 13,
+-32768,-32768,-32768,-32768,-32768, 117,-32768,-32768, 132, -224,
-32768, 2, -74
};
-#define YYLAST 1326
+#define YYLAST 1327
static const short yytable[] = { 104,
- 111, 78, 99, 182, 227, 80, 92, 183, 199, 139,
- 231, 179, 109, 101, 102, 294, 177, 196, 205, 106,
- 290, 117, 180, 197, 112, 113, 95, 89, 115, 116,
- 96, 236, 335, 83, 129, 130, 131, 132, 212, 292,
- 189, 190, 315, 110, 295, 103, 155, 114, 299, 182,
- 189, 190, 193, 100, 100, 260, 105, 261, 178, 100,
- 156, 157, 81, 93, 100, 100, 125, 332, 100, 100,
- 107, 266, 318, 187, 100, 100, 100, 100, 180, 194,
- 342, 202, 158, 159, 197, 180, 203, 336, 82, 94,
- 184, 200, 191, 207, 181, 209, 218, 210, 211, 283,
- 198, 206, 191, 133, 133, 163, 164, 134, 137, 192,
- 264, 135, 138, 1, 2, 3, 4, 5, 108, 165,
- 166, 219, 8, 186, 232, 84, 180, 234, 140, 141,
- 16, 140, 141, 142, 143, 144, 145, 146, 147, 148,
- 149, 150, 151, 152, 245, 246, 247, 248, 249, 250,
- 173, 169, 170, 171, 172, 237, 238, 239, 167, 168,
- 26, 310, 202, 311, 174, 272, 312, 268, 85, 153,
- 273, 30, 31, 175, 86, 274, 33, 276, 277, 278,
- 180, 285, 180, 180, 180, 327, 286, 220, 296, 316,
- 221, 176, 280, 273, 180, 100, 100, 100, 100, 100,
+ 111, 78, 99, 182, 228, 80, 92, 183, 199, 83,
+ 232, 179, 109, 101, 102, 295, 196, 139, 205, 106,
+ 212, 117, 291, 197, 112, 113, 155, 221, 115, 116,
+ 222, 237, 189, 190, 129, 130, 131, 132, 202, 293,
+ 156, 157, 316, 203, 296, 243, 244, 245, 300, 182,
+ 189, 190, 336, 100, 100, 261, 220, 262, 103, 100,
+ 193, 180, 81, 93, 100, 100, 89, 333, 100, 100,
+ 177, 267, 319, 187, 100, 100, 100, 100, 180, 125,
+ 343, 194, 95, 197, 191, 180, 96, 180, 82, 94,
+ 184, 200, 110, 207, 181, 209, 219, 210, 211, 198,
+ 284, 206, 191, 213, 114, 163, 164, 337, 105, 192,
+ 265, 107, 178, 1, 2, 3, 4, 5, 108, 165,
+ 166, 202, 8, 186, 233, 84, 269, 235, 140, 141,
+ 16, 158, 159, 142, 143, 144, 145, 146, 147, 148,
+ 149, 150, 151, 152, 133, 133, 140, 141, 134, 137,
+ 215, 216, 135, 138, 173, 238, 239, 240, 167, 168,
+ 26, 273, 311, 96, 312, 275, 274, 313, 85, 153,
+ 180, 30, 31, 174, 86, 175, 33, 246, 247, 248,
+ 249, 250, 251, 277, 278, 279, 328, 286, 180, 180,
+ 180, 176, 287, 281, 194, 100, 100, 100, 100, 100,
100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
- 100, 100, 100, 100, 100, 100, 100, 100, 194, 321,
- 140, 141, 96, 182, 180, 142, 143, 144, 145, 146,
- 147, 148, 149, 150, 151, 152, 328, 341, 160, 161,
- 162, 180, 180, 251, 252, 253, 254, 242, 243, 244,
- 214, 215, 224, 225, 293, 187, 301, 208, 303, 201,
- 306, 153, 287, 180, 228, 302, 288, 180, 180, 344,
- -27, 298, -28, 222, 233, 235, 180, 240, 241, 262,
- 313, 215, 187, 270, 275, 279, 265, 300, 304, 289,
- 307, 314, 320, 317, 308, 322, 326, 330, 331, 343,
- 345, 348, 333, 339, 329, 353, 357, 187, 358, 87,
- 340, 282, 334, 284, 255, 88, 256, 259, 257, 352,
- 187, 258, 263, 347, 267, 349, 350, 350, 291, 346,
- 354, 269, 0, 355, 355, 97, 338, 1, 2, 3,
- 4, 5, 0, 0, 281, 0, 8, 0, 0, 84,
- 0, 13, 14, 0, 16, 0, 0, 0, 0, 0,
- 19, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 24, 25, 0, 0,
- 0, 0, 0, 0, 26, 0, 0, 0, 0, 0,
- 0, 0, 85, 28, 29, 30, 31, 0, 86, 0,
- 33, 0, 0, 0, 0, 34, 35, 36, 37, 0,
- 0, 1, 2, 3, 118, 119, 6, 0, 98, 7,
- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
- 18, 0, 0, 0, 19, 20, 21, 0, 22, 23,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 24, 25, 0, 0, 0, 0, 0, 0, 26, 0,
- 0, 0, 0, 0, 0, 0, 120, 28, 29, 30,
- 31, 0, 32, 121, 33, 0, 0, 0, 0, 34,
- 35, 36, 37, 0, 0, 1, 2, 3, 4, 5,
- 6, 0, 38, 7, 8, 9, 10, 11, 12, 13,
- 14, 15, 16, 17, 18, 0, 0, 0, 19, 20,
- 21, 0, 22, 23, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 24, 25, 0, 0, 0, 0,
- 0, 0, 26, 0, 0, 0, 0, 0, 0, 0,
- 27, 28, 29, 30, 31, 0, 32, 213, 33, 0,
- 0, 0, 0, 34, 35, 36, 37, 0, 0, 1,
- 2, 3, 4, 5, 6, 0, 38, 7, 8, 9,
- 10, 11, 12, 13, 14, 15, 16, 17, 18, 0,
- 0, 0, 19, 20, 21, 0, 22, 23, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 24, 25,
- 0, 0, 0, 0, 0, 0, 26, 0, 0, 0,
- 0, 0, 0, 0, 27, 28, 29, 30, 31, 0,
- 32, 223, 33, 0, 0, 0, 0, 34, 35, 36,
- 37, 0, 0, 1, 2, 3, 4, 5, 6, 0,
- 38, 7, 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 0, 0, 0, 19, 20, 21, 0,
- 22, 23, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 24, 25, 0, 0, 0, 0, 0, 0,
- 26, 0, 0, 0, 0, 0, 0, 0, 27, 28,
- 29, 30, 31, 0, 32, 297, 33, 0, 0, 0,
- 0, 34, 35, 36, 37, 0, 0, 1, 2, 3,
- 4, 5, 6, 0, 38, 7, 8, 9, 10, 11,
- 12, 13, 14, 15, 16, 17, 18, 0, 0, 0,
- 19, 20, 21, 0, 22, 23, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 24, 25, 0, 0,
- 0, 0, 0, 0, 26, 0, 0, 0, 0, 0,
- 0, 0, 27, 28, 29, 30, 31, 0, 32, 319,
- 33, 0, 0, 0, 0, 34, 35, 36, 37, 0,
- 0, 1, 2, 3, 4, 5, 6, 0, 38, 7,
- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
- 18, 0, 0, 0, 19, 20, 21, 0, 22, 23,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 24, 25, 0, 0, 0, 0, 0, 0, 26, 0,
- 0, 0, 0, 0, 0, 0, 27, 28, 29, 30,
- 31, 0, 32, 0, 33, 0, 0, 0, 0, 34,
- 35, 36, 37, 0, 0, 1, 2, 3, 4, 5,
- 6, 0, 38, 7, 8, 9, 10, 84, 12, 13,
- 14, 15, 16, 17, 18, 0, 0, 0, 19, 20,
- 21, 0, 22, 23, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 24, 25, 0, 0, 0, 0,
- 0, 0, 26, 0, 0, 0, 0, 0, 0, 0,
- 27, 28, 29, 30, 31, 0, 32, 0, 33, 0,
- 0, 0, 0, 34, 35, 36, 37, 0, 0, 0,
- 0, 0, 0, 0, -126, 0, 38, -126, -126, -126,
- -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
- -126, -126, -126, -126, -126, -126, -126, -126, 0, 0,
- -126, -126, -126, 0, -126, -126, 1, 2, 3, 4,
- 5, 0, 0, 0, 0, 8, 185, 0, 84, 0,
- 13, 14, 0, 16, 0, 0, 0, 0, 0, 19,
- 0, 0, -126, -126, -126, 0, 0, 0, -126, -126,
- 0, 0, 0, 0, 0, 24, 25, -126, -126, 0,
- 0, 0, 0, 26, 0, 0, 0, 0, 0, 0,
- 0, 85, 28, 29, 30, 31, 0, 86, 0, 33,
- 0, 0, 0, 0, 34, 35, 36, 37, 1, 2,
+ 100, 100, 100, 100, 100, 100, 100, 100, 297, 208,
+ 317, 140, 141, 274, 182, 180, 142, 143, 144, 145,
+ 146, 147, 148, 149, 150, 151, 152, 322, 329, 342,
+ 225, 226, 180, 180, 180, 169, 170, 171, 172, 252,
+ 253, 254, 255, 288, 180, 294, 187, 302, 201, 304,
+ -27, 307, 153, 160, 161, 162, 303, 289, 180, 180,
+ 345, -28, 299, 241, 242, 223, 229, 180, 234, 236,
+ 263, 314, 266, 187, 216, 290, 276, 271, 280, 301,
+ 308, 305, 315, 321, 309, 323, 318, 327, 331, 332,
+ 344, 349, 346, 334, 340, 330, 354, 358, 187, 359,
+ 285, 341, 283, 335, 87, 256, 88, 257, 260, 258,
+ 353, 187, 259, 264, 348, 268, 350, 351, 351, 292,
+ 347, 355, 270, 282, 356, 356, 97, 339, 1, 2,
3, 4, 5, 0, 0, 0, 0, 8, 0, 0,
84, 0, 13, 14, 0, 16, 0, 0, 0, 0,
0, 19, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 24, 25, 0,
0, 0, 0, 0, 0, 26, 0, 0, 0, 0,
0, 0, 0, 85, 28, 29, 30, 31, 0, 86,
- 0, 33, 226, 0, 0, 0, 34, 35, 36, 37,
- 1, 2, 3, 4, 5, 0, 0, 0, 0, 8,
- 0, 0, 84, 0, 13, 14, 0, 16, 0, 0,
- 0, 0, 0, 19, 0, 0, 0, 0, 0, 0,
+ 0, 33, 0, 0, 0, 0, 34, 35, 36, 37,
+ 0, 0, 1, 2, 3, 118, 119, 6, 0, 98,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 0, 0, 0, 19, 20, 21, 0, 22,
+ 23, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 24, 25, 0, 0, 0, 0, 0, 0, 26,
+ 0, 0, 0, 0, 0, 0, 0, 120, 28, 29,
+ 30, 31, 0, 32, 121, 33, 0, 0, 0, 0,
+ 34, 35, 36, 37, 0, 0, 1, 2, 3, 4,
+ 5, 6, 0, 38, 7, 8, 9, 10, 11, 12,
+ 13, 14, 15, 16, 17, 18, 0, 0, 0, 19,
+ 20, 21, 0, 22, 23, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 24, 25, 0, 0, 0,
+ 0, 0, 0, 26, 0, 0, 0, 0, 0, 0,
+ 0, 27, 28, 29, 30, 31, 0, 32, 214, 33,
+ 0, 0, 0, 0, 34, 35, 36, 37, 0, 0,
+ 1, 2, 3, 4, 5, 6, 0, 38, 7, 8,
+ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
+ 0, 0, 0, 19, 20, 21, 0, 22, 23, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 24,
25, 0, 0, 0, 0, 0, 0, 26, 0, 0,
- 0, 0, 0, 0, 0, 85, 28, 29, 30, 31,
- 229, 86, 0, 33, 0, 0, 0, 0, 34, 35,
- 36, 37, 1, 2, 3, 4, 5, 0, 0, 0,
- 0, 8, 0, 0, 84, 0, 13, 14, 0, 16,
- 0, 0, 0, 0, 0, 19, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 27, 28, 29, 30, 31,
+ 0, 32, 224, 33, 0, 0, 0, 0, 34, 35,
+ 36, 37, 0, 0, 1, 2, 3, 4, 5, 6,
+ 0, 38, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 0, 0, 0, 19, 20, 21,
+ 0, 22, 23, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 24, 25, 0, 0, 0, 0, 0,
+ 0, 26, 0, 0, 0, 0, 0, 0, 0, 27,
+ 28, 29, 30, 31, 0, 32, 298, 33, 0, 0,
+ 0, 0, 34, 35, 36, 37, 0, 0, 1, 2,
+ 3, 4, 5, 6, 0, 38, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15, 16, 17, 18, 0, 0,
+ 0, 19, 20, 21, 0, 22, 23, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 24, 25, 0,
+ 0, 0, 0, 0, 0, 26, 0, 0, 0, 0,
+ 0, 0, 0, 27, 28, 29, 30, 31, 0, 32,
+ 320, 33, 0, 0, 0, 0, 34, 35, 36, 37,
+ 0, 0, 1, 2, 3, 4, 5, 6, 0, 38,
+ 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 0, 0, 0, 19, 20, 21, 0, 22,
+ 23, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 24, 25, 0, 0, 0, 0, 0, 0, 26,
- 0, 0, 0, 0, 0, 0, 0, 85, 28, 29,
- 30, 31, 0, 86, 0, 33, 309, 0, 0, 0,
- 34, 35, 36, 37, 1, 2, 3, 4, 5, 0,
- 0, 0, 0, 8, 0, 0, 84, 0, 13, 14,
- 0, 16, 0, 0, 0, 0, 0, 19, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 27, 28, 29,
+ 30, 31, 0, 32, 0, 33, 0, 0, 0, 0,
+ 34, 35, 36, 37, 0, 0, 1, 2, 3, 4,
+ 5, 6, 0, 38, 7, 8, 9, 10, 84, 12,
+ 13, 14, 15, 16, 17, 18, 0, 0, 0, 19,
+ 20, 21, 0, 22, 23, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 24, 25, 0, 0, 0,
+ 0, 0, 0, 26, 0, 0, 0, 0, 0, 0,
+ 0, 27, 28, 29, 30, 31, 0, 32, 0, 33,
+ 0, 0, 0, 0, 34, 35, 36, 37, 0, 0,
+ 0, 0, 0, 0, 0, -126, 0, 38, -126, -126,
+ -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
+ -126, -126, -126, -126, -126, -126, -126, -126, -126, 0,
+ 0, -126, -126, -126, 0, -126, -126, 1, 2, 3,
+ 4, 5, 0, 0, 0, 0, 8, 185, 0, 84,
+ 0, 13, 14, 0, 16, 0, 0, 0, 0, 0,
+ 19, 0, 0, -126, -126, -126, 0, 0, 0, -126,
+ -126, 0, 0, 0, 0, 0, 24, 25, -126, -126,
+ 0, 0, 0, 0, 26, 0, 0, 0, 0, 0,
+ 0, 0, 85, 28, 29, 30, 31, 0, 86, 0,
+ 33, 0, 0, 0, 0, 34, 35, 36, 37, 1,
+ 2, 3, 4, 5, 0, 0, 0, 0, 8, 0,
+ 0, 84, 0, 13, 14, 0, 16, 0, 0, 0,
+ 0, 0, 19, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 24, 25,
+ 0, 0, 0, 0, 0, 0, 26, 0, 0, 0,
+ 0, 0, 0, 0, 85, 28, 29, 30, 31, 0,
+ 86, 0, 33, 227, 0, 0, 0, 34, 35, 36,
+ 37, 1, 2, 3, 4, 5, 0, 0, 0, 0,
+ 8, 0, 0, 84, 0, 13, 14, 0, 16, 0,
+ 0, 0, 0, 0, 19, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 24, 25, 0, 0, 0, 0, 0,
- 0, 26, 0, 0, 0, 0, 0, 0, 0, 85,
- 28, 29, 30, 31, 0, 86, 0, 33, 0, 0,
- 0, 0, 34, 35, 36, 37
+ 24, 25, 0, 0, 0, 0, 0, 0, 26, 0,
+ 0, 0, 0, 0, 0, 0, 85, 28, 29, 30,
+ 31, 230, 86, 0, 33, 0, 0, 0, 0, 34,
+ 35, 36, 37, 1, 2, 3, 4, 5, 0, 0,
+ 0, 0, 8, 0, 0, 84, 0, 13, 14, 0,
+ 16, 0, 0, 0, 0, 0, 19, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 24, 25, 0, 0, 0, 0, 0, 0,
+ 26, 0, 0, 0, 0, 0, 0, 0, 85, 28,
+ 29, 30, 31, 0, 86, 0, 33, 310, 0, 0,
+ 0, 34, 35, 36, 37, 1, 2, 3, 4, 5,
+ 0, 0, 0, 0, 8, 0, 0, 84, 0, 13,
+ 14, 0, 16, 0, 0, 0, 0, 0, 19, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 24, 25, 0, 0, 0, 0,
+ 0, 0, 26, 0, 0, 0, 0, 0, 0, 0,
+ 85, 28, 29, 30, 31, 0, 86, 0, 33, 0,
+ 0, 0, 0, 34, 35, 36, 37
};
static const short yycheck[] = { 17,
- 23, 0, 12, 78, 127, 1, 1, 1, 1, 44,
- 133, 1, 22, 13, 14, 265, 40, 1, 1, 19,
- 24, 31, 68, 68, 24, 25, 58, 58, 28, 29,
- 62, 154, 10, 62, 34, 35, 36, 37, 84, 84,
- 6, 7, 292, 64, 268, 62, 61, 69, 272, 124,
- 6, 7, 87, 13, 14, 178, 62, 180, 82, 19,
- 75, 76, 58, 58, 24, 25, 68, 317, 28, 29,
- 62, 194, 296, 83, 34, 35, 36, 37, 68, 83,
- 330, 58, 71, 72, 68, 68, 63, 65, 84, 84,
- 84, 84, 58, 103, 84, 105, 114, 107, 108, 222,
- 84, 84, 58, 62, 62, 24, 25, 66, 66, 65,
- 24, 70, 70, 3, 4, 5, 6, 7, 62, 38,
- 39, 63, 12, 83, 134, 15, 68, 137, 42, 43,
- 20, 42, 43, 47, 48, 49, 50, 51, 52, 53,
- 54, 55, 56, 57, 163, 164, 165, 166, 167, 168,
- 79, 34, 35, 36, 37, 155, 156, 157, 77, 78,
- 50, 284, 58, 286, 80, 63, 289, 63, 58, 83,
- 68, 61, 62, 81, 64, 63, 66, 63, 63, 63,
- 68, 63, 68, 68, 68, 308, 68, 65, 63, 63,
- 68, 41, 215, 68, 68, 155, 156, 157, 158, 159,
+ 23, 0, 12, 78, 127, 1, 1, 1, 1, 62,
+ 133, 1, 22, 13, 14, 266, 1, 44, 1, 19,
+ 1, 31, 24, 68, 24, 25, 61, 65, 28, 29,
+ 68, 154, 6, 7, 34, 35, 36, 37, 58, 84,
+ 75, 76, 293, 63, 269, 160, 161, 162, 273, 124,
+ 6, 7, 10, 13, 14, 178, 63, 180, 62, 19,
+ 87, 68, 58, 58, 24, 25, 58, 318, 28, 29,
+ 40, 194, 297, 83, 34, 35, 36, 37, 68, 68,
+ 331, 83, 58, 68, 58, 68, 62, 68, 84, 84,
+ 84, 84, 64, 103, 84, 105, 114, 107, 108, 84,
+ 223, 84, 58, 84, 69, 24, 25, 65, 62, 65,
+ 24, 62, 82, 3, 4, 5, 6, 7, 62, 38,
+ 39, 58, 12, 83, 134, 15, 63, 137, 42, 43,
+ 20, 71, 72, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, 57, 62, 62, 42, 43, 66, 66,
+ 32, 33, 70, 70, 79, 155, 156, 157, 77, 78,
+ 50, 63, 285, 62, 287, 63, 68, 290, 58, 83,
+ 68, 61, 62, 80, 64, 81, 66, 163, 164, 165,
+ 166, 167, 168, 63, 63, 63, 309, 63, 68, 68,
+ 68, 41, 68, 216, 83, 155, 156, 157, 158, 159,
160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
- 170, 171, 172, 173, 174, 175, 176, 177, 83, 63,
- 42, 43, 62, 298, 68, 47, 48, 49, 50, 51,
- 52, 53, 54, 55, 56, 57, 63, 63, 44, 45,
- 46, 68, 68, 169, 170, 171, 172, 160, 161, 162,
- 32, 33, 67, 68, 264, 265, 274, 22, 276, 62,
- 278, 83, 67, 68, 68, 275, 67, 68, 68, 69,
- 69, 270, 69, 69, 58, 58, 68, 158, 159, 58,
- 290, 33, 292, 64, 62, 62, 84, 58, 64, 69,
- 58, 24, 23, 84, 69, 9, 63, 84, 316, 63,
- 69, 63, 320, 326, 314, 65, 0, 317, 0, 8,
- 328, 221, 322, 225, 173, 8, 174, 177, 175, 345,
- 330, 176, 185, 341, 197, 343, 344, 345, 262, 337,
- 348, 201, -1, 351, 352, 1, 324, 3, 4, 5,
- 6, 7, -1, -1, 216, -1, 12, -1, -1, 15,
- -1, 17, 18, -1, 20, -1, -1, -1, -1, -1,
- 26, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 42, 43, -1, -1,
- -1, -1, -1, -1, 50, -1, -1, -1, -1, -1,
- -1, -1, 58, 59, 60, 61, 62, -1, 64, -1,
- 66, -1, -1, -1, -1, 71, 72, 73, 74, -1,
- -1, 3, 4, 5, 6, 7, 8, -1, 84, 11,
- 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- 22, -1, -1, -1, 26, 27, 28, -1, 30, 31,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 42, 43, -1, -1, -1, -1, -1, -1, 50, -1,
- -1, -1, -1, -1, -1, -1, 58, 59, 60, 61,
- 62, -1, 64, 65, 66, -1, -1, -1, -1, 71,
- 72, 73, 74, -1, -1, 3, 4, 5, 6, 7,
- 8, -1, 84, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, -1, -1, -1, 26, 27,
- 28, -1, 30, 31, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 42, 43, -1, -1, -1, -1,
- -1, -1, 50, -1, -1, -1, -1, -1, -1, -1,
- 58, 59, 60, 61, 62, -1, 64, 65, 66, -1,
- -1, -1, -1, 71, 72, 73, 74, -1, -1, 3,
- 4, 5, 6, 7, 8, -1, 84, 11, 12, 13,
- 14, 15, 16, 17, 18, 19, 20, 21, 22, -1,
- -1, -1, 26, 27, 28, -1, 30, 31, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 42, 43,
- -1, -1, -1, -1, -1, -1, 50, -1, -1, -1,
- -1, -1, -1, -1, 58, 59, 60, 61, 62, -1,
- 64, 65, 66, -1, -1, -1, -1, 71, 72, 73,
- 74, -1, -1, 3, 4, 5, 6, 7, 8, -1,
- 84, 11, 12, 13, 14, 15, 16, 17, 18, 19,
- 20, 21, 22, -1, -1, -1, 26, 27, 28, -1,
- 30, 31, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 42, 43, -1, -1, -1, -1, -1, -1,
- 50, -1, -1, -1, -1, -1, -1, -1, 58, 59,
- 60, 61, 62, -1, 64, 65, 66, -1, -1, -1,
- -1, 71, 72, 73, 74, -1, -1, 3, 4, 5,
- 6, 7, 8, -1, 84, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, -1, -1, -1,
- 26, 27, 28, -1, 30, 31, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 42, 43, -1, -1,
- -1, -1, -1, -1, 50, -1, -1, -1, -1, -1,
- -1, -1, 58, 59, 60, 61, 62, -1, 64, 65,
- 66, -1, -1, -1, -1, 71, 72, 73, 74, -1,
- -1, 3, 4, 5, 6, 7, 8, -1, 84, 11,
- 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
- 22, -1, -1, -1, 26, 27, 28, -1, 30, 31,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 42, 43, -1, -1, -1, -1, -1, -1, 50, -1,
- -1, -1, -1, -1, -1, -1, 58, 59, 60, 61,
- 62, -1, 64, -1, 66, -1, -1, -1, -1, 71,
- 72, 73, 74, -1, -1, 3, 4, 5, 6, 7,
- 8, -1, 84, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 22, -1, -1, -1, 26, 27,
- 28, -1, 30, 31, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 42, 43, -1, -1, -1, -1,
- -1, -1, 50, -1, -1, -1, -1, -1, -1, -1,
- 58, 59, 60, 61, 62, -1, 64, -1, 66, -1,
- -1, -1, -1, 71, 72, 73, 74, -1, -1, -1,
- -1, -1, -1, -1, 0, -1, 84, 3, 4, 5,
- 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, -1, -1,
- 26, 27, 28, -1, 30, 31, 3, 4, 5, 6,
- 7, -1, -1, -1, -1, 12, 13, -1, 15, -1,
- 17, 18, -1, 20, -1, -1, -1, -1, -1, 26,
- -1, -1, 58, 59, 60, -1, -1, -1, 64, 65,
- -1, -1, -1, -1, -1, 42, 43, 73, 74, -1,
- -1, -1, -1, 50, -1, -1, -1, -1, -1, -1,
- -1, 58, 59, 60, 61, 62, -1, 64, -1, 66,
- -1, -1, -1, -1, 71, 72, 73, 74, 3, 4,
+ 170, 171, 172, 173, 174, 175, 176, 177, 63, 22,
+ 63, 42, 43, 68, 299, 68, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, 57, 63, 63, 63,
+ 67, 68, 68, 68, 68, 34, 35, 36, 37, 169,
+ 170, 171, 172, 67, 68, 265, 266, 275, 62, 277,
+ 69, 279, 83, 44, 45, 46, 276, 67, 68, 68,
+ 69, 69, 271, 158, 159, 69, 68, 68, 58, 58,
+ 58, 291, 84, 293, 33, 69, 62, 64, 62, 58,
+ 58, 64, 24, 23, 69, 9, 84, 63, 84, 317,
+ 63, 63, 69, 321, 327, 315, 65, 0, 318, 0,
+ 226, 329, 222, 323, 8, 173, 8, 174, 177, 175,
+ 346, 331, 176, 185, 342, 197, 344, 345, 346, 263,
+ 338, 349, 201, 217, 352, 353, 1, 325, 3, 4,
5, 6, 7, -1, -1, -1, -1, 12, -1, -1,
15, -1, 17, 18, -1, 20, -1, -1, -1, -1,
-1, 26, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 42, 43, -1,
-1, -1, -1, -1, -1, 50, -1, -1, -1, -1,
-1, -1, -1, 58, 59, 60, 61, 62, -1, 64,
- -1, 66, 67, -1, -1, -1, 71, 72, 73, 74,
- 3, 4, 5, 6, 7, -1, -1, -1, -1, 12,
- -1, -1, 15, -1, 17, 18, -1, 20, -1, -1,
- -1, -1, -1, 26, -1, -1, -1, -1, -1, -1,
+ -1, 66, -1, -1, -1, -1, 71, 72, 73, 74,
+ -1, -1, 3, 4, 5, 6, 7, 8, -1, 84,
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, -1, -1, -1, 26, 27, 28, -1, 30,
+ 31, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 42, 43, -1, -1, -1, -1, -1, -1, 50,
+ -1, -1, -1, -1, -1, -1, -1, 58, 59, 60,
+ 61, 62, -1, 64, 65, 66, -1, -1, -1, -1,
+ 71, 72, 73, 74, -1, -1, 3, 4, 5, 6,
+ 7, 8, -1, 84, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, -1, -1, -1, 26,
+ 27, 28, -1, 30, 31, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 42, 43, -1, -1, -1,
+ -1, -1, -1, 50, -1, -1, -1, -1, -1, -1,
+ -1, 58, 59, 60, 61, 62, -1, 64, 65, 66,
+ -1, -1, -1, -1, 71, 72, 73, 74, -1, -1,
+ 3, 4, 5, 6, 7, 8, -1, 84, 11, 12,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ -1, -1, -1, 26, 27, 28, -1, 30, 31, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 42,
43, -1, -1, -1, -1, -1, -1, 50, -1, -1,
-1, -1, -1, -1, -1, 58, 59, 60, 61, 62,
- 63, 64, -1, 66, -1, -1, -1, -1, 71, 72,
- 73, 74, 3, 4, 5, 6, 7, -1, -1, -1,
- -1, 12, -1, -1, 15, -1, 17, 18, -1, 20,
- -1, -1, -1, -1, -1, 26, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 64, 65, 66, -1, -1, -1, -1, 71, 72,
+ 73, 74, -1, -1, 3, 4, 5, 6, 7, 8,
+ -1, 84, 11, 12, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, 22, -1, -1, -1, 26, 27, 28,
+ -1, 30, 31, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 42, 43, -1, -1, -1, -1, -1,
+ -1, 50, -1, -1, -1, -1, -1, -1, -1, 58,
+ 59, 60, 61, 62, -1, 64, 65, 66, -1, -1,
+ -1, -1, 71, 72, 73, 74, -1, -1, 3, 4,
+ 5, 6, 7, 8, -1, 84, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, -1, -1,
+ -1, 26, 27, 28, -1, 30, 31, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 42, 43, -1,
+ -1, -1, -1, -1, -1, 50, -1, -1, -1, -1,
+ -1, -1, -1, 58, 59, 60, 61, 62, -1, 64,
+ 65, 66, -1, -1, -1, -1, 71, 72, 73, 74,
+ -1, -1, 3, 4, 5, 6, 7, 8, -1, 84,
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, -1, -1, -1, 26, 27, 28, -1, 30,
+ 31, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 42, 43, -1, -1, -1, -1, -1, -1, 50,
-1, -1, -1, -1, -1, -1, -1, 58, 59, 60,
- 61, 62, -1, 64, -1, 66, 67, -1, -1, -1,
- 71, 72, 73, 74, 3, 4, 5, 6, 7, -1,
- -1, -1, -1, 12, -1, -1, 15, -1, 17, 18,
- -1, 20, -1, -1, -1, -1, -1, 26, -1, -1,
+ 61, 62, -1, 64, -1, 66, -1, -1, -1, -1,
+ 71, 72, 73, 74, -1, -1, 3, 4, 5, 6,
+ 7, 8, -1, 84, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, -1, -1, -1, 26,
+ 27, 28, -1, 30, 31, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 42, 43, -1, -1, -1,
+ -1, -1, -1, 50, -1, -1, -1, -1, -1, -1,
+ -1, 58, 59, 60, 61, 62, -1, 64, -1, 66,
+ -1, -1, -1, -1, 71, 72, 73, 74, -1, -1,
+ -1, -1, -1, -1, -1, 0, -1, 84, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, -1,
+ -1, 26, 27, 28, -1, 30, 31, 3, 4, 5,
+ 6, 7, -1, -1, -1, -1, 12, 13, -1, 15,
+ -1, 17, 18, -1, 20, -1, -1, -1, -1, -1,
+ 26, -1, -1, 58, 59, 60, -1, -1, -1, 64,
+ 65, -1, -1, -1, -1, -1, 42, 43, 73, 74,
+ -1, -1, -1, -1, 50, -1, -1, -1, -1, -1,
+ -1, -1, 58, 59, 60, 61, 62, -1, 64, -1,
+ 66, -1, -1, -1, -1, 71, 72, 73, 74, 3,
+ 4, 5, 6, 7, -1, -1, -1, -1, 12, -1,
+ -1, 15, -1, 17, 18, -1, 20, -1, -1, -1,
+ -1, -1, 26, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 42, 43,
+ -1, -1, -1, -1, -1, -1, 50, -1, -1, -1,
+ -1, -1, -1, -1, 58, 59, 60, 61, 62, -1,
+ 64, -1, 66, 67, -1, -1, -1, 71, 72, 73,
+ 74, 3, 4, 5, 6, 7, -1, -1, -1, -1,
+ 12, -1, -1, 15, -1, 17, 18, -1, 20, -1,
+ -1, -1, -1, -1, 26, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 42, 43, -1, -1, -1, -1, -1,
- -1, 50, -1, -1, -1, -1, -1, -1, -1, 58,
- 59, 60, 61, 62, -1, 64, -1, 66, -1, -1,
- -1, -1, 71, 72, 73, 74
+ 42, 43, -1, -1, -1, -1, -1, -1, 50, -1,
+ -1, -1, -1, -1, -1, -1, 58, 59, 60, 61,
+ 62, 63, 64, -1, 66, -1, -1, -1, -1, 71,
+ 72, 73, 74, 3, 4, 5, 6, 7, -1, -1,
+ -1, -1, 12, -1, -1, 15, -1, 17, 18, -1,
+ 20, -1, -1, -1, -1, -1, 26, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 42, 43, -1, -1, -1, -1, -1, -1,
+ 50, -1, -1, -1, -1, -1, -1, -1, 58, 59,
+ 60, 61, 62, -1, 64, -1, 66, 67, -1, -1,
+ -1, 71, 72, 73, 74, 3, 4, 5, 6, 7,
+ -1, -1, -1, -1, 12, -1, -1, 15, -1, 17,
+ 18, -1, 20, -1, -1, -1, -1, -1, 26, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 42, 43, -1, -1, -1, -1,
+ -1, -1, 50, -1, -1, -1, -1, -1, -1, -1,
+ 58, 59, 60, 61, 62, -1, 64, -1, 66, -1,
+ -1, -1, -1, 71, 72, 73, 74
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
#line 3 "/usr/share/bison.simple"
@@ -1808,7 +1808,7 @@
case 152:
#line 488 "grammar.y"
{ if (automatic()) {
- yyval.stat = new ContinueNode(); DBG(yyval.stat,yylsp[-1],yylsp[0]);
+ yyval.stat = new ContinueNode(); DBG(yyval.stat,yylsp[-1],yylsp[-1]);
} else
YYABORT; ;
break;}
@@ -1859,13 +1859,13 @@
break;}
case 161:
#line 519 "grammar.y"
-{ yyval.stat = new ReturnNode(yyvsp[-1].node); ;
+{ yyval.stat = new ReturnNode(yyvsp[-1].node); DBG(yyval.stat,yylsp[-2],yylsp[0]); ;
break;}
case 162:
#line 520 "grammar.y"
-{ if (automatic())
- yyval.stat = new ReturnNode(yyvsp[-1].node);
- else
+{ if (automatic()) {
+ yyval.stat = new ReturnNode(yyvsp[-1].node); DBG(yyval.stat,yylsp[-2],yylsp[-1]);
+ } else
YYABORT; ;
break;}
case 163:
@@ -1921,86 +1921,90 @@
break;}
case 176:
#line 568 "grammar.y"
-{ yyval.stat = new ThrowNode(yyvsp[-1].node); ;
+{ yyval.stat = new ThrowNode(yyvsp[-1].node); DBG(yyval.stat,yylsp[-2],yylsp[0]); ;
break;}
case 177:
-#line 572 "grammar.y"
-{ yyval.stat = new TryNode(yyvsp[-1].stat, yyvsp[0].cnode); ;
+#line 569 "grammar.y"
+{ if (automatic()) { yyval.stat = new ThrowNode(yyvsp[-1].node); DBG(yyval.stat,yylsp[-2],yylsp[-1]); } else YYABORT; ;
break;}
case 178:
#line 573 "grammar.y"
-{ yyval.stat = new TryNode(yyvsp[-1].stat, yyvsp[0].fnode); ;
+{ yyval.stat = new TryNode(yyvsp[-1].stat, yyvsp[0].cnode); DBG(yyval.stat,yylsp[-2],yylsp[-1]); ;
break;}
case 179:
#line 574 "grammar.y"
-{ yyval.stat = new TryNode(yyvsp[-2].stat, yyvsp[-1].cnode, yyvsp[0].fnode); ;
+{ yyval.stat = new TryNode(yyvsp[-1].stat, yyvsp[0].fnode); DBG(yyval.stat,yylsp[-2],yylsp[-1]); ;
break;}
case 180:
-#line 578 "grammar.y"
-{ yyval.cnode = new CatchNode(*yyvsp[-2].ident, yyvsp[0].stat); ;
+#line 575 "grammar.y"
+{ yyval.stat = new TryNode(yyvsp[-2].stat, yyvsp[-1].cnode, yyvsp[0].fnode); DBG(yyval.stat,yylsp[-3],yylsp[-2]); ;
break;}
case 181:
-#line 582 "grammar.y"
-{ yyval.fnode = new FinallyNode(yyvsp[0].stat); ;
+#line 579 "grammar.y"
+{ yyval.cnode = new CatchNode(*yyvsp[-2].ident, yyvsp[0].stat); ;
break;}
case 182:
-#line 586 "grammar.y"
-{ yyval.func = new FuncDeclNode(*yyvsp[-3].ident, yyvsp[0].body); ;
+#line 583 "grammar.y"
+{ yyval.fnode = new FinallyNode(yyvsp[0].stat); ;
break;}
case 183:
-#line 588 "grammar.y"
-{ yyval.func = new FuncDeclNode(*yyvsp[-4].ident, yyvsp[-2].param, yyvsp[0].body); ;
+#line 587 "grammar.y"
+{ yyval.func = new FuncDeclNode(*yyvsp[-3].ident, yyvsp[0].body); ;
break;}
case 184:
-#line 591 "grammar.y"
-{ yyval.node = new FuncExprNode(yyvsp[0].body); ;
+#line 589 "grammar.y"
+{ yyval.func = new FuncDeclNode(*yyvsp[-4].ident, yyvsp[-2].param, yyvsp[0].body); ;
break;}
case 185:
-#line 593 "grammar.y"
-{ yyval.node = new FuncExprNode(yyvsp[-2].param, yyvsp[0].body); ;
+#line 592 "grammar.y"
+{ yyval.node = new FuncExprNode(yyvsp[0].body); ;
break;}
case 186:
-#line 598 "grammar.y"
-{ yyval.param = new ParameterNode(*yyvsp[0].ident); ;
+#line 594 "grammar.y"
+{ yyval.node = new FuncExprNode(yyvsp[-2].param, yyvsp[0].body); ;
break;}
case 187:
#line 599 "grammar.y"
-{ yyval.param = new ParameterNode(yyvsp[-2].param, *yyvsp[0].ident); ;
+{ yyval.param = new ParameterNode(*yyvsp[0].ident); ;
break;}
case 188:
-#line 603 "grammar.y"
+#line 600 "grammar.y"
+{ yyval.param = new ParameterNode(yyvsp[-2].param, *yyvsp[0].ident); ;
+ break;}
+case 189:
+#line 604 "grammar.y"
{ yyval.body = new FunctionBodyNode(0);
DBG(yyval.body, yylsp[-1], yylsp[0]);;
break;}
-case 189:
-#line 605 "grammar.y"
+case 190:
+#line 606 "grammar.y"
{ yyval.body = new FunctionBodyNode(yyvsp[-1].srcs);
DBG(yyval.body, yylsp[-2], yylsp[0]);;
break;}
-case 190:
-#line 610 "grammar.y"
+case 191:
+#line 611 "grammar.y"
{ yyval.prog = new ProgramNode(0);
Parser::progNode = yyval.prog; ;
break;}
-case 191:
-#line 612 "grammar.y"
+case 192:
+#line 613 "grammar.y"
{ yyval.prog = new ProgramNode(yyvsp[0].srcs);
Parser::progNode = yyval.prog; ;
break;}
-case 192:
-#line 617 "grammar.y"
-{ yyval.srcs = new SourceElementsNode(yyvsp[0].stat); ;
- break;}
case 193:
#line 618 "grammar.y"
-{ yyval.srcs = new SourceElementsNode(yyvsp[-1].srcs, yyvsp[0].stat); ;
+{ yyval.srcs = new SourceElementsNode(yyvsp[0].stat); ;
break;}
case 194:
-#line 622 "grammar.y"
-{ yyval.stat = yyvsp[0].stat; ;
+#line 619 "grammar.y"
+{ yyval.srcs = new SourceElementsNode(yyvsp[-1].srcs, yyvsp[0].stat); ;
break;}
case 195:
#line 623 "grammar.y"
+{ yyval.stat = yyvsp[0].stat; ;
+ break;}
+case 196:
+#line 624 "grammar.y"
{ yyval.stat = yyvsp[0].func; ;
break;}
}
@@ -2225,7 +2229,7 @@
}
return 1;
}
-#line 626 "grammar.y"
+#line 627 "grammar.y"
int yyerror (const char * /* s */) /* Called by yyparse on error */
1.17.22.1 +10 -9 JavaScriptCore/kjs/grammar.y
Index: grammar.y
===================================================================
RCS file: /cvs/root/JavaScriptCore/kjs/grammar.y,v
retrieving revision 1.17
retrieving revision 1.17.22.1
diff -u -r1.17 -r1.17.22.1
--- grammar.y 18 Nov 2003 05:30:37 -0000 1.17
+++ grammar.y 2 Aug 2005 20:39:11 -0000 1.17.22.1
@@ -486,7 +486,7 @@
ContinueStatement:
CONTINUE ';' { $$ = new ContinueNode(); DBG($$, at 1, at 2); }
| CONTINUE error { if (automatic()) {
- $$ = new ContinueNode(); DBG($$, at 1, at 2);
+ $$ = new ContinueNode(); DBG($$, at 1, at 1);
} else
YYABORT; }
| CONTINUE IDENT ';' { $$ = new ContinueNode(*$2); DBG($$, at 1, at 3); }
@@ -516,10 +516,10 @@
$$ = new ReturnNode(0); DBG($$, at 1, at 1);
} else
YYABORT; }
- | RETURN Expr ';' { $$ = new ReturnNode($2); }
- | RETURN Expr error { if (automatic())
- $$ = new ReturnNode($2);
- else
+ | RETURN Expr ';' { $$ = new ReturnNode($2); DBG($$, at 1, at 3); }
+ | RETURN Expr error { if (automatic()) {
+ $$ = new ReturnNode($2); DBG($$, at 1, at 2);
+ } else
YYABORT; }
;
@@ -565,13 +565,14 @@
;
ThrowStatement:
- THROW Expr ';' { $$ = new ThrowNode($2); }
+ THROW Expr ';' { $$ = new ThrowNode($2); DBG($$, at 1, at 3); }
+ | THROW Expr error { if (automatic()) { $$ = new ThrowNode($2); DBG($$, at 1, at 2); } else YYABORT; }
;
TryStatement:
- TRY Block Catch { $$ = new TryNode($2, $3); }
- | TRY Block Finally { $$ = new TryNode($2, $3); }
- | TRY Block Catch Finally { $$ = new TryNode($2, $3, $4); }
+ TRY Block Catch { $$ = new TryNode($2, $3); DBG($$, at 1, at 2); }
+ | TRY Block Finally { $$ = new TryNode($2, $3); DBG($$, at 1, at 2); }
+ | TRY Block Catch Finally { $$ = new TryNode($2, $3, $4); DBG($$, at 1, at 2); }
;
Catch:
1.53.10.3 +2 -9 JavaScriptCore/kjs/internal.cpp
Index: internal.cpp
===================================================================
RCS file: /cvs/root/JavaScriptCore/kjs/internal.cpp,v
retrieving revision 1.53.10.2
retrieving revision 1.53.10.3
diff -u -r1.53.10.2 -r1.53.10.3
--- internal.cpp 22 Jul 2005 03:09:32 -0000 1.53.10.2
+++ internal.cpp 2 Aug 2005 20:39:11 -0000 1.53.10.3
@@ -460,7 +460,7 @@
Lexer::curr()->doneParsing();
ProgramNode *prog = progNode;
progNode = 0;
- sid = -1;
+// sid = -1;
if (parseError || lexError) {
int eline = Lexer::curr()->lineNo();
@@ -804,7 +804,7 @@
// notify debugger that source has been parsed
if (dbg) {
- bool cont = dbg->sourceParsed(globExec,sid,code,errLine);
+ bool cont = dbg->sourceParsed(globExec,sid,sourceURL,code,errLine);
if (!cont)
#if APPLE_CHANGES
{
@@ -867,13 +867,6 @@
return res;
}
-void InterpreterImp::setDebugger(Debugger *d)
-{
- if (d)
- d->detach(m_interpreter);
- dbg = d;
-}
-
void InterpreterImp::saveBuiltins (SavedBuiltins &builtins) const
{
if (!builtins._internal) {
1.25.10.2 +1 -1 JavaScriptCore/kjs/internal.h
Index: internal.h
===================================================================
RCS file: /cvs/root/JavaScriptCore/kjs/internal.h,v
retrieving revision 1.25.10.1
retrieving revision 1.25.10.2
diff -u -r1.25.10.1 -r1.25.10.2
--- internal.h 22 Jul 2005 03:09:32 -0000 1.25.10.1
+++ internal.h 2 Aug 2005 20:39:11 -0000 1.25.10.2
@@ -274,7 +274,7 @@
bool checkSyntax(const UString &code);
Completion evaluate(const UString &code, const Value &thisV, const UString &sourceURL, int startingLineNumber);
Debugger *debugger() const { return dbg; }
- void setDebugger(Debugger *d);
+ void setDebugger(Debugger *d) { dbg = d; }
Object builtinObject() const { return b_Object; }
Object builtinFunction() const { return b_Function; }
1.24.8.1 +0 -5 JavaScriptCore/kjs/interpreter.cpp
Index: interpreter.cpp
===================================================================
RCS file: /cvs/root/JavaScriptCore/kjs/interpreter.cpp,v
retrieving revision 1.24
retrieving revision 1.24.8.1
diff -u -r1.24 -r1.24.8.1
--- interpreter.cpp 12 Feb 2005 00:58:13 -0000 1.24
+++ interpreter.cpp 2 Aug 2005 20:39:11 -0000 1.24.8.1
@@ -140,11 +140,6 @@
return comp;
}
-InterpreterImp *Interpreter::imp()
-{
- return rep;
-}
-
Object Interpreter::builtinObject() const
{
return rep->builtinObject();
1.22.8.1 +1 -1 JavaScriptCore/kjs/interpreter.h
Index: interpreter.h
===================================================================
RCS file: /cvs/root/JavaScriptCore/kjs/interpreter.h,v
retrieving revision 1.22
retrieving revision 1.22.8.1
diff -u -r1.22 -r1.22.8.1
--- interpreter.h 12 Feb 2005 00:58:13 -0000 1.22
+++ interpreter.h 2 Aug 2005 20:39:11 -0000 1.22.8.1
@@ -215,7 +215,7 @@
* Returns the implementation object associated with this interpreter.
* Only useful for internal KJS operations.
*/
- InterpreterImp *imp();
+ InterpreterImp *imp() const { return rep; }
/**
* Returns the builtin "Object" object. This is the object that was set
1.52.12.3 +3 -12 JavaScriptCore/kjs/nodes.cpp
Index: nodes.cpp
===================================================================
RCS file: /cvs/root/JavaScriptCore/kjs/nodes.cpp,v
retrieving revision 1.52.12.2
retrieving revision 1.52.12.3
diff -u -r1.52.12.2 -r1.52.12.3
--- nodes.cpp 22 Jul 2005 03:09:33 -0000 1.52.12.2
+++ nodes.cpp 2 Aug 2005 20:39:12 -0000 1.52.12.3
@@ -47,25 +47,16 @@
using namespace KJS;
-// Disabled for now because it shows up on benchmark (0.5%).
-#if DEBUGGER_SUPPORT
-
#define KJS_BREAKPOINT \
- if (!hitStatement(exec)) \
+ if (Debugger::debuggersPresent > 0 && !hitStatement(exec)) \
return Completion(Normal);
#define KJS_ABORTPOINT \
- if (exec->dynamicInterpreter()->imp()->debugger() && \
+ if (Debugger::debuggersPresent > 0 && \
+ exec->dynamicInterpreter()->imp()->debugger() && \
exec->dynamicInterpreter()->imp()->debugger()->imp()->aborted()) \
return Completion(Normal);
-#else
-
-#define KJS_BREAKPOINT
-#define KJS_ABORTPOINT
-
-#endif
-
#define KJS_CHECKEXCEPTION \
if (exec->hadException()) \
return Completion(Throw, exec->exception()); \
More information about the webkit-changes
mailing list