Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Lexer für Scriptsprache (https://www.delphipraxis.net/116899-lexer-fuer-scriptsprache.html)

guidok 8. Jul 2008 13:11


Lexer für Scriptsprache
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen!

Ich möchte mal einen Lexer vorstellen, den ich für eine kleine Scriptsprache verwenden möchte. Die Frage nach dem Parsen von mathematischen Formeln taucht ja immer mal auf und vielleicht interessiert es ja jemanden, wie so etwas realisiert werden könnte.

Bei der Unit handelt es sich nur um einen Lexer, d.h. ein Script wird einfach in einzelne Token zerlegt, außerdem muss die Erkennung sicher noch etwas erweitert werden. Die Anpassung an eigene Vorstellungen ist recht einfach, ich wollte es ja auch für mich so einfach wie möglich halten.

Der Aufruf aus dem (noch nicht existierenden) Parser beschränkt sich auf eine Zuweisung des zu zerlegenden Strings und dem Lesen der Token.

Delphi-Quellcode:
begin
  memOutput.Lines.Clear;
  for i := 0 to memScript.Lines.Count - 1 do
  begin
    Lexer.LexStr := memScript.Lines[i]; //Zuweisung des Strings aus dem Script
    Lexer.GetToken(Token); //Lesen des ersten Tokens
    while Token.Kind <> tkUnknown do
    begin
      memOutput.Lines.Add(Token.Value);
      Lexer.GetToken(Token); //Lesen der weiteren Token
    end;
  end;
end;
Edit: Ach ja, es handelt sich hier einfach nur darum, so etwas einmal auszuprobieren. Es steckt kein tieferer Sinn dahinter...


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:01 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz