diff src/luan/interp/LuanParser.java @ 49:8ede219cd111

add WebShell git-svn-id: https://luan-java.googlecode.com/svn/trunk@50 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Fri, 28 Dec 2012 19:35:04 +0000
parents 64ecb7a3aad7
children 28dfd91a816c
line wrap: on
line diff
--- a/src/luan/interp/LuanParser.java	Fri Dec 28 03:29:12 2012 +0000
+++ b/src/luan/interp/LuanParser.java	Fri Dec 28 19:35:04 2012 +0000
@@ -158,16 +158,20 @@
 		Var<Integer> start = new Var<Integer>();
 		return Sequence(
 			Spaces(),
+			start.set(currentIndex()),
 			FirstOf(
-				Sequence( ExpList(), EOI ),
 				Sequence(
-					start.set(currentIndex()),
+					ExpList(),
+					EOI,
+					push( new ReturnStmt( se(start.get()), (Expressions)pop() ) )
+				),
+				Sequence(
 					action( frame.isVarArg = true ),
 					Block(),
-					EOI,
-					push( newChunk(start.get()) )
+					EOI
 				)
-			)
+			),
+			push( newChunk(start.get()) )
 		);
 	}