AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi [Mission Impossible] CSS Parser erstellen...
Thema durchsuchen
Ansicht
Themen-Optionen

[Mission Impossible] CSS Parser erstellen...

Ein Thema von Daniel G · begonnen am 12. Aug 2006 · letzter Beitrag vom 12. Aug 2006
 
Daniel G
(Gast)

n/a Beiträge
 
#1

[Mission Impossible] CSS Parser erstellen...

  Alt 12. Aug 2006, 01:55
Ihr,

Nachdem ich mich durch eine mehrere hundert Zeilen kleine CSS - Datei kämpfen musste, kam mir die großartige Idee, ich könnte ja einen CSS - Parser schreiben, der als Grundlage für einen CSS - Editor dienen soll. Die Kernfrage, die man sich natürlich stellt, lautet:

Wie stelle ich das am elegantesten an?

Also habe ich hier im Forum a bissel gesucht und bin dabei immer wieder auf die Begriffe "Scanner" und "Token" gestoßen. Auch von DEA war die Rede, und nachdem ich Wikipedia endlich klar gemacht hatte, dass ich nichts mit einer Tankstelle zu tun haben will, sondern etwas über "deterministische endliche Automaten" wissen wil, fiel ich ob der vielen mathematischen Symbole in dem Artikel glatt vom Hocker. Sofort schloss ich die Seite wieder und setzte meinen gesunden Menschenverstand ein.

Was muss ich eigentlich beachten?

Im Prinzip brauch ich erstmal eine Definition der Sprache, also quasi deren Grammatik. Die soll, laut Wikipedia, so aussehen:

Code:
Selektor { Eigenschaft-A: Wert-A; Eigenschaft-B: Wert-B; } /* Kommentar */
Prinzipiell also doch gar nicht so schwer: "{" leitet einen neuen Block ein, ergo ist das Wort davor der Selektor. Dann kommen die Eigenschaften. Links vom ":" steht die Eigenschaft, rechts davon der Wert, dessen Ende durch ein ";" gekennzeichnet ist. Der Block wird durch ein "}" wieder geschlossen.

Es klingt vielleicht jetzt sehr naiv, aber könnte man mit dieser Vorgehensweise und der aktuellen CSS2 - Definition (über CSS3 reden wir nochmal) einen halbwegs vernünftigen Parser schreiben? Und wie würde ich sowas programmiertechnisch geschickt umsetzten können? Evtl. über eine baum - ähnliche Struktur?

P.S.: Wer sich jetzt fragt: "Wat will der Kerl eigentlich von mir?": Im Prinzip will ich nur wissen, ob der eingeschlagene Weg der richtige ist, oder ob ich damit mit meiner typischen "so schwer kann das ja nicht sein" - Naivität evtl. gehörig auf die Schnauze fliegen kann.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz