Probleme mit lex

Diskutiere mit über: Probleme mit lex im Mac OS X - Unix & Terminal Forum

  1. odif

    odif Thread Starter MacUser Mitglied

    Beiträge:
    413
    Zustimmungen:
    1
    Registriert seit:
    14.07.2005
    Hi,

    ich bin gerade dabei, mich in lex einzuarbeiten, habe aber gleich zu Beginn ein Problemm. Meine lex-Datei test.l sieht wir folgt aus:
    Code:
    %% 
    
    .
    \n
    
    %% 
    Diese Datei lasse ich mittels lex test.l durch lex laufen. Herauskommt lex.yy.c. Diese will ich nun mit gcc kompilieren (Befehl: gcc lex.yy.c). Dabei treten jedoch sehr viele Fehler auf.
    Hauptsächlich Fehler der folgenden Form:
    Code:
     
    
    lex.yy.c:640: error: dereferencing pointer to incomplete type
    lex.yy.c:228: error: parse error before '*' token
    lex.yy.c:530: error: 'stdin' undeclared (first use in this function)
    lex.yy.c:530: error: (Each undeclared identifier is reported only once
    lex.yy.c:530: error: for each function it appears in.)
    lex.yy.c:533: error: 'stdout' undeclared (first use in this function)
    lex.yy.c: In function 'yy_scan_bytes':
    lex.yy.c:1328: error: dereferencing pointer to incomplete type
    lex.yy.c: In function 'yy_fatal_error':
    lex.yy.c:1398: warning: incompatible implicit declaration of built-in function 'fprintf'
    lex.yy.c:1398: error: 'stderr' undeclared (first use in this function)
    lex.yy.c:1399: warning: incompatible implicit declaration of built-in function 'exit'
    lex.yy.c: In function 'yy_flex_alloc':
    lex.yy.c:1462: warning: incompatible implicit declaration of built-in function 'malloc' 
    Was nun zu tun?

    Grüße
    odif
     
  2. der_Kay

    der_Kay MacUser Mitglied

    Beiträge:
    1.693
    Zustimmungen:
    7
    Registriert seit:
    02.09.2004
    Bist Du sicher, dass Du da nicht einem Uralt-Tutorial erlegen bist? Den alten "lex" hat man schon lange gegen flex ausgetauscht und der taucht immer im Zusammenspiel mit bison (ehemals yacc) auf.
    Übersetz` mal mit:
    Code:
    flex test.l
    gcc lex.yy.c -lfl
    
    libflex ist die Standard-(F)Lex(er)-Bibliothek. Das kompiliert dann. Aber das war dann auch schon alles... Wenn es unbedingt lex sein muss:
    Code:
    lex test.l
    gcc lex.yy.c -ll
    
    Das hier find ich sehr informativ: Lex and YACC primer/HOWTO
     
  3. rash65

    rash65 unregistriert

    Beiträge:
    111
    Zustimmungen:
    0
    Registriert seit:
    27.10.2004
    Wie wärs du schaust einfach mal in lex.yy.c ? Zum Beispiel die Probleme von wegen stdin und stdout sollten doch relativ einfach zu lösen sein?! Allerdings glaube ich nicht, dass irgendeine Version von lex solche Fehler produzieren sollte. Probier doch mal die zweiten %% wegzulassen, da du ja eh keine Subroutinen benutzt.
    Und falls du kein C kannst probier doch lieber den Einstieg mit JLex (http://www.cs.princeton.edu/~appel/modern/java/JLex/) das ist genau die gleiche Syntax, es wird allerdings Java Code erzeugt. Zum Parserbauen kannst du dann BYacc/J benutzen.
     
  4. odif

    odif Thread Starter MacUser Mitglied

    Beiträge:
    413
    Zustimmungen:
    1
    Registriert seit:
    14.07.2005
    Beides hat nicht funktioniert. Es kommen in beiden Fällen die oben genannten Fehlermeldungen.

    Das zweite %% gehört zu der Syntax.

    Ich habe jetzt auch weitere Lex-Dateien ausprobiert , es kommt immer derselbe Mist.


    Und Danke für den Hinweis auf JLex. Ich werde es mir mal anschauen.
    odif
     
  5. odif

    odif Thread Starter MacUser Mitglied

    Beiträge:
    413
    Zustimmungen:
    1
    Registriert seit:
    14.07.2005
    Der Fehler war sehr simpel.

    Ich habe den Mac OS X SDK nicht installiert, sondern gedacht, dass der Compiler alleine reicht.

    odif
     
Die Seite wird geladen...
Ähnliche Themen - Probleme lex Forum Datum
Programmieranfängerin - Probleme mit Terminal Mac OS X - Unix & Terminal 23.11.2016
Probleme mit Launchctl (Programm in gewissen abständen starten) Mac OS X - Unix & Terminal 25.03.2014
Probleme mit sudo Mac OS X - Unix & Terminal 13.12.2013
Probleme mit Installation Ximian Evolution Mac OS X - Unix & Terminal 19.10.2011
Probleme mit VLC im Terminal Mac OS X - Unix & Terminal 22.10.2010

Diese Seite empfehlen

Benutzerdefinierte Suche