comparison core/src/luan/impl/LuanParser.java @ 449:e89bf64a0d05

fix parse error
author Franklin Schmidt <fschmidt@gmail.com>
date Mon, 04 May 2015 20:36:30 -0600
parents 85bf9f0379aa
children b48cfa14ba60
comparison
equal deleted inserted replaced
448:8b2db645b9b2 449:e89bf64a0d05
533 parser.begin(); 533 parser.begin();
534 return parser.success(required(ExprZ(in),"Bad expression")); 534 return parser.success(required(ExprZ(in),"Bad expression"));
535 } 535 }
536 536
537 private Expressions ExprZ(In in) throws ParseException { 537 private Expressions ExprZ(In in) throws ParseException {
538 parser.begin(); 538 return OrExpr(in);
539 Expressions exp;
540 return (exp = VarArgs(in)) != null
541 || (exp = OrExpr(in)) != null
542 ? parser.success(exp)
543 : parser.failure((Expressions)null)
544 ;
545 } 539 }
546 540
547 private Expressions OrExpr(In in) throws ParseException { 541 private Expressions OrExpr(In in) throws ParseException {
548 int start = parser.begin(); 542 int start = parser.begin();
549 Expressions exp = AndExpr(in); 543 Expressions exp = AndExpr(in);
711 parser.begin(); 705 parser.begin();
712 Expressions exp; 706 Expressions exp;
713 exp = FunctionExpr(in); 707 exp = FunctionExpr(in);
714 if( exp != null ) 708 if( exp != null )
715 return parser.success(exp); 709 return parser.success(exp);
716 /*
717 exp = TableExpr(in);
718 if( exp != null )
719 return parser.success(exp);
720 */
721 exp = VarExp(in); 710 exp = VarExp(in);
722 if( exp != null ) 711 if( exp != null )
723 return parser.success(exp); 712 return parser.success(exp);
724 /* 713 exp = VarArgs(in);
725 exp = Literal(in);
726 if( exp != null ) 714 if( exp != null )
727 return parser.success(exp); 715 return parser.success(exp);
728 */
729 return parser.failure(null); 716 return parser.failure(null);
730 } 717 }
731 718
732 private Expr FunctionExpr(In in) throws ParseException { 719 private Expr FunctionExpr(In in) throws ParseException {
733 if( !Keyword("function",in) ) 720 if( !Keyword("function",in) )