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