org.oklab.compiler.syntaxtree.statement
クラス Statement

java.lang.Object
  上位を拡張 org.oklab.compiler.syntaxtree.Node
      上位を拡張 org.oklab.compiler.syntaxtree.statement.Statement
直系の既知のサブクラス:
BlockStatement, CallStatement, Condition, Return, Substitute

public abstract class Statement
extends Node

文の情報を保持するためのクラスはすべてこのクラスを継承しなければならない. このクラスを継承することで構文木の部品として扱うことができる.またjava.lang. Runnableのようなインタフェース宣言の意味もある.

導入されたバージョン:
1.0
バージョン:
1.0
作成者:
Satoshi Okita satoshiokita@gmail.com
関連項目:
BlockStatement, Call, Condition, If, Return, Substitute, While

フィールドの概要
 
クラス org.oklab.compiler.syntaxtree.Node から継承されたフィールド
parent
 
コンストラクタの概要
Statement(Node parent)
          親ノードを構文木につなげる為に、Nodeクラスに処理を依頼する.
 
メソッドの概要
abstract  boolean emitCode(CodeBufferManager code)
          バイトコードの出力を行う.
 
クラス org.oklab.compiler.syntaxtree.Node から継承されたメソッド
getReturnType, localVariableCount, parseExpression, parseFactor, parseRefferenceOrCall, parseStatement, parseTerm, setParent
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

Statement

public Statement(Node parent)
親ノードを構文木につなげる為に、Nodeクラスに処理を依頼する. サブクラスはコンストラクタで必ずこのコンストラクタを呼ばなければならない.

パラメータ:
parent - 親ノード.
メソッドの詳細

emitCode

public abstract boolean emitCode(CodeBufferManager code)
                          throws CompileError
バイトコードの出力を行う.

パラメータ:
code - 出力先のバッファ領域.
戻り値:
Return文の時はtrueを返す.その他の文の場合はfalseを返す. これにより、その文の後に更に文を書けるかどうか判断する.
例外:
CompileError - コードを出力できなかった場合にこの例外を出力する.