All Packages Class Hierarchy This Package Previous Next Index
java.lang.Object | +----epp.Token | +----epp.Symbol
Symbol は、 EPP の中で様々な用途で使われる、重要なデータ型です。 これは、 Symbol の使用例です。
Symbol x = :foo; Symbol y = :"foo"; Symbol z = Symbol.intern("foo"); System.out.println(x == :foo); // true System.out.println(y == :foo); // true System.out.println(z == :foo); // true
Symbol は、式の中で :foo のようにコロンと識別子を続けて書いて表現します。 コロンにつづく部分を、「Symbol の名前」と呼びます。 名前が記号やスペースを含む場合でも、 :"." や :"long name" のように Symbol の名前をダブルクォートで囲んで表現することができます。
Symbol 同士は、演算子 == で比較することができます。 結果は2つの Symbol が同じ名前を持つ時に限り true になります。
Symbol は、 java.util.Hashtable の key としても使うことができます。 文字列を key として使うよりも高速です。
クラス Symbol は、実はクラス Token のサブクラスで、 字句解析ルーチンが返す値としても使われます。
Symbol は、 EPP のソースコード中で、以下のように様々な用途に使われています。
public Symbol()
public static Symbol intern(String name)
public String toString()
public boolean isSymbol()
public void setMaybeIdentifierFlag()maybeIdentifier
public boolean maybeIdentifier()main
public static void main(String argv[])
All Packages Class Hierarchy This Package Previous Next Index