1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.millscript.millscript.syntax;
22
23 import org.millscript.millscript.expr.Expr;
24 import org.millscript.millscript.expr.NameExpr;
25
26 import java.util.regex.Pattern;
27
28 /**
29 * This class provides a parser for use when parsing a Spice class.
30 */
31 public final class SpiceClassParserDelegate implements Parser {
32
33 /**
34 * The name of the class this parser will be used to parse, for any
35 * references to the "this" parameter.
36 */
37 private final NameExpr enclosingSpiceClassNameExpr;
38
39 /**
40 * The parser this delegate parser will actually use.
41 */
42 private final Parser parser;
43
44 /**
45 * Constructs a new SpiceClassParserDelegate to parse a class with the
46 * specified name, using the specified parser.
47 *
48 * @param p the parser to delegate
49 * @param name the name of the class we are parsing
50 */
51 public SpiceClassParserDelegate( final Parser p, final NameExpr name ) {
52 this.enclosingSpiceClassNameExpr = name;
53 this.parser = p;
54 }
55
56 /**
57 * @see Tokenizer#checkWhere(char)
58 */
59 public boolean checkWhere( final char ch ) {
60 return parser.checkWhere( ch );
61 }
62
63 /**
64 * @see Tokenizer#dropToken()
65 */
66 public void dropToken() {
67 parser.dropToken();
68 }
69
70 /**
71 * @see java.lang.Object#equals(java.lang.Object)
72 */
73 @Override
74 public boolean equals( final Object obj ) {
75 return parser.equals( obj );
76 }
77
78 /**
79 * @see org.millscript.millscript.syntax.Tokenizer#getAttributeName()
80 */
81 public String getAttributeName() {
82 return parser.getAttributeName();
83 }
84
85 /**
86 * @see org.millscript.millscript.syntax.Parser#getEnclosingClass()
87 */
88 public NameExpr getEnclosingClass() {
89 return this.enclosingSpiceClassNameExpr;
90 }
91
92 /**
93 * @see Tokenizer#getErrorString()
94 */
95 public String getErrorString() {
96 return parser.getErrorString();
97 }
98
99 /**
100 * @see Tokenizer#getInt()
101 */
102 public int getInt() {
103 return parser.getInt();
104 }
105
106 /**
107 * @see Tokenizer#getLineNumber()
108 */
109 public int getLineNumber() {
110 return parser.getLineNumber();
111 }
112
113 /**
114 * @see Tokenizer#getName()
115 */
116 public String getName() {
117 return parser.getName();
118 }
119
120 /**
121 * @see Tokenizer#getOrigin()
122 */
123 public String getOrigin() {
124 return parser.getOrigin();
125 }
126
127 /**
128 * @see Tokenizer#getQuoteChar()
129 */
130 public char getQuoteChar() {
131 return parser.getQuoteChar();
132 }
133
134 /**
135 * @see Tokenizer#getString()
136 */
137 public String getString() {
138 return parser.getString();
139 }
140
141 /**
142 * @see Tokenizer#getStringNoQuotes()
143 */
144 public String getStringNoQuotes() {
145 return parser.getStringNoQuotes();
146 }
147
148 /**
149 * @see Tokenizer#getStringNoQuotes(int, int)
150 */
151 public String getStringNoQuotes( final int a, final int b ) {
152 return parser.getStringNoQuotes( a, b );
153 }
154
155 /**
156 * @see Tokenizer#getTagName()
157 */
158 public String getTagName() {
159 return parser.getTagName();
160 }
161
162 /**
163 * @see java.lang.Object#hashCode()
164 */
165 @Override
166 public int hashCode() {
167 return parser.hashCode();
168 }
169
170 /**
171 * @see Parser#makeInterpolatedExpr()
172 */
173 public Expr makeInterpolatedExpr() {
174 return parser.makeInterpolatedExpr();
175 }
176
177 /**
178 * @see Tokenizer#makePattern()
179 */
180 public Pattern makePattern() {
181 return parser.makePattern();
182 }
183
184 /**
185 * @see Tokenizer#markReader()
186 */
187 public void markReader() {
188 parser.markReader();
189 }
190
191 /**
192 * @see Tokenizer#mustRead(String)
193 */
194 public void mustRead( final String sym ) {
195 parser.mustRead( sym );
196 }
197
198 /**
199 * @see Tokenizer#nextToken()
200 */
201 public TokenType nextToken() {
202 return parser.nextToken();
203 }
204
205 /**
206 * @see Tokenizer#peekRead(String)
207 */
208 public boolean peekRead( final String sym ) {
209 return parser.peekRead( sym );
210 }
211
212 /**
213 * @see Tokenizer#peekToken()
214 */
215 public TokenType peekToken() {
216 return parser.peekToken();
217 }
218
219 /**
220 * @see org.millscript.millscript.syntax.Parser#readAttributeName()
221 */
222 public String readAttributeName() {
223 return parser.readAttributeName();
224 }
225
226 /**
227 * @see Parser#readBlock()
228 */
229 public Expr readBlock() {
230 return parser.readBlock();
231 }
232
233 /**
234 * @see Parser#readBlockTo(String)
235 */
236 public Expr readBlockTo( final String sym ) {
237 return parser.readBlockTo( sym );
238 }
239
240 /**
241 * @see Parser#readExpr()
242 */
243 public Expr readExpr() {
244 return parser.readExpr();
245 }
246
247 /**
248 * @see Parser#readExprComma()
249 */
250 public Expr readExprComma() {
251 return parser.readExprComma();
252 }
253
254 /**
255 * @see Parser#readExprPrec(int)
256 */
257 public Expr readExprPrec( final int prec ) {
258 return parser.readExprPrec( prec );
259 }
260
261 /**
262 * @see Parser#readExprTo(String)
263 */
264 public Expr readExprTo( final String sym ) {
265 return parser.readExprTo( sym );
266 }
267
268 /**
269 * @see Parser#readName()
270 */
271 public NameExpr readName() {
272 return parser.readName();
273 }
274
275 /**
276 * @see Parser#readOptExpr()
277 */
278 public Expr readOptExpr() {
279 return parser.readOptExpr();
280 }
281
282 /**
283 * @see Parser#readOptExprPrec(int)
284 */
285 public Expr readOptExprPrec( final int prec ) {
286 return parser.readOptExprPrec( prec );
287 }
288
289 /**
290 * @see Parser#readOptPrimary()
291 */
292 public Expr readOptPrimary() {
293 return parser.readOptPrimary();
294 }
295
296 /**
297 * @see Parser#readPrimary()
298 */
299 public Expr readPrimary() {
300 return parser.readPrimary();
301 }
302
303 /**
304 * @see Parser#readStmnts()
305 */
306 public Expr readStmnts() {
307 return parser.readStmnts();
308 }
309
310 /**
311 * @see Parser#readStmntsTo(String)
312 */
313 public Expr readStmntsTo( final String sym ) {
314 return parser.readStmntsTo( sym );
315 }
316
317 /**
318 * @see Parser#readSymbol()
319 */
320 public String readSymbol() {
321 return parser.readSymbol();
322 }
323
324 /**
325 * @see Parser#readTagName()
326 */
327 public String readTagName() {
328 return parser.readTagName();
329 }
330
331 /**
332 * @see Tokenizer#resetReader()
333 */
334 public void resetReader() {
335 parser.resetReader();
336 }
337
338 /**
339 * @see org.millscript.commons.alert.AlertOrigin#setContext(java.lang.String, int)
340 */
341 public void setContext( final String s, final int n ) {
342 parser.setContext( s, n );
343 }
344
345 /**
346 * @see org.millscript.commons.alert.AlertOrigin#setLineNumber(int)
347 */
348 public void setLineNumber( final int n ) {
349 parser.setLineNumber( n );
350 }
351
352 /**
353 * @see org.millscript.commons.alert.AlertOrigin#setOrigin(java.lang.String)
354 */
355 public void setOrigin( final String o ) {
356 parser.setOrigin( o );
357 }
358
359 /**
360 * @see Tokenizer#setWhere(char)
361 */
362 public void setWhere( final char ch ) {
363 parser.setWhere( ch );
364 }
365
366 /**
367 * @see java.lang.Object#toString()
368 */
369 @Override
370 public String toString() {
371 return parser.toString();
372 }
373
374 /**
375 * @see Tokenizer#tryRead(String)
376 */
377 public boolean tryRead( final String sym ) {
378 return parser.tryRead( sym );
379 }
380
381 }