JS lex error
Harri Porten
porten at froglogic.com
Mon Nov 17 01:51:12 CET 2003
Lexical errors where not propagated to be parse errors. Fixed by the
attached patch.
Harri.
-------------- next part --------------
? IDEA
? array_object.cpp.new
? diff.txt
? diff2.txt
? lex.diff
? lexer.diff
? out.txt
? regex.diff
? stage1.diff
? string_object.cpp.new
? ustring.cpp.exp
? ustring.h.exp
Index: ChangeLog
===================================================================
RCS file: /home/kde/kdelibs/kjs/ChangeLog,v
retrieving revision 1.28
diff -u -3 -p -r1.28 ChangeLog
--- ChangeLog 17 Nov 2003 00:42:15 -0000 1.28
+++ ChangeLog 17 Nov 2003 00:47:50 -0000
@@ -1,5 +1,9 @@
2003-11-17 Harri Porten <harri at froglogic.com>
+ * internal.cpp (evaluate): lexical error means parse error
+
+ * lexer.cpp: removed stderr debug output
+
* object.h: renamed virtual get(), put(), hasProperty() and
deleteProperty() overloads accepting an int property to
getPropertyByIndex() etc. Not only cleaner C++ that makes
Index: internal.cpp
===================================================================
RCS file: /home/kde/kdelibs/kjs/internal.cpp,v
retrieving revision 1.169
diff -u -3 -p -r1.169 internal.cpp
--- internal.cpp 6 Nov 2003 21:10:15 -0000 1.169
+++ internal.cpp 17 Nov 2003 00:47:50 -0000
@@ -482,6 +482,8 @@ FunctionBodyNode *Parser::parse(const UC
//extern int kjsyydebug;
//kjsyydebug=1;
int parseError = kjsyyparse();
+ if (Lexer::curr()->hadError())
+ parseError = 1;
Lexer::curr()->doneParsing();
FunctionBodyNode *prog = progNode;
progNode = 0;
Index: lexer.cpp
===================================================================
RCS file: /home/kde/kdelibs/kjs/lexer.cpp,v
retrieving revision 1.59
diff -u -3 -p -r1.59 lexer.cpp
--- lexer.cpp 7 Nov 2003 09:48:43 -0000 1.59
+++ lexer.cpp 17 Nov 2003 00:47:50 -0000
@@ -559,7 +559,6 @@ int Lexer::lex()
break;
case Bad:
foundBad = true;
- fprintf(stderr, "KJS: yylex: ERROR.\n");
return -1;
default:
assert(!"unhandled numeration value in switch");
More information about the Khtml-devel
mailing list