/* * Name: Mike Cifelli * Course: CIS 443 - Programming Languages * Assignment: Lisp Interpreter Phase 1 - Lexical Analysis */ package scanner; /** * A Token represents a token in Common Lisp. */ public class Token { /** * An enumeration representing all of the types of tokens found in Common * Lisp. */ public enum Type { /** A left parenthesis token */ LEFT_PAREN, /** A right parenthesis token */ RIGHT_PAREN, /** A quoted string token */ STRING, /** A quote mark */ QUOTE_MARK, /** A number token */ NUMBER, /** A reserved word token */ RESERVED, /** An identifier token */ IDENTIFIER, /** An end-of-file token */ EOF } private Type type; private String text; private String fName; private int line; private int column; /** * Create a new token with the specified type, text, file name, line number * and column number. * * @param type * the type of this token * @param text * the text associated with this token * @param fName * the name of the file that this token is located in * @param line * the line number that this token is found on * @param column * the column number that this token is found on */ public Token(Type type, String text, String fName, int line, int column) { this.type = type; this.text = text; this.fName = fName; this.line = line; this.column = column; } /** * Accessor method to determine the type of this token. * * @return * the type of this token */ public Type getType() { return type; } /** * Accessor method to determine the text associated with this token. * * @return * the text associated with this token */ public String getText() { return text; } /** * Accessor method to determine the name of the file that this token was * located in. * * @return * the name of the file that this token was located in */ public String getFName() { return fName; } /** * Accessor method to determine the line number that this token was found * on. * * @return * the line number this token was found on */ public int getLine() { return line; } /** * Accessor method to determine the column number that this token was found * on. * * @return * the column number this token was found on */ public int getColumn() { return column; } }