Wie funktioniert die Syntax-Definition(Backus naur form) für z.B. <float>? Vielen Dank!
Naja. So schwer ist das dann auch wieder nicht. Mal dir ein paar Floating Point Zahlen auf und sieh dir an, was da alles vorkommen kann. Und dann giesst du das in eine Regel. Eine Floating Point Zahl besteht aus .... gefolgt von .... Allerdings ist das für diese Basistypen meist von akademischen Interesse (man kann es machen). In einem realen Compiler erledigt diesen Schritt meistens der lexikalische Scanner, der den Inputtext bereits in Tokens auflöst. Und erst ab dieser Tokenebene baut man einen Scanner auf einer EBNF auf.
Die Frage hört sich fast so an, - als ob diese Frage noch niemand auf der Welt gestellt hätte oder - also ob sie noch niemand auf der Welt beantwortet hätte oder - als ob noch niemand die Antwort im Internet veröffentlicht hätte oder - als ob die entsprechende Webseite so kryptisch gestaltet wäre, dass sie nicht einmal Google finden kann. Also jetzt mal ein ganz kleines Bisschen Eigeninitiative, oder?
Yalu X. schrieb: > Die Frage hört sich fast so an, > > - als ob diese Frage noch niemand auf der Welt gestellt hätte oder > - also ob sie noch niemand auf der Welt beantwortet hätte oder > - als ob noch niemand die Antwort im Internet veröffentlicht hätte oder > - als ob die entsprechende Webseite so kryptisch gestaltet wäre, dass > sie nicht einmal Google finden kann. - als ob sie ähnlich schwer wie Raketentechnik ist - als ob es schwierig ist, das womit man hochkommt zu kontrollieren. TO: kann deine BNF diese Dinge korrekt als Floating Point Zahl erkennen? -23. -23.5 -23.5E-6 23. 23.5 23.5E6 23.5E+6 +23. +23.5 +23.5E6
Karl Heinz Buchegger schrieb: > kann deine BNF diese Dinge korrekt als Floating Point Zahl erkennen? > > -23. > -23.5 > -23.5E-6 > 23. > 23.5 > 23.5E6 > 23.5E+6 > +23. > +23.5 > +23.5E6 Vielleicht diese noch: 23E6 23.5e-6 .5 Damit würden zumindest diejenigen Schreibweisen unterstützt, die in praktisch allen Programmiersprachen gültig sind. In Fortran sollte zusätzlich 23.5D6 und in C 23.5e6f 23.5e6l 0x23.5p6 möglich sein. Ich würde aber trotzdem mal Google, Wikipedia usw. bemühen. Da wurde schon sooo viel zu dem Thema geschrieben.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.