Beiträge von LordoftheRings

    Ich hatte nämlich irgendwo mal gelesen das die Header Files die Bison zum compilieren benutzt früher unter der GNU Lizenz standen und dieses erst später geändert wurde.

    Demnach scheint aber aktuell keine Beschränkungen für die erstellte Software vorzuliegen. Wollte halt nochmal sicher gehen! ;)

    Hätte noch eine kleine Frage:

    Weiss jemand wie es mit den Copyright Rechten aussieht unter der Benutzung von Bison?

    Folgender Fall: Ich lasse mir mit hilfe von Bison ja c code compilieren. Muss ich den offenlegen oder kann ich den einfach gewerblich uneingeschränkt nutzen?!

    Ich habe es jetzt endlich geschaft:

    Zitat

    Wirklich viel anders habe ich es bisher auch nicht gemacht. Könnte schwören das ich es auch schon auf diese Weise mit yylex auch mit yyparse
    probiert habe. Wahrscheinlich habe ich es aber dann an einer anderen Stelle indem Moment verbockt gehabt.

    Vielen Dank für die Mühe und die Hilfe. Wenigstens war ich nicht ganz auf den falschen Weg! ;)

    Also die fopen funktioniert so weit (erfolgreich geöffnet). Mit yyin=stdin bekomme ich wiedermal die Konsole und ohne bekomme ich gleich die Ausgabe von "Ende". Nur leider setzt er nicht um was in new.txt steht!

    Also yylex ist ja eine Funktion. Aber wenn ich diese Aufrufe bekomme ich ja wieder die Konsole in der ich dann die Befehle eingebe. Das war ja das was ich zuvor hatte.

    Und muss ich yylex aufrufen bevor ich die Datei lese oder danach.

    bisher hatte ich es immer so:
    main()
    {
    yylex(); //wenn ich es hier reinsetzte bekomme ich nur die Konsolen
    FILE *test = fopen("new.txt","r");
    yyin = test;
    yylex(); // an der position wird einfach nur ENDE ausgeben

    printf("ENDE\n");
    }


    :confused::confused::confused:

    Ok, so hatte ich das auch schon mal. Nur führt er dann nix aus bzw. bekomme ich keine Ausgabe. Muss ich irgendein Standard in der "blah.txt" einhalten oder kann ich ganz normal die Befehle reinschreiben.

    Vielleicht hilft ja ein kleiner Auschnitt von meinem kleinen TestProgr. .Das eigentliche kommt erst wenn die gröbsten Probleme gelöst sind.

    parser:

    scanner:

    Die einzigste Ausgabe die ich bekomme ist das printf "ENDE" der Main. In der txt steht bisher nur das Wort "status" drinne.

    Ahh ich werde verstanden. :) Also ich möchte a)!!! b) Habe ich schon, dass war kein Problem.

    Über yyin habe ich es schon mal probiert aber leider kein Erfolg gehabt. Was mich gerade verwundert: "yyin ist doch eine File und keine Variable"?
    Hättest du dazu ein Beispiel parrat?

    Gut dann nochmal:;)

    Also nach dem ich mein Programm compiliert habe starte ich es. Mit yylex() oder yyparse() in der Main Funktion bekomme ich ja grundsätlich automatisch eine Eingabe Möglichkeit zur Verfügung gestellt um meine selbst erstellten Befehle einzugeben und diese dann auszuführen.
    Nur ist mein Problem ich möchte dieses nicht über eine Eingabe machen sondern über eine Datei in der ich alle Befehle eingebe und er diese dann einzeln automatisch abarbeitet. Also im Endefekt ein kleines Script mit den selbst erstellten Befehlen. Leider habe ich bisher keine Möglichkeit gefunden die Befehle automatisch abarbeiten zu lassen.

    Ich arbeite gerade mit flex und bison und habe mir ein compiler erstellt. Nun zu meinem Problem bzw Frage. Grundsätzlich wird die Konsole in der Main Funktion der Parser Datei aufgerufen. Das stört mich ein wenig. Es muss doch die Möglichkeit geben ein Script/Datei aufzurufen in der meine Befehle abgearbeitet werden, statt diese immer von Hand in der Konsole eingeben zu müssen.

    MFG LotR


    Ich habe über das Internet einen Bereich gefunden in dem hier über Parser gesprochen wird. Leider habe ich dort keinen Zugriff und muss deshalb hier posten.