/******************************************************************************* * Copyright (c) 2008 Scott Stanchfield. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Based on the ANTLR parser generator by Terence Parr, http://antlr.org * Ric Klaren <klaren@cs.utwente.nl> * Scott Stanchfield - Modifications for XML Parsing *******************************************************************************/ package com.javadude.antxr; /** A token is minimally a token type. Subclasses can add the text matched * for the token and line info. */ public class Token implements Cloneable { // constants public static final int MIN_USER_TYPE = 4; public static final int NULL_TREE_LOOKAHEAD = 3; public static final int INVALID_TYPE = 0; public static final int EOF_TYPE = 1; public static final int SKIP = -1; // each Token has at least a token type protected int type = Token.INVALID_TYPE; // the illegal token object public static Token badToken = new Token(Token.INVALID_TYPE, "<no text>"); public Token() { // nothing } public Token(int t) { type = t; } public Token(int t, String txt) { type = t; setText(txt); } public int getColumn() { return 0; } public int getLine() { return 0; } public String getFilename() { return null; } public void setFilename(String name) { // nothing } public String getText() { return "<no text>"; } public void setText(String t) { // nothing } public void setColumn(int c) { // nothing } public void setLine(int l) { // nothing } public int getType() { return type; } public void setType(int t) { type = t; } @Override public String toString() { return "[\"" + getText() + "\",<" + getType() + ">]"; } }