All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class epp.Symbol

java.lang.Object
   |
   +----epp.Token
           |
           +----epp.Symbol

public class Symbol
extends Token
クラス Symbol は、 lisp などの言語の symbol を Java で使えるように したものです。. これを使うには、 Symbol plug-in が必要になります。

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 のソースコード中で、以下のように様々な用途に使われています。

See Also:
Token, Tree, Dynamic

Constructor Index

 o Symbol()

Method Index

 o intern(String)
文字列を Symbol に変換します。.
 o isSymbol()
このトークンが Symbol であれば true 、そうでなければ、 false を返します。.
 o main(String[])
 o maybeIdentifier()
 o setMaybeIdentifierFlag()
 o toString()
Symbol を文字列に変換します。

Constructors

 o Symbol
 public Symbol()

Methods

 o intern
 public static Symbol intern(String name)
文字列を Symbol に変換します。.

 o toString
 public String toString()
Symbol を文字列に変換します。

Overrides:
toString in class Object
 o isSymbol
 public boolean isSymbol()
このトークンが Symbol であれば true 、そうでなければ、 false を返します。.

Overrides:
isSymbol in class Token
See Also:
Token
 o setMaybeIdentifierFlag
 public void setMaybeIdentifierFlag()
 o maybeIdentifier
 public boolean maybeIdentifier()
 o main
 public static void main(String argv[])

All Packages  Class Hierarchy  This Package  Previous  Next  Index