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