クラス TopLevelClass

java.lang.Object
  上位を拡張 TopLevelClass

public class TopLevelClass
extends java.lang.Object

¬<><∪∪ (notavaCC) 1.0.3 によって出力された構文表現です。通常 GPL にしたがってライセンスされます。

このクラスの完全限定名は、ParserDeclarationで指定されます。このクラスは、ParserDeclaration$protectedと指定されていればデフォルトスコープ(パッケージスコープ)、そうでなければpublicになります。 --target オプションの値が 1.4 より小さい場合、CharSequence の代わりに StringBuffer が、AssertionError の代わりに RuntimeException が使用されます。

メソッド parseType(java.io.File, java.lang.String) はテキストを構文解析し、抽象構文木を出力します。 ツリーのノードは、TopLevelClass.Nodeのサブタイプのインスタンスになります。

このクラス、およびネストしたクラスは、同期化されません

導入されたバージョン:
notavaCC 1.0

入れ子のクラスの概要
static interface TopLevelClass.Default
          デフォルトの実装を保持する名前空間です。
static class TopLevelClass.LexicalAnalyzer
          TopLevelClass.Token の列を生成するオブジェクト。
static interface TopLevelClass.Node
          構文解析の結果として得られる抽象構文木のノード。
protected static class TopLevelClass.NodeInitializationParameters
          ノードの構築に必要な情報を privateなフィールドで保持するオブジェクト。
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(java.lang.String sourceName, java.lang.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(java.lang.String[] args)
          引数に渡されたファイルをパーズし、構文木を出力します(サンプルプログラム)。
protected  TopLevelClass.Node modifyWholeTree(TopLevelClass.Node root)
          構文木全体が構築されたときに呼び出され、構文木を編集することができます。
 TopLevelClass.Type parseType(java.io.File file, java.lang.String charsetName)
          ファイルに含まれる Type を構文解析します。
 TopLevelClass.Type parseType(java.lang.String sourceName, java.lang.CharSequence text, int tabStop)
          java.lang.CharSequence に含まれる Type を構文解析します。
 TopLevelClass.Type parseType(java.lang.String sourceName, java.io.File file, java.lang.String charsetName, int tabStop)
          ファイルに含まれる Type を構文解析します。
 TopLevelClass.Type parseType(java.lang.String sourceName, java.io.Reader reader, int tabStop)
          文字ストリームに含まれる Type を構文解析します。
 TopLevelClass.Type parseType(TopLevelClass.LexicalAnalyzer analyzer)
          字句解析器が出力するトークンの列を構文解析します。
protected  java.lang.CharSequence toCharSequence(java.io.File file, java.lang.String charsetName)
          ファイルに格納されている文字列を表す java.lang.CharSequence を得ます。
protected  java.lang.CharSequence toCharSequence(java.io.Reader reader)
          文字ストリームから得られる文字列を表す java.lang.CharSequence を得ます。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

EOF_TOKEN

public static final int EOF_TOKEN
EOF をあらわします.

導入されたバージョン:
notavaCC 1.0
関連項目:
TopLevelClass.Token.getSymbolID(),

TOKEN_TERMINAL

public static final int TOKEN_TERMINAL
終端記号 TERMINAL をあらわします。 このフィールドは、TokenDefinition で定義された終端記号ごとに1つずつ出力されます。TERMINALIDENITIFIER で与えられる名前です。

導入されたバージョン:
notavaCC 1.0
関連項目:
TopLevelClass.Token.getSymbolID(),
コンストラクタの詳細

TopLevelClass

public TopLevelClass()
パーザを構築します。 ConstructorScope が与えられた場合、コンストラクタはデフォルトスコープになります。

導入されたバージョン:
notavaCC 1.0
メソッドの詳細

createNode

protected TopLevelClass.Node createNode(int symbolID,
                                        TopLevelClass.NodeInitializationParameters parameters)
                                 throws TopLevelClass.ParseException
抽象構文木のノードを構築します。

このメソッドは、引数で与えられた情報からノードを構築するファクトリーメソッドです。このメソッドをオーバーライドすることで、ノードの構築をカスタマイズすることができます。

構築すべきノードの型が、symbolIDによって、次のように指定されます。

symbolIDtype to create
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)
抽象構文木のノードを構築します。 構築されたノードは、TopLevelClass.Default に含まれるクラス(TopLevelClass.Default.Node のサブクラス)のインスタンスです。

パラメータ:
symbolID - 構築すべきノードの型。createNode(int, TopLevelClass.NodeInitializationParameters) を参照。
parameters - ノード構築するのに必要な情報。
compact - ラベル付けされたノードだけを子に持つノードを構築するかどうか。このメソッドは parametersで指定された子を持つノードを構築しますが、compact == true の場合、その際にラベル付けされていないノードを除外します。
戻り値:
構築されたノード。
導入されたバージョン:
notavaCC 1.0

modifyWholeTree

protected TopLevelClass.Node modifyWholeTree(TopLevelClass.Node root)
                                      throws TopLevelClass.ParseException
構文木全体が構築されたときに呼び出され、構文木を編集することができます。 このメソッドをオーバーライドすることで、構築された構文木がユーザに返される直前に、その構文木を編集することができます。

パラメータ:
root - createNode(int, TopLevelClass.NodeInitializationParameters) によって作られた構文木の根。
戻り値:
パーズ結果として扱われる構文木の根。
例外:
TopLevelClass.ParseException
導入されたバージョン:
notavaCC 1.0

toCharSequence

protected final java.lang.CharSequence toCharSequence(java.io.File file,
                                                      java.lang.String charsetName)
                                               throws java.io.IOException
ファイルに格納されている文字列を表す java.lang.CharSequence を得ます。

パラメータ:
file - ファイル。
charsetName - 文字セットの名前。デフォルトの文字セットを指定する場合 null
戻り値:
ファイルに格納されている文字列を表す java.lang.CharSequence
例外:
java.io.IOException - ファイルへのアクセス中にエラーが発生した場合。
導入されたバージョン:
notavaCC 1.0

toCharSequence

protected final java.lang.CharSequence toCharSequence(java.io.Reader reader)
                                               throws java.io.IOException
文字ストリームから得られる文字列を表す java.lang.CharSequence を得ます。

このメソッドは、文字ストリームの終端に達するまで文字列を読み出し、その文字列をあらわす java.lang.CharSequence を返します。

パラメータ:
reader - 文字ストリーム。このストリームは close() されません。
戻り値:
文字ストリームから得られる文字列を表す java.lang.CharSequence
例外:
java.io.IOException - 文字ストリームへのアクセス中にエラーが発生した場合。
導入されたバージョン:
notavaCC 1.0

createLexicalAnalyzer

protected TopLevelClass.LexicalAnalyzer createLexicalAnalyzer(java.lang.String sourceName,
                                                              java.lang.CharSequence text,
                                                              int tabStop)
                                                       throws TopLevelClass.ParseException
字句解析器を構築します。

このメソッドは、字句解析器を構築するファクトリーメソッドです。このメソッドをオーバーライドすることで、字句解析をカスタマイズすることができます。

パラメータ:
sourceName - 解析すべきテキストの名前。これは、TopLevelClass.Token.getSourceName() の戻り値を設定するためだけに使用されます。
text - 解析すべきテキスト。
tabStop - テキスト中で、タブ文字に対して何文字ごとの位置に移動すべきか。これは、TopLevelClass.Token.getColumn() の戻り値を設定するためだけに使用されます。
戻り値:
与えられたテキストを対象に字句解析を行う字句解析器。
例外:
TopLevelClass.ParseException - 構文解析対象のテキストが、満たすべき何らかの条件を満たしていない場合。
導入されたバージョン:
notavaCC 1.0

parseType

public TopLevelClass.Type parseType(java.io.File file,
                                    java.lang.String charsetName)
                             throws java.io.IOException,
                                    TopLevelClass.ParseException
ファイルに含まれる Type を構文解析します。

ファイルに含まれるテキストを、非終端記号 Type をゴール記号(開始記号)とする文法に基づき構文解析します。 このメソッドは、$parsable な非終端記号 Type に対して出力されます。Type$parsable-protected の場合、このメソッドは protected になります

このメソッドの呼び出しは、parseType(file.getPath(), file, charsetName, 8) の呼び出しと等価です。

パラメータ:
file - 構文解析対象のテキストを含むファイル。
charsetName - 文字セットの名前。デフォルトの文字セットを指定する場合 null
戻り値:
抽象構文木
例外:
java.io.IOException - フェイルへのアクセス中にエラーが発生した場合。
TopLevelClass.ParseException - ファイルに含まれるテキストが、満たすべき条件を満たしていなかった場合。
導入されたバージョン:
notavaCC 1.0

parseType

public TopLevelClass.Type parseType(java.lang.String sourceName,
                                    java.io.File file,
                                    java.lang.String charsetName,
                                    int tabStop)
                             throws java.io.IOException,
                                    TopLevelClass.ParseException
ファイルに含まれる Type を構文解析します。

