public static IrToken newToken(IrParserConstants.RegExpId ofKind) { return newToken(ofKind, null); }
/** * Returns a new Token object, by default. However, if you want, you * can create and return subclass objects based on the value of ofKind. * Simply add the cases to the switch for all those special cases. * For example, if you have a subclass of Token called IDToken that * you want to create if ofKind is ID, simply add something like : * * case MyParserConstants.ID : return new IDToken(ofKind, image); * * to the following switch statement. Then you can cast matchedToken * variable to the appropriate type and use sit in your lexical actions. */ public static IrToken newToken(IrParserConstants.RegExpId ofKind, String image) { switch (ofKind) { default: return new IrToken(ofKind, image); } }
/** * Constructs a new token for the specified Image. */ public IrToken(IrParserConstants.RegExpId kind) : this(kind, null) { }
/** * Constructs a new token for the specified Image and Kind. */ public IrToken(IrParserConstants.RegExpId kind, String image) { this.kind = kind; this.image = image; }
/* throws ParseException */ private static IrToken jj_consume_token(IrParserConstants.RegExpId kind) { IrToken oldToken; if ((oldToken = token).next != null) token = token.next; else { //token = token.next = token_source.getNextToken(); token.next = IrParserTokenManager.getNextToken(); token = token.next; } jj_ntk = RegExpId.UNDEFINED; if (token.kind == kind) { jj_gen++; return token; } token = oldToken; jj_kind = kind; throw generateParseException(); }