[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