Mercurial Hosting > luan
comparison core/src/luan/impl/LuanParser.java @ 694:b620b8e1010f
remove Luan.load() allow_expression param and add Luan.eval()
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Wed, 20 Apr 2016 20:56:08 -0600 |
parents | ca169567ce07 |
children | 61b36d5895df |
comparison
equal
deleted
inserted
replaced
693:ca169567ce07 | 694:b620b8e1010f |
---|---|
185 | 185 |
186 private Frame frame; | 186 private Frame frame; |
187 private final Parser parser; | 187 private final Parser parser; |
188 private final Stmts top; | 188 private final Stmts top; |
189 | 189 |
190 LuanParser(String sourceName,String sourceText) { | 190 LuanParser(String sourceText,String sourceName) { |
191 this.frame = new Frame(); | 191 this.frame = new Frame(); |
192 this.parser = new Parser(sourceName,sourceText); | 192 this.parser = new Parser(sourceText,sourceName); |
193 this.top = new Stmts(); | 193 this.top = new Stmts(); |
194 } | 194 } |
195 | 195 |
196 void addVar(String name) { | 196 void addVar(String name) { |
197 UpSym upSym = frame.addUpSym( "-ADDED-" ,"new Pointer()"); | 197 UpSym upSym = frame.addUpSym( "-ADDED-" ,"new Pointer()"); |
245 } | 245 } |
246 | 246 |
247 private Expr newFnExp(Stmts stmt,String name) { | 247 private Expr newFnExp(Stmts stmt,String name) { |
248 return toFnExp( stmt, frame.upValueSymbols, name ); | 248 return toFnExp( stmt, frame.upValueSymbols, name ); |
249 } | 249 } |
250 | 250 /* |
251 Class Expression() throws ParseException { | 251 Class Expression() throws ParseException { |
252 Spaces(); | 252 Spaces(); |
253 parser.begin(); | 253 parser.begin(); |
254 Expr expr = ExprZ(In.NOTHING); | 254 Expr expr = ExprZ(In.NOTHING); |
255 if( expr != null && parser.endOfInput() ) { | 255 if( expr != null && parser.endOfInput() ) { |
259 top.hasReturn = true; | 259 top.hasReturn = true; |
260 return parser.success(newFnClass(top)); | 260 return parser.success(newFnClass(top)); |
261 } | 261 } |
262 return parser.failure(null); | 262 return parser.failure(null); |
263 } | 263 } |
264 | 264 */ |
265 Class RequiredModule() throws ParseException { | 265 Class RequiredModule() throws ParseException { |
266 GetRequiredModule(); | 266 GetRequiredModule(); |
267 return newFnClass(top); | 267 return newFnClass(top); |
268 } | 268 } |
269 | 269 |