AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Projekt zur Erstellung einer Sprachspezifikation gestartet
Thema durchsuchen
Ansicht
Themen-Optionen

Projekt zur Erstellung einer Sprachspezifikation gestartet

Ein Thema von TurboMagic · begonnen am 12. Feb 2022 · letzter Beitrag vom 3. Apr 2022
Antwort Antwort
Seite 2 von 2     12   
Sailor

Registriert seit: 20. Jul 2008
Ort: Balaton
112 Beiträge
 
Delphi 2010 Professional
 
#11

AW: Projekt zur Erstellung einer Sprachspezifikation gestartet

  Alt 16. Feb 2022, 22:32
Gibt es Näheres zu dem Autor? Hat der eventuell Kontakt zu Embarcadero? Wie gesagt, der Löwenanteil der Arbeit ist die Validierung der Grammatik. Zumindest die Quellen der VCL müßten akzeptiert werden. Ich sitze zur Zeit gerade an einer Parsersuite, in Delphi geschrieben. Da brauche ich sicher noch 2 oder 3 Wochen. Vielleicht setze ich mich danach mal an die Grammatik. Strittige Auslegungen lassen sich wahrscheinlich mit der aktuellen Version von Delphi beantworten. Zumindest den kontextfreien Teil sollte man hinkriegen. Für die Toolentwicklung könnte das eventuell erstmal ausreichen.
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.960 Beiträge
 
Delphi 12 Athens
 
#12

AW: Projekt zur Erstellung einer Sprachspezifikation gestartet

  Alt 17. Feb 2022, 18:22
Zum Thema Validierung: wenn's dann mal soweit ist hab' ich Kontakte zu EMBT
und wir können dann versuchen da eine Validierung hinzubekommen.

Ich würde mich jedenfalls freuen, wenn du demnächst mal drüber schaust.
Du kannst Änderungen entweder als Pull Request einreichen oder wenn du willst
und deinen GitHub Benutzernamen angibst kannst du auch direkt Commit Rechte bekommen.
  Mit Zitat antworten Zitat
Sailor

Registriert seit: 20. Jul 2008
Ort: Balaton
112 Beiträge
 
Delphi 2010 Professional
 
#13

AW: Projekt zur Erstellung einer Sprachspezifikation gestartet

  Alt 17. Feb 2022, 21:01
Wenn ich mit den aktuellen Sachen durch bin, setze ich mich dran, wenn nichts dazwischen kommt. Eventuell kann ich die Delphi7-Grammatik als Basis nehmen. So Ende Februar wird das klar sein.
  Mit Zitat antworten Zitat
Sailor

Registriert seit: 20. Jul 2008
Ort: Balaton
112 Beiträge
 
Delphi 2010 Professional
 
#14

AW: Projekt zur Erstellung einer Sprachspezifikation gestartet

  Alt 3. Apr 2022, 17:34
Es hat denn doch länger gedauert als gedacht, aber sei's drum.
Ich habe die Grammatik von EBNF in BNF-Form gebracht, zum einen, weil mein Generator nur BNF versteht, zum anderen, weil das den Anschluß der Funktionen erheblich erleichtert, die die kontext-abhängige Syntax überprüfen sollen. Dabei habe ich mir die Freiheit genommen, Konstruktionen wie "VAR ;" oder "CONST ;" zu entfernen. Möglicherweise hat der Autor eine Obermenge von Delphi definiert, kann sein, daß das für die Entwicklung von Tools besser ist. Er verwendet aber auch Dinge wie "[ ',' <ConstExpr> ]*" neben "( <ConstantDecl> ';' )*". Letzteres steht allgemein für "Kann fehlen oder beliebig oft vorkommen", während die Konstruktion in eckigen Klammern "Einmal oder keinmal" bedeutet und so eigentlich keinen Unterschied bringt. Mir erscheint das suspekt.
Von 968 Zuständen weisen 62 Konflikte auf, 80 Shift-Reduce- und 34 Reduce-Reduce-Konflikte. Mit dem größten Teil der Shift-Reduce-Konflikte kann man wahrscheinlich leben. Auf die Reduce-Reduce-Konflikte trifft das nicht zu, die ändern die Sprache zu sehr.
Fazit: Ich bezweifele, daß die Grammatik als Ausgangspunkt für die Definition einer ordentlichen Sprachreferenz geeignet ist. Jedenfalls ist das nicht ohne sehr viel Arbeit zu schaffen. Erschwerend kommt hinzu, daß auch die Sprachbeschreibung in der Hilfe auf subtile Fragen kaum Antworten hat. Das läßt sich nur durch intensives Testen klären, was einen immensen Aufwand bedeutet. Und niemand garantiert, daß im nächsten Release das alles noch so ist. Beispiele für solche kleinen Änderungen, die einen ratlos werden lassen, findet man auch hier in der Praxis.
Ich zitiere Dich mal: "Ja aber ist das nicht jede Menge Arbeit? Vermutlich weniger als du denkst! ". Nope, es ist viel mehr, als man denkt, leider.
Ich hänge mal die transformierte Grammatik dran, zur gefälligen Selbstbedienung. Selbstverständlich kann ich bei diesem Rewrite Fehler reingebracht haben, mea culpa, also bitte konstruktiv meckern.
Angehängte Dateien
Dateityp: txt Object Pascal Grammar.txt (33,0 KB, 12x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 19:59 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