comparison src/luan/modules/parsers/LuanParser.java @ 1562:b89212fd04b5

remove table.luan
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 08 Nov 2020 16:50:59 -0700
parents 851b9a48cc44
children f118ead273a1
comparison
equal deleted inserted replaced
1561:e1a13e707bf3 1562:b89212fd04b5
7 import luan.LuanException; 7 import luan.LuanException;
8 8
9 9
10 public final class LuanParser { 10 public final class LuanParser {
11 11
12 public static Object parse(Luan luan,String text) throws ParseException { 12 public static Object parse(String text) throws ParseException {
13 return new LuanParser(luan,text).parse(); 13 return new LuanParser(text).parse();
14 } 14 }
15 15
16 private static final Object NULL = new Object(); 16 private static final Object NULL = new Object();
17 private final Luan luan;
18 private final Parser parser; 17 private final Parser parser;
19 18
20 private LuanParser(Luan luan,String text) { 19 private LuanParser(String text) {
21 this.luan = luan;
22 this.parser = new Parser(text); 20 this.parser = new Parser(text);
23 } 21 }
24 22
25 private ParseException exception(String msg) { 23 private ParseException exception(String msg) {
26 return new ParseException(parser,msg); 24 return new ParseException(parser,msg);
215 213
216 private LuanTable table() throws ParseException { 214 private LuanTable table() throws ParseException {
217 parser.begin(); 215 parser.begin();
218 if( !parser.match('{') ) 216 if( !parser.match('{') )
219 return parser.failure(null); 217 return parser.failure(null);
220 LuanTable tbl = new LuanTable(luan); 218 LuanTable tbl = new LuanTable();
221 do { 219 do {
222 spaces(); 220 spaces();
223 Object obj = value(); 221 Object obj = value();
224 if( obj != null ) { 222 if( obj != null ) {
225 if( obj != NULL ) 223 if( obj != NULL )