Modifier and Type | Method and Description |
---|---|
(package private) void |
Declarations.add(Declaration declaration)
Die Methode fügt eine neue Deklaration in die oberste Ebene ein.
|
(package private) Expression |
Expression.box(Declarations declarations)
Die Methode prüft, ob dieser Ausdruck "geboxt" oder dereferenziert werden muss.
|
(package private) void |
ClassDeclaration.check(ClassDeclaration expected,
Position position)
Die Methode prüft, ob dieser Typ kompatibel mit einem anderen Typ ist.
|
private ClassDeclaration |
SyntaxAnalysis.classdecl()
Die Methode parsiert eine Klassendeklaration entsprechend der oben angegebenen
Syntax und liefert diese zurück.
|
(package private) void |
Program.contextAnalysis()
Die Methode führt die Kontextanalyse für das Programm durch.
|
(package private) void |
IfStatement.contextAnalysis(Declarations declarations)
Die Methode führt die Kontextanalyse für diese Anweisung durch.
|
(package private) void |
WriteStatement.contextAnalysis(Declarations declarations)
Die Methode führt die Kontextanalyse für diese Anweisung durch.
|
(package private) Expression |
BinaryExpression.contextAnalysis(Declarations declarations)
Die Methode führt die Kontextanalyse für diesen Ausdruck durch.
|
(package private) void |
CallStatement.contextAnalysis(Declarations declarations)
Die Methode führt die Kontextanalyse für diese Anweisung durch.
|
(package private) void |
Assignment.contextAnalysis(Declarations declarations)
Die Methode führt die Kontextanalyse für diese Anweisung durch.
|
(package private) void |
ClassDeclaration.contextAnalysis(Declarations declarations)
Die Methode führt die Kontextanalyse für diese Klassen-Deklaration durch.
|
(package private) Expression |
UnaryExpression.contextAnalysis(Declarations declarations)
Die Methode führt die Kontextanalyse für diesen Ausdruck durch.
|
(package private) void |
VarDeclaration.contextAnalysis(Declarations declarations)
Führt die Kontextanalyse für diese Variablen-Deklaration durch.
|
(package private) void |
WhileStatement.contextAnalysis(Declarations declarations)
Die Methode führt die Kontextanalyse für diese Anweisung durch.
|
(package private) Expression |
Expression.contextAnalysis(Declarations declarations)
Die Methode führt die Kontextanalyse für diesen Ausdruck durch.
|
(package private) abstract void |
Declaration.contextAnalysis(Declarations declarations)
Führt die Kontextanalyse für diese Deklaration durch.
|
(package private) Expression |
NewExpression.contextAnalysis(Declarations declarations)
Die Methode führt die Kontextanalyse für diesen Ausdruck durch.
|
(package private) Expression |
AccessExpression.contextAnalysis(Declarations declarations)
Die Methode führt die Kontextanalyse für diesen Ausdruck durch.
|
(package private) Expression |
VarOrCall.contextAnalysis(Declarations declarations)
Die Methode führt die Kontextanalyse für diesen Ausdruck durch.
|
(package private) abstract void |
Statement.contextAnalysis(Declarations declarations)
Die Methode führt die Kontextanalyse für diese Anweisung durch.
|
(package private) void |
ReadStatement.contextAnalysis(Declarations declarations)
Die Methode führt die Kontextanalyse für diese Anweisung durch.
|
(package private) void |
MethodDeclaration.contextAnalysis(Declarations declarations)
Führt die Kontextanalyse für diese Methoden-Deklaration durch.
|
(package private) void |
VarOrCall.contextAnalysisForMember(Declarations declarations)
Die Methode führt die Kontextanalyse für diesen Ausdruck durch.
|
private Identifier |
SyntaxAnalysis.expectIdent()
Die Methode überprüft, ob das aktuelle Symbol ein Bezeichner ist.
|
private ResolvableIdentifier |
SyntaxAnalysis.expectResolvableIdent()
Die Methode überprüft, ob das aktuelle Symbol ein Bezeichner ist.
|
private void |
SyntaxAnalysis.expectSymbol(Symbol.Id id)
Die Methode überprüft, ob das aktuelle Symbol das erwartete ist.
|
private Expression |
SyntaxAnalysis.expression()
Die Methode parsiert einen Ausdruck entsprechend der oben angegebenen
Syntax und liefert ihn zurück.
|
private Expression |
SyntaxAnalysis.factor()
Die Methode parsiert einen Faktor entsprechend der oben angegebenen
Syntax und liefert den Ausdruck zurück.
|
private Expression |
SyntaxAnalysis.literal()
Die Methode parsiert ein Literal, die Erzeugung eines Objekts, einen
geklammerten Ausdruck oder einen einzelnen Zugriff auf eine Variable,
ein Attribut oder eine Methode entsprechend der oben angegebenen
Syntax und liefert den Ausdruck zurück.
|
private Expression |
SyntaxAnalysis.memberAccess()
Die Methode parsiert den Zugriff auf ein Objektattribut bzw. eine
Objektmethode entsprechend der oben angegebenen Syntax und liefert
den Ausdruck zurück.
|
private void |
SyntaxAnalysis.memberdecl(java.util.LinkedList<VarDeclaration> attributes,
java.util.LinkedList<MethodDeclaration> methods)
Die Methode parsiert die Deklaration eines Attributs bzw. einer Methode
entsprechend der oben angegebenen Syntax und hängt sie an eine von
zwei Listen an.
|
private void |
SyntaxAnalysis.methodbody(java.util.LinkedList<VarDeclaration> vars,
java.util.LinkedList<Statement> statements)
Die Methode parsiert die Deklaration eines Methodenrumpfes entsprechend der
oben angegebenen Syntax.
|
(package private) void |
LexicalAnalysis.nextSymbol()
Die Methode liest das nächste Symbol.
|
(package private) Program |
SyntaxAnalysis.parse()
Die Methode parsiert den Quelltext und liefert die Wurzel des
Syntaxbaums zurück.
|
private Expression |
SyntaxAnalysis.relation()
Die Methode parsiert eine Relation entsprechend der oben angegebenen
Syntax und liefert den Ausdruck zurück.
|
private void |
Declarations.resolve(ResolvableIdentifier identifier)
Die Methode ordnet einen Bezeichner seiner Deklaration im Programm zu.
|
(package private) void |
Declarations.resolveType(ResolvableIdentifier type)
Die Methode ordnet einen Typ seiner Deklaration im Programm zu.
|
(package private) void |
Declarations.resolveVarOrMethod(ResolvableIdentifier varOrMethod)
Die Methode ordnet eine Variable, ein Attribut oder einen Methodenaufruf
der zugehörigen Deklaration im Programm zu.
|
private void |
SyntaxAnalysis.statement(java.util.LinkedList<Statement> statements)
Die Methode parsiert eine Anweisung entsprechend der oben angegebenen
Syntax und hängt sie an eine Liste an.
|
private void |
SyntaxAnalysis.statements(java.util.LinkedList<Statement> statements)
Die Methode parsiert eine Folge von Anweisungen entsprechend der
oben angegebenen Syntax und hängt sie an eine Liste an.
|
private Expression |
SyntaxAnalysis.term()
Die Methode parsiert einen Term entsprechend der oben angegebenen
Syntax und liefert den Ausdruck zurück.
|
(package private) static void |
ClassDeclaration.typeError(ClassDeclaration expected,
Position position)
Die Methode erzeugt eine Ausnahme für einen Typfehler.
|
private void |
SyntaxAnalysis.unexpectedSymbol()
Die Methode erzeugt einen "Unerwartetes Symbol"-Fehler.
|
private void |
SyntaxAnalysis.vardecl(java.util.LinkedList<VarDeclaration> vars,
boolean isAttribute)
Die Methode parsiert die Deklaration eines Attributs bzw. einer Variablen
entsprechend der oben angegebenen Syntax und hängt sie an eine Liste an.
|
Constructor and Description |
---|
BoxExpression(Expression operand,
Declarations declarations)
Konstruktor.
|
SyntaxAnalysis(java.lang.String fileName,
boolean printSymbols)
Konstruktor.
|