-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rollen von PropFormula
und SynTree
#221
Comments
Ja, bezüglich der Eingabe ist das so. |
Nein, für In der Tat ist die Entscheidung jetzt, dass für die Ausgabe bestimmte Formeln (etwa Musterlösungen) immer als |
Wenn dennoch eine |
Wenn eine "nicht unbedingt vollständig, aber auch nicht zu wenig geklammerte" Formel eingelesen werden soll (etwa
|
Der Parser könnte |
Ein bisschen muss die Idee wohl noch verfeinert werden. Mit dem obigen Ansatz würden ja auch "zu viele Klammern" zurückgewiesen werden, etwa bei Eingabe von |
Kann sein, dass hinterher die Funktion |
Bisher benutzen zwei Aufgabentypen (Teilformeln, Klammern entfernen)
PropFormula
als Eingabetyp, andereSynTree
.Motivation für die Verwendung von
PropFormula
scheint zu sein, dass da die Klammerpositionen (insbesondere auch zusätzlicher Klammern) explizit festgehalten werden.Ist es auch so, dass nur
PropFormula
eine Eingabe wieA /\ B /\ C
überhaupt parsen kann? Also wenn ein Aufgabentyp solche Eingaben annehmen soll ("Konzertaufgabe"), kann er nicht mitSynTree
arbeiten?Wie ist es hinsichtlich der Ausgabe? Gibt es nur für
PropFormula
die Möglichkeit des Pretty-Printings mit minimaler Klammeranzahl?[Mittlerweile konkret adressiert:]
Letzteres hätte zum Beispiel Relevanz bei Wahrheitstafel-Aufgaben. Zum Beispiel könnte da im Moment eine Formel wie folgende ausgewürfelt werden (als diejenige Formel, zu der eine Wahrheitstafel anzugeben/auszufüllen ist):
F = (C => C) <=> (¬B ∧ (A ∧ D))
. Aber zu dem Zeitpunkt in der Lehrveranstaltung, wo diese Aufgabe verwendet wird, werden assoziative Operationen eigentlich schon nicht mehr so streng geklammert (und in der Tat werden die Wahrheitstafel-Aufgaben ja alternativ auch durch KNFs/DNFs gespeist). Also eigentlich würde man da dann gernF = (C => C) <=> (¬B ∧ A ∧ D)
vorgeben. Aber gibt es einen Pretty-Printer, der den erzeugtenSynTree
so ausgibt? Oder muss man dafür entweder statt denSynTree
zu würfeln, einePropFormula
würfeln, oder eine Konvertierungsfunktion zwischen diesen Typen benutzen?The text was updated successfully, but these errors were encountered: