Home-Produkte-Testarea-Kontakt-Datenschutz-Aktualisiert: 06-Jul-2009
< Voriger Tag   Nächster Tag >

Montag, 06. Juli 2009

Lx0: Prototyp -- Scope

Scope für den Sichtbarkeitsbereich hat SymbolTable ersetzt, womit schon einmal der Aufruf von Prozeduren funktioniert.

Scope ist aus dem ANTLR Wiki abgeleitet. Über parent sind die einzelnen Sichtbarkeitsbereiche miteinander verknüpft. pop() liefert den jeweils darüberliegenden Bereich. Die weiteren Methoden sind aus SymbolTable übernommen:

public class Scope {
    private Scope parent = null;
    private HashMap symbols = new HashMap();

    public Scope pop() {}

    public Symbol getSymbol(String name) {}
    public void putSymbol(Symbol symbol) {}
    ...

SymbolProcedure

SymbolProcedure erweitert Symbol um die Parameterliste. Diese enthält Referenzen auf die Symbole im aktuellen Bereich und dient dann im nächsten Schritt zum Überprüfen der Typen beim Aufruf:

public class SymbolProcedure extends Symbol {

    private List <Symbol> parameters = new ArrayList();

    public void addParameter(Symbol symbol) {
        this.parameters.add(symbol);
    }

expr mit Typ

Dazu müssen die Ausdrücke noch Typen enthalten. Das werde ich zunächst mit der Zuweisung ausprobieren, da muss bei versuchter Zuweisung eines floats an einer int-Variable ja auch eine Fehlermeldung erfolgen und der Zuweisungscode ist übersichtlicher als der Prozedurencode.

Quelltext

Der komplette Lx0-Quelltext steht in Subversion.

[Direktlink]

Atomkraft: Krümmels Restlaufzeit auf Konkurrenten verteilen

Krümmel schließen und als Strafe die Restlaufzeit auf moderne Atomkraftwerke der Konkurrenten verteilen.

Atomkraft ist eine Technik der Vergangenheit, nicht der Zukunft.

[Direktlink]

< Voriger Tag   Nächster Tag >

  RSS V0.91

<Juli 2009 >
  0102030405
06070809101112
13141516171819
20212223242526
2728293031  

Home-Produkte-Testarea-Kontakt-Datenschutz-Aktualisiert: 06-Jul-2009
(C) 2000-2018 by Sven Drieling