AGB  ·  Datenschutz  ·  Impressum  







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

Parser: Operatoren

Ein Thema von blablab · begonnen am 13. Apr 2012 · letzter Beitrag vom 16. Apr 2012
 
Furtbichler
(Gast)

n/a Beiträge
 
#4

AW: Parser: Operatoren

  Alt 13. Apr 2012, 07:26
@ Furtbichler:
Vom Standpunkt eines Parsers gesehen ist ein Vorzeichen genauso ein Operator wie alle anderen, eben ein unärer Operator.
Diese Aussage verstehe ich nicht. Vom Standpunkt des Parsers ist ein Operator kein Vorzeichen. Das Token ist das gleiche, aber im Kontext eines Terms wird das Token MINUS als Operator erkannt. Während des Parsens eines Wertes dagegen als Vorzeichen. Mit "Look ahead ist da nichts.
Zitat:
Eine unären Operator erkannt der Scanner daran, dass im Ausdruck auf einer der beiden Seiten kein Operand,
Der Scanner erkennt hier nichts, er macht kein Look ahead. Er unterscheidet zwischen terminalen und nicht terminalen Symbolen und liefert Token. Hier ist ein '-' ein MINUS, egal in welchem Kontext.

Durch spezielle Zeichen des Alphabets kann es sein, das ein Look Ahead durchgeführt werden muss.

Bei Pascal z.B. betrifft dies den '.' (wie in 7.1) und '..' (wie in [1..2]). Beim erkennen eines '.' muss das nächste Zeichen geprüft werden, um zu entscheiden, ob sich im Eingabestream um ein DOT oder ein DOTDOT-Symbol (=Token) handelt.

Zitat:
Echte Mehrdeutigkeiten gibt es insofern nicht, als ihre auflösung durch die Vorgabe einer Auswertungsrichtung gegeben ist.
Grammatikalisch schon, siehe 'dangling else'. Dort kann die Grammatik als solche keine Eindeutigkeit liefern. Das macht die Implementierung des Parsers.
  Mit Zitat antworten Zitat
 


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 13:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz