Laden...

Kleiner Parser / Syntaxchecker für PERL

Erstellt von Fabian vor 18 Jahren Letzter Beitrag vor 18 Jahren 2.454 Views
Fabian Themenstarter:in
1.985 Beiträge seit 2004
vor 18 Jahren
Kleiner Parser / Syntaxchecker für PERL

Hallo Forum,

ich würde mir für den Berufsschulunterricht gernen einen kleinen PERL Editor schreiben, da der, den wir zurzeit benutzen, einfach Schrott ist und ich gerne etwas an dem Projekt lernen will.

Dazu bräuchte ich einen kleinen Syntaxchecker für PERL-Skripte. Mir würde schon eine Klammerprüfung reichen, die nachschaut und mir evtl. anzeigt, ob es eine öffnenden und eine schließende Klammer gibt.

Kann mir dazu jemand Infos geben oder hat vielleicht jemand eine Idee, wie man sowas anfangen kann?

Gruß,
Fabian

"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)

Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…

Blog: www.fabiandeitelhoff.de

C
980 Beiträge seit 2003
vor 18 Jahren

Schau dir mal ANTLR an, damit kannst dir automatisch einen Parser (und somit auch Syntaxchecker) in C# generieren lassen ... unter "Grammars" findest du auch diverse Grammatiken, PERL hab ich auf die Schnelle nicht gesehen, Google hilft da aber sicher weiter ... falls es aber nur um Klammern geht ist das auch schnell selber geschrieben ...

wobei, in diesem Fall wäre es wahrscheinlich einfacher das gleich selber zu schreiben 😉

Fabian Themenstarter:in
1.985 Beiträge seit 2004
vor 18 Jahren

_Original von cdr_in diesem Fall wäre es wahrscheinlich einfacher das gleich selber zu schreiben 😉

Hallo cdr,

danke erstmal für den Link. Werde ich mir auf jeden Fall mal anschauen.

Wie würde man denn sowas angehen, wenn man es selber schreiben will? Ich müsste mir ja die Klammern merken oder, die öffnen bzw. schließen. Ich hab irgendwie noch keine richtige Idee.

Ich kann mir aber schon vorstellen, dass das Selberschreiben nicht viel mehr Aufwand bedeutet, weil es sich ja um eine kleine Anforderung handelt.

Gruß,
Fabian

"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)

Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…

Blog: www.fabiandeitelhoff.de

1.271 Beiträge seit 2005
vor 18 Jahren

Zu den öffnenden und schließenden Klammern findest du hier was:
Regex: Anzahl öffnende = Anzahl schließende Klammern

Gruß progger

A wise man can learn more from a foolish question than a fool can learn from a wise answer!
Bruce Lee

Populanten von Domizilen mit fragiler, transparenter Außenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
Wer im Glashaus sitzt, sollte nicht mit Steinen werfen.

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo Fabian,

Klammern zählen ist doch nun simpel. Datei zeichenweise einlesen und für jede '{' ++Zaehler und für jede '}' --Zaehler. Den Aufwand mach hier zu erkennen, ob man die Klammer zählen muss oder nicht, z.B. in Kommentaren, Strings, Regex u.ä.

Dazu musst du dir die Zustände merken (z.B. InKommenar) und entsprechende des/der nächsten Zeichen entscheiden, wie der Zustand wechselt. Eigentlich ganz einfach. 🙂

herbivore

Fabian Themenstarter:in
1.985 Beiträge seit 2004
vor 18 Jahren

Original von herbivore
Hallo Fabian,

Klammern zählen ist doch nun simpel. Datei zeichenweise einlesen und für jede '{' ++Zaehler und für jede '}' --Zaehler. Den Aufwand mach hier zu erkennen, ob man die Klammer zählen muss oder nicht, z.B. in Kommentaren, Strings, Regex u.ä.

Dazu musst du dir die Zustände merken (z.B. InKommenar) und entsprechende des/der nächsten Zeichen entscheiden, wie der Zustand wechselt. Eigentlich ganz einfach. 🙂

herbivore

Hallo herbivore,

da hast Du eigentlich Recht. Ist wirklich nicht so schwer. Ich werd mich einfach mal dran setzen und ein bissle basteln.

Gruß,
Fabian

"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)

Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…

Blog: www.fabiandeitelhoff.de