AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi-Grammatik

Ein Thema von Codewalker · begonnen am 2. Jun 2009 · letzter Beitrag vom 11. Jun 2009
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#1

Delphi-Grammatik

  Alt 2. Jun 2009, 19:20
Ich bin auf der Suche nach der Grammatik von Delphi, vorzugsweise in (E)BNF, um einen kleinen Lexer/Parser zu schreiben. Hat jemand so etwas schonmal gefunden/erstellt, weil das von vorne zu beginnen ist mehr als nur aufwändig
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Delphi-Grammatik

  Alt 2. Jun 2009, 19:22
http://www.felix-colibri.com/papers/...5_grammar.html

Ist zwar Delphi 5, aber ein guter Anfang.

[edit] Unten ist noch ein Link zur Delphi 6 Grammatik inkl. Beispielprojekt (Scanner, Parser) [/edit]
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Delphi-Grammatik

  Alt 2. Jun 2009, 19:53
Hallo Codewalker,

Joe White hat die Delphi-Grammatik analysiert und präsentiert das Ergebnis seiner Arbeit auf dieser Seite.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Florian Hämmerle
(Gast)

n/a Beiträge
 
#4

Re: Delphi-Grammatik

  Alt 2. Jun 2009, 20:46
Zitat von Codewalker:
Ich bin auf der Suche nach der Grammatik von Delphi, vorzugsweise in (E)BNF, um einen kleinen Lexer/Parser zu schreiben. Hat jemand so etwas schonmal gefunden/erstellt, weil das von vorne zu beginnen ist mehr als nur aufwändig
klein wird der dann auf jeden Fall nicht. Selbst wenn du nur die Syntax von Delphi 1 nimmst. Aber wenns was wird :daumen hoch:

mfg Florian
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Delphi-Grammatik

  Alt 2. Jun 2009, 20:58
Guten Abend,

auch wenn es nicht gefordert war.
Die ENBF Grammatik von Pascal ,
sie ist noch so einigermaßen überschaubar.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Florian Hämmerle
(Gast)

n/a Beiträge
 
#6

Re: Delphi-Grammatik

  Alt 2. Jun 2009, 21:00
Zitat von Klaus01:
Guten Abend,

auch wenn es nicht gefordert war.
Die ENBF Grammatik von Pascal ,
sie ist noch so einigermaßen überschaubar.

Grüße
Klaus
Tjo. Überschaubar kann man jetzt verschieden verstehen Wenn man das alles implementiert hat man was mächtiges entstehen lassen. (so wie die Script-Engine von littleDave!)

mfg Florian
  Mit Zitat antworten Zitat
Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#7

Re: Delphi-Grammatik

  Alt 3. Jun 2009, 12:47
Danke für die vielen Antworten. Ist alles andere als überschaubar. Im Prinzip möchte ich zu einem gegebenen Quelltext einen AST (Abstract Syntax Tree) bauen, und das scheint doch aufwändiger zu werden. Egal, dann dauerts halt
Thomas
  Mit Zitat antworten Zitat
schöni

Registriert seit: 23. Jan 2005
Ort: Dresden
445 Beiträge
 
Delphi 7 Personal
 
#8

Re: Delphi-Grammatik

  Alt 11. Jun 2009, 12:24
Hallo!

Ich beschäftigen mich soeben mit der EBNF der Delphi Grammatik.

Nun gibt es den Delphi Compiler Generator.


Gibt es auch irgendwo eine verständlich geschriebene Dokumentation zur Beschreibungssprace der EBNF?

Denn wenn ich eine Grammatik für eine Programmiersprache beschreiben will, brauche ich ja Wörter, die beschreiben, was ein <expression> ist. Leider hab ich den Eindruck, das hier:

http://www.felix-colibri.com/papers/...5_grammar.html

die Syntax nicht eindeutig ist. Einerseits sind Wörter wie "CASE" oder "OF" goross geschrieben. Andererseits aber ebenso Wörter wir "READ" oder "WRITEONLY". Letztere sind Anweisungen für Lexer und Parser, während "CASE" und "OF" reservierte Wörter der Programmiersprache, hier Delphi, sind.

So brauche ich also eine Sprachdefinition, wenn möglich mit Beispielen, für die Beschtreibungssprache der EBNF, der Sprachgrammatik.

Habe mir die Dokumentation zum Delphi Compiler Generator durchgelesen. Da ist die Syntax für die Beschreibung der zu parsenden Programmiersprache wiederum anders, als auf der genannten Internet - Seite. Leider ist Dokumentation der Beschreibungssprache des Delphi Compiler Generators für mich zu kurz. Gibt es da ausführlichere Beschreibungen? Evtl. Bücher?

Leider meldert der Delphi Compiler Generator auch bei den mitgelieferten Beispielprojekten Fehler, deren Ursache ich wohl erst dann erkennen werde, wenn mir die Beschreibungssprache geläufig ist. im DCG gibt es keine Hilfefunktion.

Die Syntax der Beschreibungssprache unterscheidet sich leider auch von derjenigen im oben genannten Link, obwohl mit der PC Tastatur die eben da verwendete Syntax mit englichher oder deutscher Tastatur realisierbar wäre. reservierte Wörter müssen ja dabei nicht unterstrichen sein. Unterstrichene Darstellung könnte der Syntaxeditor beim Highlighting für die reservierten Wörter übernehmen.
Damit der Topf nicht explodiert, lässt man es ab und zu mal zischen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#9

Re: Delphi-Grammatik

  Alt 11. Jun 2009, 12:41
Schonmal bei Embarcadero angefragt?

Es wäre ja auch für die praktisch, wenn sie zumindestens intern soetwas in der Art hätte, damit sie selber wüßten, was da so alles abläuft


Ansonsten klingt es interessant und würde bestimmt auch hierfür gut zu gebrauchen sein
> Unit-Abhängigkeiten visualisieren
$2B or not $2B
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#10

Re: Delphi-Grammatik

  Alt 11. Jun 2009, 12:58
Zitat von himitsu:
Ansonsten klingt es interessant und würde bestimmt auch hierfür gut zu gebrauchen sein
> Unit-Abhängigkeiten visualisieren
Ja, das wäre wirklich eine grosse Erleichterung, wenn man alle effektiv in einem Projekt verwendeten Units ermitteln könnte. Aber da gibt es so viele Stolpersteine:

- die globalen IDE Bibliotheks- und Suchpfade (die auch Variablen enthalten können)
- die Build-Konfiguration des Projekts (die auch hierarchisch sein kann), mit weiteren Source-Pfaden
- {$IFDEF} und {$IF} & Co.
- explizit angegebene Units in der DPR Datei
- Unit-Aliase
- Namespaces (!), siehe DCC32 Option -NS

Bis man davon auch nur zehn Prozent abdecken kann, ist man schon fast in Rente

Für die Entwicklung von Qualitätsanalyse-Tools wie Pascal Analyzer, CodeHealer, EyeBol oder cnWizards wäre es wirklich eine grosse Erleichterung, wenn CodeGear für Delphi eine Möglichkeit anbieten würde, alle 'effektiven' Units eines Projekts zu ermitteln.

Oder kann man dcc32.exe unter msbuild so aufrufen, dass die Unit-Abhängigkeiten aufgelistet werden? Wie man die Pfade ermittelt, ist relativ einfach (siehe http://stackoverflow.com/questions/970994). Aber schon das simple Verwenden der in - Klausel in der Projektdatei (Unit1 in '..\ganz\weit\weg\Unit1.pas') würde einen DPR oder DPROJ Parser erfordern.
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 03:15 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