TokenManager.java
上传用户:afrynkmhm
上传日期:2007-01-06
资源大小:1262k
文件大小:1k
源码类别:

编译器/解释器

开发平台:

Others

  1. package antlr;
  2. /* ANTLR Translator Generator
  3.  * Project led by Terence Parr at http://www.jGuru.com
  4.  * Software rights: http://www.antlr.org/RIGHTS.html
  5.  *
  6.  * $Id: //depot/code/org.antlr/release/antlr-2.7.0/antlr/TokenManager.java#1 $
  7.  */
  8. import java.util.Hashtable;
  9. import java.util.Enumeration;
  10. import antlr.collections.impl.Vector;
  11. /** Interface that describes the set of defined tokens */
  12. interface TokenManager {
  13. public Object clone();
  14. /** define a token symbol */
  15. public void define(TokenSymbol ts);
  16. /** Get the name of the token manager */
  17. public String getName();
  18. /** Get a token string by index */
  19. public String getTokenStringAt(int idx);
  20. /** Get the TokenSymbol for a string */
  21. public TokenSymbol getTokenSymbol(String sym);
  22. public TokenSymbol getTokenSymbolAt(int idx);
  23. /** Get an enumerator over the symbol table */
  24. public Enumeration getTokenSymbolElements();
  25. public Enumeration getTokenSymbolKeys();
  26. /** Get the token vocabulary (read-only).
  27.  * @return A Vector of Strings indexed by token type */
  28. public Vector getVocabulary();
  29. /** Is this token manager read-only? */
  30. public boolean isReadOnly();
  31. public void mapToTokenSymbol(String name, TokenSymbol sym);
  32. /** Get the highest token type in use */
  33. public int maxTokenType();
  34. /** Get the next unused token type */
  35. public int nextTokenType();
  36. public void setName(String n);
  37. public void setReadOnly(boolean ro);
  38. /** Is a token symbol defined? */
  39. public boolean tokenDefined(String symbol);
  40. }