[svn] r5816: nemerle/trunk/ncc/parsing: MainParser.n PreParser.n

nazgul svnadmin at nemerle.org
Thu Oct 13 19:14:55 CEST 2005


Log:
Make ParseExpr return raw expression instead of sequence if it is single one

Author: nazgul
Date: Thu Oct 13 19:14:51 2005
New Revision: 5816

Modified:
   nemerle/trunk/ncc/parsing/MainParser.n
   nemerle/trunk/ncc/parsing/PreParser.n

Modified: nemerle/trunk/ncc/parsing/MainParser.n
==============================================================================
--- nemerle/trunk/ncc/parsing/MainParser.n	(original)
+++ nemerle/trunk/ncc/parsing/MainParser.n	Thu Oct 13 19:14:51 2005
@@ -126,8 +126,11 @@
       def preparser = PreParser (lexer);
       def tokens = preparser.PreParse ();      
       def parser = MainParser (env);
+      if (tokens.Child.Next == null)
+        parser.push_stream ((tokens.Child :> Token.LooseGroup).Child);
+      else
       parser.push_stream (tokens);
-      parser.parse_embedded_expr (TokenStoppers.None);
+      parser.parse_expr (TokenStoppers.None);
     }
     
     /** Parse well formed source code of toplevel program, using the given instance

Modified: nemerle/trunk/ncc/parsing/PreParser.n
==============================================================================
--- nemerle/trunk/ncc/parsing/PreParser.n	(original)
+++ nemerle/trunk/ncc/parsing/PreParser.n	Thu Oct 13 19:14:51 2005
@@ -443,7 +443,7 @@
       Token.BracesGroup (stream)
     }
     
-    public PreParse () : Token {
+    public PreParse () : Token.BracesGroup {
       def top = parse_brace_group (Location.Default);
       unless (finished) Message.Error (lexer.Location, "expected end of file, encountered closing brace");
       top



More information about the svn mailing list