ファイルに含まれるテキストを、非終端記号 Type をゴール記号(開始記号)とする文法に基づき構文解析します。 このメソッドは、$parsable な非終端記号 Type に対して出力されます。Type$parsable-protected の場合、このメソッドは protected になります

パラメータ:
sourceName - 解析すべきテキストの名前。これは、TopLevelClass.Token.getSourceName() の戻り値を設定するためだけに使用されます。
file - 構文解析対象のテキストを含むファイル。
charsetName - 文字セットの名前。デフォルトの文字セットを指定する場合 null
tabStop - テキスト中で、タブ文字に対して何文字ごとの位置に移動すべきか。これは、TopLevelClass.Token.getColumn() の戻り値を設定するためだけに使用されます。
戻り値:
抽象構文木
例外:
java.io.IOException - フェイルへのアクセス中にエラーが発生した場合。
TopLevelClass.ParseException - ファイルに含まれるテキストが、満たすべき条件を満たしていなかった場合。
導入されたバージョン:
notavaCC 1.0

parseType

public TopLevelClass.Type parseType(java.lang.String sourceName,
                                    java.io.Reader reader,
                                    int tabStop)
                             throws java.io.IOException,
                                    TopLevelClass.ParseException
文字ストリームに含まれる Type を構文解析します。

文字ストリームの終端に達するまで文字列を読み出し、その文字列を 非終端記号 Type をゴール記号(開始記号)とする文法に基づき構文解析します。 このメソッドは、$parsable な非終端記号 Type に対して出力されます。Type$parsable-protected の場合、このメソッドは protected になります

パラメータ:
sourceName - 解析すべきテキストの名前。これは、TopLevelClass.Token.getSourceName() の戻り値を設定するためだけに使用されます。
reader - 解析すべきテキストを含む文字ストリーム。このストリームは close() されません。
tabStop - テキスト中で、タブ文字に対して何文字ごとの位置に移動すべきか。これは、TopLevelClass.Token.getColumn() の戻り値を設定するためだけに使用されます。
戻り値:
抽象構文木
例外:
java.io.IOException - 文字ストリームへのアクセス中にエラーが発生した場合。
TopLevelClass.ParseException - 文字ストリームに含まれるテキストが、満たすべき条件を満たしていなかった場合。
導入されたバージョン:
notavaCC 1.0

parseType

public TopLevelClass.Type parseType(java.lang.String sourceName,
                                    java.lang.CharSequence text,
                                    int tabStop)
                             throws TopLevelClass.ParseException
java.lang.CharSequence に含まれる Type を構文解析します。

java.lang.CharSequence を 非終端記号 Type をゴール記号(開始記号)とする文法に基づき構文解析します。 このメソッドは、$parsable な非終端記号 Type に対して出力されます。Type$parsable-protected の場合、このメソッドは protected になります

パラメータ:
sourceName - 解析すべきテキストの名前。これは、TopLevelClass.Token.getSourceName() の戻り値を設定するためだけに使用されます。
text - 解析すべきテキストを含む java.lang.CharSequence
tabStop - テキスト中で、タブ文字に対して何文字ごとの位置に移動すべきか。これは、TopLevelClass.Token.getColumn() の戻り値を設定するためだけに使用されます。
戻り値:
抽象構文木
例外:
TopLevelClass.ParseException - text に含まれるテキストが、満たすべき条件を満たしていなかった場合。
導入されたバージョン:
notavaCC 1.0

parseType

public TopLevelClass.Type parseType(TopLevelClass.LexicalAnalyzer analyzer)
                             throws TopLevelClass.ParseException
字句解析器が出力するトークンの列を構文解析します。

字句解析器が出力するトークンの列を 非終端記号 Type をゴール記号(開始記号)とする文法に基づき構文解析します。 このメソッドは、$parsable な非終端記号 Type に対して出力されます。Type$parsable-protected の場合、このメソッドは protected になります

パラメータ:
analyzer - トークンの列を与える字句解析器
戻り値:
抽象構文木
例外:
TopLevelClass.ParseException - text に含まれるテキストが、満たすべき条件を満たしていなかった場合。
導入されたバージョン:
notavaCC 1.0

main

public static void main(java.lang.String[] args)
引数に渡されたファイルをパーズし、構文木を出力します(サンプルプログラム)。

このメソッドは、$parsable な非終端記号が1つ存在する場合にだけ出力されます。このメソッドの仕様は、将来のバージョンでは変更になる可能性があります。

パラメータ:
args - 解析対象のファイルの名前
導入されたバージョン:
notavaCC 1.0