All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class epp.Emitter

java.lang.Object
   |
   +----epp.Emitter

public abstract class Emitter
extends Object
クラス Emitter は、すべての Emitter オブジェクトのクラスの super class です。.

code-emitting pass において、抽象構文木は、文字列に変換されながら、 出力ファイルに出力されます。 抽象構文木の各ノードを文字列に変換して出力するオブジェクトが、 Emitter オブジェクトです。 ノードの種類ごとに、対応する Emitter オブジェクトが定義されています。 例えば、 for 文を出力するクラスは、クラス ForEmitter です。

plug-in プログラマーは、普通、このクラスを使う必要はありません。


Constructor Index

 o Emitter()

Method Index

 o call(OutputStream, Tree)
引数の tree を文字列にして出力します。.
 o checkArgsLength(Tree, int)
 o emitString(OutputStream, String)
 o emitTree(OutputStream, Tree)
Tree を再帰的に出力します。.
 o error(String)
 o outputNewlineAndIndent(OutputStream)
 o outputNewlineForReadability(OutputStream)

Constructors

 o Emitter
 public Emitter()

Methods

 o call
 public abstract void call(OutputStream out,
                           Tree tree) throws IOException
引数の tree を文字列にして出力します。. ノードの種類ごとに、このメソッドを定義するサブクラスを 定義しなければなりません。

 o emitTree
 public static void emitTree(OutputStream out,
                             Tree tree)
Tree を再帰的に出力します。. emitterTable を検索して、引数の tree に対応する Emitter オブジェクトを取り出し、 call メソッドを呼び出します。 このメソッドは、 call メソッドの中から、 subtree を再帰的に 出力したい時に使われます。

 o emitString
 public static void emitString(OutputStream out,
                               String str) throws IOException
 o checkArgsLength
 public static void checkArgsLength(Tree tree,
                                    int argc)
 o outputNewlineAndIndent
 public static void outputNewlineAndIndent(OutputStream out) throws IOException
 o outputNewlineForReadability
 public static void outputNewlineForReadability(OutputStream out) throws IOException
 o error
 public static Error error(String str)

All Packages  Class Hierarchy  This Package  Previous  Next  Index