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

フィールドの概要
private  java.util.List<Expression> arguments
           
private  int contentPoolStoredIndex
           
private  java.lang.String identifier
           
private  java.lang.String name
           
private  int returnType
           
 
クラス org.oklab.compiler.syntaxtree.Node から継承されたフィールド
parent
 
コンストラクタの概要
Call(Node parent, java.lang.String name, SourceReader sReader)
          メソッド実引数の解析.
 
メソッドの概要
 int emitCode(CodeBufferManager code, int stackPointer)
           
 java.lang.String getIdentifier()
           
 Statement parseXStatement(Node parent, SourceReader sReader)
          functionAAA(20);のような文は関数呼び出しである.はじめが変数で始まる文は 代入文か関数呼び出しになる.ここでは関数呼び出しの場合の構文解析になる.
 void patch(int returnType, int referenceIndex)
           
 
クラス 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
 

フィールドの詳細

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)