org.oklab.compiler.syntaxtree.expression
クラス OperatorOfBinary
java.lang.Object
org.oklab.compiler.syntaxtree.Node
org.oklab.compiler.syntaxtree.expression.Expression
org.oklab.compiler.syntaxtree.expression.OperatorOfBinary
public class OperatorOfBinary
- extends Expression
二項演算子.
- 導入されたバージョン:
- 1.0
- バージョン:
- 1.0
- 作成者:
- Satoshi Okita satoshiokita@gmail.com
| クラス org.oklab.compiler.syntaxtree.Node から継承されたフィールド |
parent |
| クラス java.lang.Object から継承されたメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
leftOperand
private Expression leftOperand
operatorBytecode
private int operatorBytecode
- 二項演算子のオペレータは、このクラスがインスタンス化したと同時に分かるので
その時点でバイトコードとして保持する.
rightOperand
private Expression rightOperand
OperatorOfBinary
public OperatorOfBinary(Node parentNode,
int operatorToken,
Expression leftOperand,
Expression rightOperand)
throws CompileError
- 二項演算子の構文木作成.
- 例外:
CompileError
emitCode
public int emitCode(CodeBufferManager code,
int stackPointer)
throws CompileError
- 二項演算子をバイトコードに出力する.
二項演算子とは、1 + 50のようなオペランドを2つ持つ演算子のことである.これを
処理する方法は、リバース・ボーランド法と同じである.つまり左右のオペランド
をスタックに積んで、その後演算装置(ALU)でオペランドを実行するのである.
そのため、スタックに積むように、はじめに左右のオペランドをバイトコードに出力し
その後、オペレータをバイトコードの出力する.
- 定義:
- クラス
Expression 内の emitCode
- 例外:
CompileError