Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 2 von 2

Thema: Themen zum Parser

  1. #1
    Registriert seit
    18.12.2005
    Beiträge
    71
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich starte hiermit den Thread für Themen rund um den Parser.

    Gruß Barnee
    Zitieren Zitieren Themen zum Parser  

  2. #2
    Barnee ist offline Benutzer
    Themenstarter
    Registriert seit
    18.12.2005
    Beiträge
    71
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Wie bereits im Themenkreis zu dem PP erläutert wurde, gehe ich davon aus, dass alle für die Wirkung des Parsers notwendigen Informationen sich in dynamisch angelegten Speicherbereichen befinden. Der PP stellt dem Parser, wie schon früher dargestellt und wie in der Folge im Themenkreis zum PP noch weiter ausgeführt werden wird, stellt der PP dem Parser einen aufbereiteten C-Quelltext zur Verfügung.

    Wie der PP arbeitet auch der Parser ausschließlich mit dynamisch reserviertem Speicher.

    Zu diesem Zeitpunkt verfügt der Parser über Informationen, die den Bezug zu dem ursprünglichen Quelltext herstellen. Das ist wie auch beim PP notwendig, um mögliche Fehlerausschriften mit dem Bezug auf den ursprünglichen Quelltext herstellen zu können.

    Die Frage, ob der Parser seine Arbeit aufnimmt, wenn bei der Ausführung des PPs schon Fehler festgestellt wurden, muss im PP abgehandelt? <--- Diskussionspunkt!!!
    Hier hinter verbirgt sich die Absicht, selbst bei Fehlern den Compilerlauf solange wie möglich fortzusetzen. Ich kenne aus früheren Zeiten den Pascal-Compiler von Think, der bei dem ersten Auftauchen eines Fehlers seine Arbeit schon unterbrochen hat, das wäre mehr als lästig!

    Ich stelle mir vor, dass vor dem Start des Parsers mindestens diese Informationen vorliegen sollten - also Informationen, die vom PP ermittelt wurden:
    - alle Makros wurden substituiert;
    - alle Variablen-Referenzen ermittelt;
    - alle in einem Baustein aufgerufene Funktionen;
    - alle Klammerungen {}, () oder [] sind formal auf Abschluss geprüft worden, formal heißt hier lediglich, dass alle geöffneten Klammern auch geschlossen sein müssen. Eine verbotene Schachtelung unterschiedlicher Klammertypen sollte auch schon erkannt sein, also eine {-Klammer kann nicht durch eine ]-Klammer geschlossen werden usw.usf.

    Es drängt sich mir die Frage auf, welcher Teil - PP oder Parser - schon mit einer Vorabprüfung des Typs beauftragt werden sollte, ein Beispiel:

    Code:
    a = b || c;
    Wenn "b" oder "c" oder beide nicht vom Typ Boolean sind, dann lässt sich dieser Ausdruck nicht auflösen. Ich bin mir im Augenblick nicht sicher, ob zu jedem Zeitpunkt des PPs, auch alle dazu notwendigen Informationen vorliegen. Schauen wir uns dieses Beispiel an:

    Code:
    x = y + z;
    Wenn z.B. "x" und "y" den Typ Float besitzen aber "z" vom Typ Integer (egal ob short oder long) ist, dann wird implizit eine Typwandlung vorausgesetzt und eine Typprüfung darf nicht zum Fehler führen.

    Fortsetzung folgt, Diskussion erbeten.

    Gruß Barnee
    Zitieren Zitieren Erste Schritte zum Bau des Parsers  

Ähnliche Themen

  1. SCL / Pascal-Parser
    Von Chefmech im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 25.04.2010, 23:14
  2. Themen schliessen
    Von Brro87 im Forum Stammtisch
    Antworten: 15
    Letzter Beitrag: 14.01.2009, 08:47
  3. Die lustigsten Themen 2008
    Von diabolo150973 im Forum Stammtisch
    Antworten: 17
    Letzter Beitrag: 30.12.2008, 17:00
  4. Themen zum Preprozessor
    Von Barnee im Forum Hochsprachen - OPC
    Antworten: 12
    Letzter Beitrag: 08.02.2006, 06:52

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •