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