comparison core/src/luan/impl/LuanParser.java @ 193:66ed8886abc0

parsing change to allow indexing of literals without parens git-svn-id: https://luan-java.googlecode.com/svn/trunk@194 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Wed, 02 Jul 2014 03:27:35 +0000
parents 2456ef7ada02
children 24ede40ee0aa
comparison
equal deleted inserted replaced
192:f2c6c22cddc0 193:66ed8886abc0
761 parser.begin(); 761 parser.begin();
762 Expressions exp; 762 Expressions exp;
763 exp = FunctionExpr(in); 763 exp = FunctionExpr(in);
764 if( exp != null ) 764 if( exp != null )
765 return parser.success(exp); 765 return parser.success(exp);
766 /*
766 exp = TableExpr(in); 767 exp = TableExpr(in);
767 if( exp != null ) 768 if( exp != null )
768 return parser.success(exp); 769 return parser.success(exp);
770 */
769 exp = VarExp(in); 771 exp = VarExp(in);
770 if( exp != null ) 772 if( exp != null )
771 return parser.success(exp); 773 return parser.success(exp);
774 /*
772 exp = Literal(in); 775 exp = Literal(in);
773 if( exp != null ) 776 if( exp != null )
774 return parser.success(exp); 777 return parser.success(exp);
778 */
775 return parser.failure(null); 779 return parser.failure(null);
776 } 780 }
777 781
778 private Expr FunctionExpr(In in) throws ParseException { 782 private Expr FunctionExpr(In in) throws ParseException {
779 if( !Keyword("function",in) ) 783 if( !Keyword("function",in) )
929 return parser.success(exprVar(exp)); 933 return parser.success(exprVar(exp));
930 } 934 }
931 String name = Name(in); 935 String name = Name(in);
932 if( name != null ) 936 if( name != null )
933 return parser.success(nameVar(start,name)); 937 return parser.success(nameVar(start,name));
938 Expressions exp;
939 exp = TableExpr(in);
940 if( exp != null )
941 return parser.success(exprVar(exp));
942 exp = Literal(in);
943 if( exp != null )
944 return parser.success(exprVar(exp));
934 return parser.failure(null); 945 return parser.failure(null);
935 } 946 }
936 947
937 private Expr env() { 948 private Expr env() {
938 int index = stackIndex(_ENV); 949 int index = stackIndex(_ENV);