comparison core/src/luan/impl/LuanParser.java @ 190:04b86428dc50

minor git-svn-id: https://luan-java.googlecode.com/svn/trunk@191 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Thu, 26 Jun 2014 18:20:54 +0000
parents cf939124461a
children 2456ef7ada02
comparison
equal deleted inserted replaced
189:fb3993431f76 190:04b86428dc50
109 void addVar(String name,Object value) { 109 void addVar(String name,Object value) {
110 frame.addUpValueGetter(name,new UpValue.ValueGetter(value)); 110 frame.addUpValueGetter(name,new UpValue.ValueGetter(value));
111 } 111 }
112 112
113 private LuanSource.Element se(int start) { 113 private LuanSource.Element se(int start) {
114 return new LuanSource.Element(source,start,parser.currentIndex()); 114 return se(start,null);
115 }
116
117 private LuanSource.Element se(int start,String text) {
118 return new LuanSource.Element(source,start,parser.currentIndex(),text);
115 } 119 }
116 120
117 private List<String> symbols() { 121 private List<String> symbols() {
118 return frame.symbols; 122 return frame.symbols;
119 } 123 }
266 int start = parser.currentIndex(); 270 int start = parser.currentIndex();
267 Expressions exp = TemplateExpressions(In.NOTHING); 271 Expressions exp = TemplateExpressions(In.NOTHING);
268 if( exp == null ) 272 if( exp == null )
269 return null; 273 return null;
270 Expr fnExp = (Expr)nameVar(start,"Io").expr(); 274 Expr fnExp = (Expr)nameVar(start,"Io").expr();
271 fnExp = new IndexExpr( se(start), fnExp, new ConstExpr("stdout") ); 275 fnExp = new IndexExpr( se(start,"stdout"), fnExp, new ConstExpr("stdout") );
272 fnExp = new IndexExpr( se(start), fnExp, new ConstExpr("write") ); 276 fnExp = new IndexExpr( se(start,"write"), fnExp, new ConstExpr("write") );
273 FnCall fnCall = new FnCall( se(start), fnExp, exp ); 277 FnCall fnCall = new FnCall( se(start), fnExp, exp );
274 return new ExpressionsStmt(fnCall); 278 return new ExpressionsStmt(fnCall);
275 } 279 }
276 280
277 private Expressions TemplateExpressions(In in) throws ParseException { 281 private Expressions TemplateExpressions(In in) throws ParseException {
926 public Expressions expr(); 930 public Expressions expr();
927 public Settable settable(); 931 public Settable settable();
928 } 932 }
929 933
930 private Var nameVar(final int start,final String name) { 934 private Var nameVar(final int start,final String name) {
931 return nameVar(se(start),name); 935 return nameVar(se(start,name),name);
932 } 936 }
933 937
934 private Var nameVar(final LuanSource.Element se,final String name) { 938 private Var nameVar(final LuanSource.Element se,final String name) {
935 return new Var() { 939 return new Var() {
936 940