kmy.jint.parser
Class NameTable

java.lang.Object
  |
  +--kmy.jint.parser.NameTable

public class NameTable
extends java.lang.Object

This class keeps record of all identifiers and keywords. It maintains a single unique, copy of every identifier, and assigns every identifier a unique integer id. One can look up an identifier by its string representation.


Field Summary
 Identifier ADD
           
 Identifier ANY
           
 Identifier ARGLIST
           
 Identifier ARGV
           
 Identifier BLOCK
           
 Identifier CLASS
           
 Identifier CLINIT
           
 Identifier EVAL
           
 Identifier FALSE
           
 Identifier INIT
           
 Identifier JAVA
           
 Identifier JINT
           
 Identifier KMY
           
 Identifier LANG
           
 Identifier LENGTH
           
private  java.util.Hashtable nameTable
           
 Identifier NULL
           
(package private) static java.lang.String[] privateReserved
           
(package private) static java.lang.String[] reserved
           
 Identifier RUN
           
 Identifier RUNNABLE
           
 Identifier SELF
           
 Identifier SUPER
           
 Identifier THIS
           
 Identifier TRUE
           
 Identifier VAR
           
 Identifier VOID
           
 
Constructor Summary
NameTable()
          Create a NameTable.
 
Method Summary
 Identifier lookup(java.lang.String name)
          Returns Identifier by its String representation.
 Identifier lookupAndInsert(java.lang.String name)
          Returns Identifier by its String representation.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

reserved

static final java.lang.String[] reserved

privateReserved

static final java.lang.String[] privateReserved

nameTable

private java.util.Hashtable nameTable

ADD

public final Identifier ADD

ARGV

public final Identifier ARGV

ARGLIST

public final Identifier ARGLIST

BLOCK

public final Identifier BLOCK

EVAL

public final Identifier EVAL

SELF

public final Identifier SELF

INIT

public final Identifier INIT

CLINIT

public final Identifier CLINIT

LANG

public final Identifier LANG

JAVA

public final Identifier JAVA

JINT

public final Identifier JINT

ANY

public final Identifier ANY

KMY

public final Identifier KMY

LENGTH

public final Identifier LENGTH

RUN

public final Identifier RUN

RUNNABLE

public final Identifier RUNNABLE

VAR

public final Identifier VAR

THIS

public final Identifier THIS

SUPER

public final Identifier SUPER

TRUE

public final Identifier TRUE

FALSE

public final Identifier FALSE

NULL

public final Identifier NULL

CLASS

public final Identifier CLASS

VOID

public final Identifier VOID
Constructor Detail

NameTable

public NameTable()
Create a NameTable. Normally only one NameTable is needed.
Method Detail

lookup

public Identifier lookup(java.lang.String name)
Returns Identifier by its String representation. If no such identifier is yet defined, null is returned.

lookupAndInsert

public Identifier lookupAndInsert(java.lang.String name)
Returns Identifier by its String representation. If no such identifier is defined it gets inserted, so this method always returns an Identifier.