kostenloser Webspace werbefrei: lima-city


jFlex generierten Code ausführen

lima-cityForumProgrammiersprachenJava

  1. Autor dieses Themas

    lordcodex

    Kostenloser Webspace von lordcodex

    lordcodex hat kostenlosen Webspace.

    Hiho Limanianer,

    kennt sich vielleicht irgendwer mit jFlex aus?!
    Ich hab es schonmal zum laufen bekommen und hab die Spezifikations datei (.flex file) eingelesen
    und jFlex lieferte mir ein .java file als Output:
    Da der SourceCode zu lang für CODE BB is hab ichs mal auf pastebin gepostet!
    http://pastebin.com/U9RDCjHP

    Jedoch hab ich kein schimmer wie ich es ausführen soll :/ Könnte mir einer ne Dummy Anleitung geben :D

    LG DeX
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. kochmarkus

    Co-Admin Kostenloser Webspace von kochmarkus

    kochmarkus hat kostenlosen Webspace.

    Naja ich kenn mich zwar nicht mit jFlex aus, aber was du gepostet hast ist wohl ganz normaler Java Code der jetzt kompiliert werden muss.
    javac Summa.java

    Danach kannst du ihn mit:
    java Summe

    ausführen.

    €dit: Schau auch mal hier: http://openbook.galileocomputing.de/javainsel/javainsel_01_005.html#dodtp86b7140e-a27a-4d07-8007-372cf0a9fc88

    Beitrag zuletzt geändert: 24.5.2012 12:24:55 von kochmarkus
  4. Autor dieses Themas

    lordcodex

    Kostenloser Webspace von lordcodex

    lordcodex hat kostenlosen Webspace.

    Nun das compilieren war nicht mein problem -.-
    Das hatte ich auch davor schon geschafft...das Ding is das man es noch irgendwo verbauen soll :/
    Shell:
    ****@***:~/DevWorkspace/java/jflex-1.4.3/jflex-1.4.3/bin/daten$ javac ./Summe.java
    ****@***:~/DevWorkspace/java/jflex-1.4.3/jflex-1.4.3/bin/daten$ java ./Summe.class
    Exception in thread "main" java.lang.NoClassDefFoundError: //Summe/class
    Caused by: java.lang.ClassNotFoundException: ..Summe.class
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
    Could not find the main class: ./Summe.class. Program will exit.
    ****@***:~/DevWorkspace/java/jflex-1.4.3/jflex-1.4.3/bin/daten$



    DeX

    //EDIT
    summe.flex
    /*
      Einfache Demonstration des Java-Lexers Flex.
    */
    
    import java.io.*;
    
    %%
    %class Summe
    %unicode
    %type Double
    
    %{
        double s = 0;
    
        public static void main(String args[]) throws IOException {
            Summe scanner = new Summe(System.in);
            scanner.yylex();
            System.out.println("Summe = " + scanner.s);
        }
    
    %}
    
    %%
    
    [+-]?[0-9]+("."[0-9]+)?  {
              System.out.println("Zahl " + yytext()); 
              s = s + Double.parseDouble(yytext());
            }
    
    "/*"  ~"*/" { 
              /* Ignorieren */
    	}
    
    \r | \n | \r\n | [ \t\f] { 
              /* Ignorieren */
    	}
    
    /* Fehlerbehandlung */
    . { 
      throw new RuntimeException("Unerlaubtes Zeichen \"" + yytext() + "\"."); 
      }


    Nur für jFlex kenner:
    Wie kann man dieses flex File so ändern, dass bei Eingabe des Zeichens * die nächstete Zahl nicht addiert,sondern multipliziert wird und bei Eingabe von = soll das bisherige Ergebnis ausgedruckt werden


    Beitrag zuletzt geändert: 24.5.2012 12:56:11 von lordcodex
  5. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    lordcodex schrieb:
    Nun das compilieren war nicht mein problem -.-
    ****@***:~/DevWorkspace/java/jflex-1.4.3/jflex-1.4.3/bin/daten$ java ./Summe.class
    Du rufst den Java-Interpreter falsch auf...
    Das müsste so aussehen:
    java Summe
    Kein .class und kein Pfad!
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!