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