Revision: 17788
Author:   [email protected]
Date:     Fri Nov 15 12:23:19 2013 UTC
Log:      Experimental lexer generator: comment fixes.

[email protected]
BUG=

Review URL: https://codereview.chromium.org/63363004
http://code.google.com/p/v8/source/detail?r=17788

Modified:
 /branches/experimental/parser/src/lexer/lexer_py.re
 /branches/experimental/parser/tools/lexer_generator/code_generator.py

=======================================
--- /branches/experimental/parser/src/lexer/lexer_py.re Fri Nov 15 12:04:53 2013 UTC +++ /branches/experimental/parser/src/lexer/lexer_py.re Fri Nov 15 12:23:19 2013 UTC
@@ -65,7 +65,7 @@
 "/*"          <||MultiLineComment>
 "<!--"        <||HtmlComment>

-whitespace? "-->" <{
+"-->" <{
   if (!just_seen_line_terminator_) {
     PUSH_TOKEN(Token::DEC);
     start_ = cursor_ - 1;
@@ -206,6 +206,7 @@

 <<SingleLineComment>>
 line_terminator  <|push_line_terminator|>
+eof <|skip_and_terminate|>
 catch_all <||continue>

 <<MultiLineComment>>
=======================================
--- /branches/experimental/parser/tools/lexer_generator/code_generator.py Fri Nov 15 11:50:36 2013 UTC +++ /branches/experimental/parser/tools/lexer_generator/code_generator.py Fri Nov 15 12:23:19 2013 UTC
@@ -64,7 +64,7 @@
   @staticmethod
   def __skip_code(value):
     assert value == None
-    return 'SKIP(); goto code_start;'
+    return 'SKIP();'

   @staticmethod
   def __push_line_terminator_code(value):
@@ -81,6 +81,10 @@
     assert value != None
     return '%s\n' % value

+  @staticmethod
+  def __skip_and_terminate_code(value):
+    return 'SKIP(); --start_; ' + CodeGenerator.__terminate_code(value)
+
   def __init__(self, dfa, default_action):
     self.__dfa = dfa
     self.__start_node_number = dfa.start_state().node_number()
@@ -93,6 +97,7 @@
       "push_line_terminator" : self.__push_line_terminator_code,
       "skip" : self.__skip_code,
       "code" : self.__code_code,
+      "skip_and_terminate" : self.__skip_and_terminate_code,
     }

   def __dfa_state_to_code(self, state):
@@ -156,7 +161,7 @@
     action = default_action.match_action()
     default_action_code = self.__action_code_map[action[0]](action[1])
     code += '''
-  CHECK(false);
+  CHECK(false); goto code_start;
 default_action:
   //fprintf(stderr, "default action\\n");
   %s

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to