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
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 😉
_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
Zu den öffnenden und schließenden Klammern findest du hier was:
Regex: Anzahl öffnende = Anzahl schließende Klammern
Gruß progger
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
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