TParser Class, Dokumentation?

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Mario Peters
Beiträge: 50
Registriert: Sa 26. Apr 2025, 22:41

TParser Class, Dokumentation?

Beitrag von Mario Peters »

Hallo,

ich suche aussagekräftige Dokumentation zur TParser Klasse. Ich habe mich ein wenig in Compilerbau eingelesen und weiß bereits, dass um einen Quellcode zu parsen zuerst mal eine lekikalische Analyse nötig ist um die Grammatik eine Compilers zu ermitteln bzw. zu rüfen, ob ein Parser dieser Grammatik genügt. Dann müssen die Zeichen des Quellcodes eingelesen und in der Programmiersprache gülitigen Symbolen zugeordnet werden,... bei einstelligen Symbolen mag das noch relativ einfach sein, aber ObkectPascal weist nicht nur einstelleige Symbole auf, es gibt zahlreiche reservierte Wörter, die keine Variablen sind, jedenfalls nicht parallel als Variable verwenet werden dürfen, das muss ein Parser prüfen. Weitere Analyseschritte sind nötig. So weit so gut. Aber was davon kann unsere TParser Klasse davon bereits und wo gibt es noch Programmierarbeit zu tun? Mir schwebt ein Parser vor, der erkennt, ob gerade ein Bezeixhner wie "Unit", "Interface", "Uses" .... gefundwn wurde und an welcher Position im Quellcode. Nun könnte ich ja gemäß den Ausführungen in meiner Doku zum Compilerbau eigene Routinen schreiben, die diese Aufgaben erfüllen, ich könnte aber auch die TParser Klasse nutzen, Aber was kann dieser Parser bereits und wo gibt es noch Arbeit zu tun? Soll zunächst ein reines Übungsprojekt werden um den Umgang mit der TParser Klasse zu erlenen. Syntax Highlighting ist auch ein interseeantes Feld. Dabei dürfte so ein Parser auch mein Freund sein. Um den es hier in Erster Linie gehen soll. Ich habe auch lexx und yacc gefunden in der Freepasal Distribution, ich schätze, dass ich auch dafür Dokumemtation benötige. Aber woher bekommen?
Zuletzt geändert von Mario Peters am Do 26. Feb 2026, 20:43, insgesamt 1-mal geändert.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 7189
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: TParser Class, Dokumentation?

Beitrag von af0815 »

Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Mario Peters
Beiträge: 50
Registriert: Sa 26. Apr 2025, 22:41

Re: TParser Class, Dokumentation?

Beitrag von Mario Peters »

Ja, genau! Danke! Supi! Aber was muss vor dem (at) Zeichen stehen...? Wenn ich warfley(at)warf als Email Adresse angebe meckert mein Mail Programm. Format stimmt angeblich nicht, warum? Habe doch das (at) durch das entsprechende Zeichen ersetzt. Will ihn nämlich kontaktieren! Und die anderen beiden Links guck ich mir auch an!
Zuletzt geändert von Mario Peters am Do 26. Feb 2026, 16:20, insgesamt 1-mal geändert.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 7189
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: TParser Class, Dokumentation?

Beitrag von af0815 »

Mario Peters hat geschrieben: Do 26. Feb 2026, 15:19 Ja, genau! Danke! Supi! Das wäre wohl dann warfley(at)...?

Werde ich machen, ihn fragen! Und die anderen beiden Links guck ich mir auch an!
Warf hier im Forum.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Mario Peters
Beiträge: 50
Registriert: Sa 26. Apr 2025, 22:41

Re: TParser Class, Dokumentation?

Beitrag von Mario Peters »

Wie lautet der exakte username ich wollte gerade eine Privatnachricht an ihn absenden aber der Name wird NICHT akzeptiert, warum nicht, was muss ich tun um eine PN von meinem Account abzuschicken?

