package rebelsky.compiler.pascal; import rebelsky.parser.SymbolPrinter; /** * A simple mechanism for turning symbols that are represented as * integers (for speed) back into strings. * * @author Samuel A. Rebelsky * @version 1.0 of October 2002 */ public class PascalSymbolPrinter implements SymbolPrinter { // +--------+------------------------------------------------------------ // | Fields | // +--------+ private String[] symbolNames; // +--------------+------------------------------------------------------ // | Constructors | // +--------------+ public PascalSymbolPrinter() { int NUM_SYMBOLS = PascalSymbols.numSymbols(); symbolNames = new String[NUM_SYMBOLS]; for (int i = 0; i < NUM_SYMBOLS; i++) { symbolNames[i] = "????"; } symbolNames[PascalSymbols.EXPRESSION] = ""; symbolNames[PascalSymbols.FACTOR] = ""; symbolNames[PascalSymbols.IDENTIFIER_LIST] = ""; symbolNames[PascalSymbols.LABEL] = "