クラス TopLevelClass

java.lang.Object
  |
  +--TopLevelClass

public class TopLevelClass
extends Object

出力されたパーサ。TopLevelClass は、¬<><∪∪ソースのファイル名から、拡張子を除いたものです。

このクラス、および、このクラスの入れ子クラスは、synchronized ではありません。

--target オプションの値が 1.4 より小さい場合、CharSequence の代わりに StringBuffer が、AssertionError の代わりに RuntimeException が使用されます。


入れ子クラスの概要
static interface TopLevelClass.Default
          インターフェイスのデフォルトの実装を与えるクラスを含むネームスペースです。
static class TopLevelClass.LexicalAnalyzer
          TopLevelClass.Token の列を出力します。
static interface TopLevelClass.Node
          抽象構文木のノード。
protected static class TopLevelClass.NodeInitializationParameters
          ノードを作成するのに使われる、non-public なフィールドを含みます。
static class TopLevelClass.ParseException
          パースエラーを表します。
static interface TopLevelClass.Token
          トークン。
static interface TopLevelClass.Type
          型定義による非終端記号 Type の広義のインスタンス(すなわち抽象構文木のノード)を表します。
static class TopLevelClass.Visitor
          トラバースされる抽象構文木のノードに対して、何らかの処理を行います。
 
フィールドの概要
static int EOF_TOKEN
          EOF を表します。
static int TOKEN_TERMINAL
          終端記号 TERMINAL を表します。
 
コンストラクタの概要
TopLevelClass()
           
 
メソッドの概要
protected  TopLevelClass.LexicalAnalyzer createLexicalAnalyzer(String sourceName, CharSequence text, int tabStop)
          字句解析器を作成するファクトリー・メソッドです。
protected  TopLevelClass.Node createNode(int symbolID, TopLevelClass.NodeInitializationParameters parameters)
          抽象構文木のノードを作成するファクトリー・メソッドです。
protected  TopLevelClass.Default.Node createNode(int symbolID, TopLevelClass.NodeInitializationParameters parameters, boolean compact)
          抽象構文木のノードを作成します。
static void main(String[] args)
          引数に渡されたファイルをパーズし結果を出力します。
 TopLevelClass.Type parseType(File file)
          ファイルに含まれるテキストを、非終端記号 Type を開始記号とする文法に基づきパースします。
 TopLevelClass.Type parseType(String sourceName, CharSequence seq, int tabStop)
          テキストを、非終端記号 Type を開始記号とする文法に基づきパースします。
 TopLevelClass.Type parseType(String sourceName, File file, String charsetName, int tabStop)
          ファイルに含まれるテキストを、非終端記号 Type を開始記号とする文法に基づきパースします。
 TopLevelClass.Type parseType(String sourceName, Reader reader, int tabStop)
          文字ストリームから得られるテキストを、非終端記号 Type を開始記号とする文法に基づきパースします。
 TopLevelClass.Type parseType(TopLevelClass.LexicalAnalyzer analyzer)
          トークン列を、非終端記号 Type を開始記号とする文法に基づきパースします。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

EOF_TOKEN

public static final int EOF_TOKEN
EOF を表します。

関連項目:

TOKEN_TERMINAL

public static final int TOKEN_TERMINAL
終端記号 TERMINAL を表します。このフィールドは、名前をもった終端記号ごとに1つ出力されます。

関連項目:
コンストラクタの詳細

TopLevelClass

public TopLevelClass()
メソッドの詳細

createNode

protected TopLevelClass.Node createNode(int symbolID,
                                        TopLevelClass.NodeInitializationParameters parameters)
                                 throws TopLevelClass.ParseException
抽象構文木のノードを作成するファクトリー・メソッドです。

作成されるノードの型は、symbolID によって、次のように決定されます。
symbolID作成すべきクラス
TopLevelClass.Type.ID TopLevelClass.Type

このメソッドのデフォルトの実装は、createNode(symbolID, parameters, false)と等価です。

パラメータ:
symbolID - 作成されるノードの型を指定する値。
parameters - ノードを初期化するためのパラメタ。
戻り値:
作成されたノード。
例外:
TopLevelClass.ParseException - 静的意味論に基づいて、エラーが発生した場合。
導入されたバージョン:
notavaCC 1.0

createNode

protected final TopLevelClass.Default.Node createNode(int symbolID,
                                                      TopLevelClass.NodeInitializationParameters parameters,
                                                      boolean compact)
抽象構文木のノードを作成します。

パラメータ:
symbolID - 作成されるノードの型を指定する値。
parameters - ノードを初期化するためのパラメタ。
compact - true の場合、戻り値のノードの getChildNodes は、ラベル付けされていない子を含みません。false の場合含みます。
戻り値:
作成されたノード
導入されたバージョン:
notavaCC 1.0

createLexicalAnalyzer

