|
||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||
java.lang.ObjectTopLevelClass
public class TopLevelClass¬<><∪∪ (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のサブタイプのインスタンスになります。
このクラス、およびネストしたクラスは、同期化されません。
| 入れ子のクラスの概要 | |
|---|---|
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 |
| フィールドの詳細 |
|---|
public static final int EOF_TOKEN
TopLevelClass.Token.getSymbolID(),
public static final int TOKEN_TERMINAL
TERMINAL をあらわします。
このフィールドは、TokenDefinition で定義された終端記号ごとに1つずつ出力されます。TERMINAL は IDENITIFIER で与えられる名前です。
TopLevelClass.Token.getSymbolID(),
| コンストラクタの詳細 |
|---|
public TopLevelClass()
| メソッドの詳細 |
|---|
protected TopLevelClass.Node createNode(int symbolID, TopLevelClass.NodeInitializationParameters parameters) throws TopLevelClass.ParseException
このメソッドは、引数で与えられた情報からノードを構築するファクトリーメソッドです。このメソッドをオーバーライドすることで、ノードの構築をカスタマイズすることができます。
構築すべきノードの型が、symbolIDによって、次のように指定されます。
symbolID | type to create |
|---|---|
TopLevelClass.Type.ID |
TopLevelClass.Type |
このメソッドのデフォルトの実装は、createNode(symbolID, parameters, false) と等価です。
symbolID - 構築すべきノードの型。parameters - ノード構築するのに必要な情報。
TopLevelClass.ParseException - 構文解析対象のテキストが、満たすべき何らかの条件を満たしていない場合。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 の場合、その際にラベル付けされていないノードを除外します。
protected TopLevelClass.Node modifyWholeTree(TopLevelClass.Node root) throws TopLevelClass.ParseException
root - createNode(int, TopLevelClass.NodeInitializationParameters) によって作られた構文木の根。
TopLevelClass.ParseException
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 - ファイルへのアクセス中にエラーが発生した場合。
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 - 文字ストリームへのアクセス中にエラーが発生した場合。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 - 構文解析対象のテキストが、満たすべき何らかの条件を満たしていない場合。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 - ファイルに含まれるテキストが、満たすべき条件を満たしていなかった場合。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 - ファイルに含まれるテキストが、満たすべき条件を満たしていなかった場合。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 - 文字ストリームに含まれるテキストが、満たすべき条件を満たしていなかった場合。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 に含まれるテキストが、満たすべき条件を満たしていなかった場合。public TopLevelClass.Type parseType(TopLevelClass.LexicalAnalyzer analyzer) throws TopLevelClass.ParseException
字句解析器が出力するトークンの列を 非終端記号 Type をゴール記号(開始記号)とする文法に基づき構文解析します。
このメソッドは、$parsable な非終端記号 Type に対して出力されます。Type が $parsable-protected の場合、このメソッドは protected になります
analyzer - トークンの列を与える字句解析器
TopLevelClass.ParseException - text に含まれるテキストが、満たすべき条件を満たしていなかった場合。public static void main(java.lang.String[] args)
このメソッドは、$parsable な非終端記号が1つ存在する場合にだけ出力されます。このメソッドの仕様は、将来のバージョンでは変更になる可能性があります。
args - 解析対象のファイルの名前
|
||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||