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