jFlex generierten Code ausführen
lima-city → Forum → Programmiersprachen → Java
anleitung
aussehen
code
datum
double
eingabe
file
http
ignorieren
import
interpreter
kenner
not
problem
scanner
schimmer
summe
system
url
zahl
-
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
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 -
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 -
lordcodex schrieb:
Du rufst den Java-Interpreter falsch auf...
Nun das compilieren war nicht mein problem -.-
****@***:~/DevWorkspace/java/jflex-1.4.3/jflex-1.4.3/bin/daten$ java ./Summe.class
Das müsste so aussehen:
Kein .class und kein Pfad!java Summe
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage