comparison src/luan/interp/LuanParser.java @ 153:fa03671f59a0

replace ExpressionsStmt with FnCallStmt git-svn-id: https://luan-java.googlecode.com/svn/trunk@154 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Tue, 17 Jun 2014 02:57:14 +0000
parents c9100f29fae0
children c2e5101682ae
comparison
equal deleted inserted replaced
152:a9391f914aba 153:fa03671f59a0
247 || (stmt=WhileStmt()) != null 247 || (stmt=WhileStmt()) != null
248 || (stmt=FunctionStmt()) != null 248 || (stmt=FunctionStmt()) != null
249 || (stmt=RepeatStmt()) != null 249 || (stmt=RepeatStmt()) != null
250 || (stmt=IfStmt()) != null 250 || (stmt=IfStmt()) != null
251 || (stmt=SetStmt()) != null 251 || (stmt=SetStmt()) != null
252 || (stmt=ExpressionsStmt()) != null 252 || (stmt=FnCallStmt()) != null
253 ) { 253 ) {
254 stmts.add(stmt); 254 stmts.add(stmt);
255 } 255 }
256 } 256 }
257 257
521 if( values==null ) 521 if( values==null )
522 throw parser.exception("Expressions expected"); 522 throw parser.exception("Expressions expected");
523 return parser.success( new SetStmt( vars.toArray(new Settable[0]), values ) ); 523 return parser.success( new SetStmt( vars.toArray(new Settable[0]), values ) );
524 } 524 }
525 525
526 private Stmt ExpressionsStmt() throws ParseException { 526 private Stmt FnCallStmt() throws ParseException {
527 parser.begin(); 527 parser.begin();
528 Expressions exprs = ExpList(In.NOTHING); 528 Code code = VarExp(In.NOTHING);
529 if( exprs==null ) 529 if( !(code instanceof FnCall) )
530 return parser.failure(null); 530 return parser.failure(null);
531 return parser.success( new ExpressionsStmt(exprs) ); 531 FnCall fnCall = (FnCall)code;
532 return parser.success( new FnCallStmt(fnCall) );
532 } 533 }
533 534
534 private Settable SettableVar() throws ParseException { 535 private Settable SettableVar() throws ParseException {
535 int start = parser.begin(); 536 int start = parser.begin();
536 Var var = VarZ(In.NOTHING); 537 Var var = VarZ(In.NOTHING);