org.oklab.compiler.syntaxtree.expression
クラス Call
java.lang.Object
org.oklab.compiler.syntaxtree.Node
org.oklab.compiler.syntaxtree.expression.Expression
org.oklab.compiler.syntaxtree.expression.Call
public class Call
- extends Expression
メソッドの中間言語を表現するクラス.
- 導入されたバージョン:
- 1.0
- バージョン:
- 1.0
- 作成者:
- Satoshi Okita satoshiokita@gmail.com
- 関連項目:
CallStatement
| クラス org.oklab.compiler.syntaxtree.Node から継承されたフィールド |
parent |
| クラス java.lang.Object から継承されたメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
name
private java.lang.String name
arguments
private java.util.List<Expression> arguments
returnType
private int returnType
identifier
private java.lang.String identifier
contentPoolStoredIndex
private int contentPoolStoredIndex
Call
public Call(Node parent,
java.lang.String name,
SourceReader sReader)
throws CompileError
- メソッド実引数の解析.
- パラメータ:
parent - 親ノードname - 参照名sReader - ソースコードリーダ.
- 例外:
CompileError
getIdentifier
public java.lang.String getIdentifier()
parseXStatement
public Statement parseXStatement(Node parent,
SourceReader sReader)
throws CompileError
- functionAAA(20);のような文は関数呼び出しである.はじめが変数で始まる文は
代入文か関数呼び出しになる.ここでは関数呼び出しの場合の構文解析になる.
- オーバーライド:
- クラス
Expression 内の parseXStatement
- 例外:
CompileError- 関連項目:
Variable.parseXStatement(Node parent, SourceReader sReader)
emitCode
public int emitCode(CodeBufferManager code,
int stackPointer)
throws CompileError
- 定義:
- クラス
Expression 内の emitCode
- 例外:
CompileError
patch
public void patch(int returnType,
int referenceIndex)