tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
3480
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Aiju
    Aiju Aiju ist offline Mitglied Brokat
    Registriert seit
    Jul 2004
    Beiträge
    268
    Wie kann ich mit flex nicht von stdin lesen, sondern von einer bestimmten Datei ?
    Ich möchte bison/flex in ein Programm (ein Spiel) einbauen.
     

  2. #2
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Das Thema gab's schon. Schau dir mal das Thema ab dem Beitrag hier an.

    /edit: Quatsch, da hab ich wohl zu schnell gelesen. Das Thema gab's aber trotzdem schon. Du mußt einfach yyin einen Stream den du mit fopen() erstellt hast zuweisen.(steht übrigens auch in der Dokumentation von flex )

    Beispiel:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    main( argc, argv )
    int argc;
    char **argv;
        {
        ++argv, --argc;  /* skip over program name */
        if ( argc > 0 )
                yyin = fopen( argv[0], "r" );
        else
                yyin = stdin;
     
        yylex();
        }

    Gruß
    Geändert von deepthroat (24.01.06 um 19:04 Uhr)
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  3. #3
    Avatar von Aiju
    Aiju Aiju ist offline Mitglied Brokat
    Registriert seit
    Jul 2004
    Beiträge
    268
    Tut mir wirklich leid, irgendwie schaff ich keinen anständigen Suchstring zu formulieren
    Im Texinfo Manual habe ich wohl nicht gründlich genug gelesen...
    Könntest du mir mal sagen, wie ich C++ Befehle in die .y Datei reinkriege, ohne bison++ zu verwenden. Tschuldige, wenn ich wieder mal beim Suchen versagt habe
     

  4. #4
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Zitat Zitat von Aiju
    Tut mir wirklich leid, irgendwie schaff ich keinen anständigen Suchstring zu formulieren
    Also mein Suchstring war einfach nur "flex".

    Zitat Zitat von Aiju
    Könntest du mir mal sagen, wie ich C++ Befehle in die .y Datei reinkriege, ohne bison++ zu verwenden. Tschuldige, wenn ich wieder mal beim Suchen versagt habe
    Ich denke da brauchst du nur die Datei in eine .yy Datei umbenennen, dann generiert bison eine .cc Ausgabedatei (wenn ich mich recht erinnere).

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  5. #5
    Avatar von Krypthonas
    Krypthonas Krypthonas ist offline Mitglied Brokat
    Registriert seit
    Jun 2002
    Beiträge
    377
    Nun, es gibt in Yacc den sogenannten Deklarations-, bzw. Definitionsteil indem du C++ Befehle asuführen lassen darfst. Auch kannst du dir eine eigene Yacc main Programm schreiben, darfst dies dann aber nicht mit den Parametern -ly -lfl kompilieren, da diese dafür stehen, dass ein main Funktion generiert wird, falls keine selbst definiert ist.


    Du kannst ausserdem C Dateien sowie andere Headerdateien inkludieren.

    Beispiel:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    %{
      /*   Deklarationsteil   */
      #include "myheaders.h"
     %}
     %start zeile
     %left AUSDRUCK
     %%
     zeile : zeile AUSDRUCK zeile
            | 
            ;
     %%
     
     #include "lex.yy.c"
    //weitere Dinge....
     

Ähnliche Themen

  1. [C] flex/bison, statt von stdin aus Datei lesen
    Von Onkel Schuppig im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 18.10.10, 09:02
  2. Air/Flex-Anwendung aus einer anderen Air/Flex-Anwendung heraus starten
    Von Julian Maicher im Forum Adobe Flex & AIR
    Antworten: 1
    Letzter Beitrag: 07.01.10, 15:01
  3. swf Datei von Flex in Flash CS3 reinladen
    Von Flasher111 im Forum Flash Plattform
    Antworten: 0
    Letzter Beitrag: 07.07.08, 19:19
  4. Text aus Datei lesen, bearbeiten und in neue .txt Datei spechern
    Von shisho1980 im Forum Visual Basic 6.0
    Antworten: 8
    Letzter Beitrag: 30.03.07, 19:35
  5. Antworten: 7
    Letzter Beitrag: 11.05.02, 15:40