abstract class Expression
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
(package private) boolean |
lValue
Ist dieser Ausdruck ein L-Wert, d.h. eine Referenz auf eine Variable?
|
(package private) Position |
position
Die Quelltextposition, an der dieser Ausdruck beginnt.
|
(package private) ClassDeclaration |
type
Der Typ dieses Ausdrucks.
|
Constructor and Description |
---|
Expression(Position position)
Konstruktor.
|
Modifier and Type | Method and Description |
---|---|
(package private) Expression |
box(Declarations declarations)
Die Methode prüft, ob dieser Ausdruck "geboxt" oder dereferenziert werden muss.
|
(package private) Expression |
contextAnalysis(Declarations declarations)
Die Methode führt die Kontextanalyse für diesen Ausdruck durch.
|
(package private) abstract void |
generateCode(CodeStream code)
Die Methode generiert den Assembler-Code für diesen Ausdruck.
|
(package private) abstract void |
print(TreeStream tree)
Die Methode gibt diesen Ausdruck in einer Baumstruktur aus.
|
(package private) Expression |
unBox()
Die Methode prüft, ob dieser Ausdruck dereferenziert, "entboxt" oder beides
werden muss.
|
ClassDeclaration type
boolean lValue
Position position
Expression(Position position)
position
- Die Quelltextposition, an der dieser Ausdruck beginnt.Expression contextAnalysis(Declarations declarations) throws CompileException
declarations
- Die an dieser Stelle gültigen Deklarationen.CompileException
- Während der Kontextanylyse wurde ein Fehler
gefunden.abstract void print(TreeStream tree)
tree
- Der Strom, in den die Ausgabe erfolgt.abstract void generateCode(CodeStream code)
code
- Der Strom, in den die Ausgabe erfolgt.Expression box(Declarations declarations) throws CompileException
declarations
- Die an dieser Stelle gültigen Deklarationen.CompileException
- Während der Kontextanylyse wurde ein Fehler
gefunden.Expression unBox()