Mercurial Hosting > luan
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); |