Mehrdeutige Grammatik -> Parser

Dieses Thema im Forum "Mac OS Entwickler, Programmierer" wurde erstellt von CapFuture, 07.12.2004.

  1. CapFuture

    CapFuture Thread Starter MacUser Mitglied

    Beiträge:
    1.779
    Zustimmungen:
    1
    Mitglied seit:
    23.01.2004
    Hab folgendes Problem:

    Hab eine mehrdeutige Grammatik bekommen und soll nen Parser damit bauen...
    Das das nicht wirklich gut gehen kann, ist mir bewusst. Habt ihr ne Idee, wie ich daraus ne eindeutige machen kann?

    G={{A,B,C},{a,b},S,P}

    S::=AB
    S::=BA

    A::=a
    A::=CAC

    B::=b
    B::=CBC

    C::=a
    C::=b
     
  2. Horror

    Horror MacUser Mitglied

    Beiträge:
    1.416
    Zustimmungen:
    9
    Mitglied seit:
    03.02.2003
    Such mal nach dem "dangling else"-Problem. Das deckt dein Problem ab. Im Compilerbau-Praktikum hatten wir damit auch zu kämpfen, es aber gelöst. Ist nun leider schon 1 Jahr her (müsste mich da erst nochmal reindenken), könnte aber noch ein Bison-File anbieten ;)

    Horror
     
  3. CapFuture

    CapFuture Thread Starter MacUser Mitglied

    Beiträge:
    1.779
    Zustimmungen:
    1
    Mitglied seit:
    23.01.2004
    Ich muss ehrlich sein: Ich seh noch nicht ganz den Zusammenhang zwischen dem Dangling Else und meinem Problem...
     
  4. oneOeight

    oneOeight MacUser Mitglied

    Beiträge:
    47.825
    Zustimmungen:
    3.802
    Mitglied seit:
    23.11.2004
    google doch einfach mal danach wie man eine mehrdeutige grammatik parsed...
     
  5. Horror

    Horror MacUser Mitglied

    Beiträge:
    1.416
    Zustimmungen:
    9
    Mitglied seit:
    03.02.2003
    Das Dangling Else-Problem handelt auch von der Mehrdeutigkeit. Der Parser weiss dort auch nicht genau, ob die If-Clause nun zu Ende ist oder ob es ein weiter if-else-Block ist, der anfängt. Dort wird die Grammatik auch entsprechend umgeformt, sodass diese Mehrdeutigkeit beseitigt wird.

    Horror
     
  6. CapFuture

    CapFuture Thread Starter MacUser Mitglied

    Beiträge:
    1.779
    Zustimmungen:
    1
    Mitglied seit:
    23.01.2004
    Thx für eure Hilfe, hab aber das Problem mit ner Holzhammer Methode gelöst:

    Rekursiv alle möglichen Wörter genommen und alle Kombinationen zusammenbasteln lassen. :D

    Das "Muster-Programm" der Assistenten hat übrigens bei ihrer eigenen Aufgabenstellung nicht funktioniert :D :D :D
     
Die Seite wird geladen...

Diese Seite empfehlen