Privte Nachrichten habe ich angeklickt, dann neue Nachricht, dann kommt da eine Empfänger Zeile mit einem Button "Hinzufügen", das bewirkt aber nichts, die Nachricht wird einfach nicht gesendet wenn ich da Warf eingebe und die Nachricht senden will, meine Vorschau bleibt sichtbar aber keine Mitteiling das die Nachricht gesendet wurde! Also kann nur der Username falsch sein oder? was könnte ich noch falsch gemacht haben?


Mario Peters
Beiträge: 50
Registriert: Sa 26. Apr 2025, 22:41

Re: TParser Class, Dokumentation?

Beitrag von Mario Peters »

Danke, habe Warf bereits kontaktiert, wenn auch etwas ungewöhnlich.

PascalDragon
Beiträge: 1029
Registriert: Mi 3. Jun 2020, 07:18
OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
CPU-Target: Aarch64 bis Z80 ;)
Wohnort: München

Re: TParser Class, Dokumentation?

Beitrag von PascalDragon »

Mario Peters hat geschrieben: Mi 25. Feb 2026, 21:17 ich suche aussagekräftige Dokumentation zur TParser Klasse. Ich habe mich ein wenig in Compilerbau eingelesen und weiß bereits, dass um einen Quellcode zu parsen zuerst mal eine lekikalische Analyse nötig ist um die Grammatik eine Compilers zu ermitteln bzw. zu rüfen, ob ein Parser dieser Grammatik genügt. Dann müssen die Zeichen des Quellcodes eingelesen und in der Programmiersprache gülitigen Symbolen zugeordnet werden,... bei einstelligen Symbolen mag das noch relativ einfach sein, aber ObkectPascal weist nicht nur einstelleige Symbole auf, es gibt zahlreiche reservierte Wörter, die keine Variablen sind, jedenfalls nicht parallel als Variable verwenet werden dürfen, das muss ein Parser prüfen. Weitere Analyseschritte sind nötig. So weit so gut. Aber was davon kann unsere TParser Klasse davon bereits und wo gibt es noch Programmierarbeit zu tun? Mir schwebt ein Parser vor, der erkennt, ob gerade ein Bezeixhner wie "Unit", "Interface", "Uses" .... gefundwn wurde und an welcher Position im Quellcode. Nun könnte ich ja gemäß den Ausführungen in meiner Doku zum Compilerbau eigene Routinen schreiben, die diese Aufgaben erfüllen, ich könnte aber auch die TParser Klasse nutzen, Aber was kann dieser Parser bereits und wo gibt es noch Arbeit zu tun? Soll zunächst ein reines Übungsprojekt werden um den Umgang mit der TParser Klasse zu erlenen. Syntax Highlighting ist auch ein interseeantes Feld. Dabei dürfte so ein Parser auch mein Freund sein. Um den es hier in Erster Linie gehen soll. Ich habe auch lexx und yacc gefunden in der Freepasal Distribution, ich schätze, dass ich auch dafür Dokumemtation benötige. Aber woher bekommen?
Welchen TParser meinst du? Im FPC Projekt gibt es den TPasParser als Teil von fcl-passrc, der auch für den pas2js-Compiler und für das Generieren der Dokumentation mit fpdoc genutzt wird.
FPC Compiler Entwickler

Mario Peters
Beiträge: 50
Registriert: Sa 26. Apr 2025, 22:41

Re: TParser Class, Dokumentation?

Beitrag von Mario Peters »

Nein, ich meine den, der in der Unit Classes implementiert ist. Habe ich in der Doku zur Classes Unit gefunden. Da Du aber nach den Quellcodesin fcl-passrc fragst, lass uns auf die Klasse TPasParser in der Unit PParser Bezug nehmen. Dort kann ich mir den Ablauf dank Kennnis der Programmiersprache Pascal am besten vorstellen. Mit meinem Wissen über das Thema gehe ich eh davon aus, dass ein Scanner eher die Vorarbeit für die Codeanalyse leistet.

Warf
Beiträge: 2283
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: TParser Class, Dokumentation?

Beitrag von Warf »

Ich hab dir eine PM geschickt, aber wenn du Fragen zu GOLD hast kannst du die auch direkt hier Fragen :)

Antworten