protected TopLevelClass.LexicalAnalyzer createLexicalAnalyzer(String sourceName,
                                                              CharSequence text,
                                                              int tabStop)
字句解析器を作成するファクトリー・メソッドです。

パラメータ:
sourceName - パース対象のテキストの名前。
text - パース対象のテキスト。
tabStop - パース対象のテキストに含まれるタブ文字が、以降のテキストを何文字単位に桁揃えするか。
戻り値:
作成された字句解析器。
導入されたバージョン:
notavaCC 1.0

parseType

public TopLevelClass.Type parseType(File file)
                             throws IOException,
                                    TopLevelClass.ParseException
ファイルに含まれるテキストを、非終端記号 Type を開始記号とする文法に基づきパースします。

このメソッドは、parsableな型 Type に対して出力されます。Type が protected の場合、このメソッドも protected になります。

パラメータ:
file - パース対象のテキストを含むファイル。
戻り値:
パース結果の抽象構文木。
例外:
IOException - ファイルの読み込みに関してエラーが発生した場合。
TopLevelClass.ParseException - ファイルに含まれるテキストが、文法上あるいは意味論上の誤りを含む場合。
導入されたバージョン:
notavaCC 1.0

parseType

public TopLevelClass.Type parseType(String sourceName,
                                    File file,
                                    String charsetName,
                                    int tabStop)
                             throws IOException,
                                    TopLevelClass.ParseException
ファイルに含まれるテキストを、非終端記号 Type を開始記号とする文法に基づきパースします。

このメソッドは、parsableな型 Type に対して出力されます。Type が protected の場合、このメソッドも protected になります。

パラメータ:
sourceName - パース対象のテキストの名前。
file - パース対象のテキストを含むファイル。
charsetName - ファイルに含まれるテキストのエンコーディング名
tabStop - パース対象のテキストに含まれるタブ文字が、以降のテキストを何文字単位に桁揃えするか。
戻り値:
パース結果の抽象構文木。
例外:
IOException - ファイルの読み込みに関してエラーが発生した場合。
TopLevelClass.ParseException - ファイルに含まれるテキストが、文法上あるいは意味論上の誤りを含む場合。
導入されたバージョン:
notavaCC 1.0

parseType

public TopLevelClass.Type parseType(String sourceName,
                                    Reader reader,
                                    int tabStop)
                             throws IOException,
                                    TopLevelClass.ParseException
文字ストリームから得られるテキストを、非終端記号 Type を開始記号とする文法に基づきパースします。

このメソッドは、parsableな型 Type に対して出力されます。Type が protected の場合、このメソッドも protected になります。

パラメータ:
sourceName - パース対象のテキストの名前。
reader - パース対象のテキストを与える文字ストリーム。このストリームはclose()されません。
tabStop - パース対象のテキストに含まれるタブ文字が、以降のテキストを何文字単位に桁揃えするか。
戻り値:
パース結果の抽象構文木。
例外:
IOException - ストリームの読み込みに関してエラーが発生した場合。
TopLevelClass.ParseException - 文字ストリームから得られたテキストが、文法上あるいは意味論上の誤りを含む場合。
導入されたバージョン:
notavaCC 1.0

parseType

public TopLevelClass.Type parseType(String sourceName,
                                    CharSequence seq,
                                    int tabStop)
                             throws TopLevelClass.ParseException
テキストを、非終端記号 Type を開始記号とする文法に基づきパースします。

このメソッドは、parsableな型 Type に対して出力されます。Type が protected の場合、このメソッドも protected になります。

パラメータ:
sourceName - パース対象のテキストの名前。
seq - パース対象のテキスト。
tabStop - パース対象のテキストに含まれるタブ文字が、以降のテキストを何文字単位に桁揃えするか。
戻り値:
パース結果の抽象構文木。
例外:
TopLevelClass.ParseException - テキストが、文法上あるいは意味論上の誤りを含む場合。
導入されたバージョン:
notavaCC 1.0

parseType

public TopLevelClass.Type parseType(TopLevelClass.LexicalAnalyzer analyzer)
                             throws TopLevelClass.ParseException
トークン列を、非終端記号 Type を開始記号とする文法に基づきパースします。

このメソッドは、parsableな型 Type に対して出力されます。Type が protected の場合、このメソッドも protected になります。

パラメータ:
analyzer - トークン列を与える字句解析器。
戻り値:
パース結果の抽象構文木。
例外:
TopLevelClass.ParseException - 文法上あるいは意味論上の誤りを含む場合。
導入されたバージョン:
notavaCC 1.0

main

public static void main(String[] args)
引数に渡されたファイルをパーズし結果を出力します。このメソッドは、パーサを使用するサンプルプログラムとして出力されます。このメソッドは、public で parsable な型定義が1つ存在する場合にだけ出力されます。このメソッドの仕様は、将来のバージョンでは変更になる可能性があります。

パラメータ:
args - パーズするファイル。
導入されたバージョン:
notavaCC 1.0