Einzelnen Beitrag anzeigen

SebE

Registriert seit: 31. Jul 2004
Ort: Chemnitz
316 Beiträge
 
Delphi 7 Personal
 
#27

Re: Automaten in Source Code

  Alt 21. Nov 2009, 21:11
Was mir grad noch auffällt:

Delphi-Quellcode:
Const
  DEA : Array [symDigit..symTerminal, stStart..stDecimals] =
// symDigit , symKomma, symTerminal
{stStart }  (stDigits , stError , stError),
{stDigits}  (stDigits , stComma , stStop),
{stComma}   (stDecimals, stError , stError),
{stDecimals}(stDecimals, stError , stStop)
            );
Du musst deine Eingabe (wir gehen davon aus, dass wir sie als String bekommen) erst einmal in deine Token/Symbole umwandeln.
Spricht du brauchst einen Scanner/Lexer -> dann kommst du ja auch nicht um deine Case-Anweisung.

Das war der Grund, warum meine Tabelle so riesig geworden ist (zwar groß, aber schnell).

Es bleibt natürlich immernoch Geschmackssache.
Ich für meinen Teil, bastle mir meine Parser (TopDown) ohne Generatoren -> Ich bin an die Cases gewöhnt.
Die Tabellenlösung kommt aus der "BottomUp-Ecke".

PS: die Quellcodes tun das, was ich von ihnen verlangt habe (Delphi 7 PE)
Sebastian
  Mit Zitat antworten Zitat