Eigener Parser

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Ich versuche gerade einen eigenen Parser zu schreiben (Ich kenne das FAQ-BSP).

Ich gehe immer zuerst in das innerste Klammerpaar und übergebe diesen String einem anderen Parser, der den Ausdruck, der jetzt keine
Klammern mehr hat auswertet (im Moment gibt er noch die Zahl an erster Stelle des Ausdrucks zurück).

Code:
static double valueOf(String s)
	{
		if(s.contains("("))
		{
			int innereKlammerAuf=0;
			int innereKlammerZu=0;

			//Klammerpositionen setzen
			for (int i=0;i<s.length();i++)
			{
				if(s.charAt(i)=='(')
					innereKlammerAuf=i;

				if(s.charAt(i)==')')
				{
					innereKlammerZu=i;
					break;
				}
			}


			s=s.substring(0,innereKlammerAuf)+parserOhneKlammern(s.substring(innereKlammerAuf+1,innereKlammerZu))+s.substring(innereKlammerZu+1);
			valueOf(s);
		}

		return parserOhneKlammern(s);

	}

	static double parserOhneKlammern(String s)
	{
		return Double.valueOf(""+s.charAt(0));
	}

wenn ich jetzt versuche
Code:
"((5*3)+2)-1"
zu parsen bekomme ich einen Fehler.
Anscheinend wird irgendwann an Klammerterm an den Parser übergeben, der keine Klammern kann,
Warum passiert das?
 
G

Guest

Gast
Hallo,

naja, weil du nur ein einziges Klammernpaar berücksichtigst. Ich würde das Ganze iterativ lösen. Du rufst solange die Methode auf, bis s.contains("(") false liefert. Dann die einzelnen Rückgabewerte addieren.

Gruß

taouri
 

Wildcard

Top Contributor
Kann mich dem müden Joe nur anschließen. Parser will man gar nicht selbst schreiben. Grammatik definieren, einen dummen Computer die Arbeit machen lassen und glücklich sein.
Und antlr ist dafür wirklich ein hervorragendes Tool.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H String verschlüsseln - eigener Algorithmus Java Basics - Anfänger-Themen 104
D importieren eigener Klassen Java Basics - Anfänger-Themen 12
W Dez-->Binär mit eigener bit Anzahl Erkennung. Java Basics - Anfänger-Themen 3
N ArrayList in eigener Klasse erzeugen mit Zugriff Java Basics - Anfänger-Themen 7
B Eigener Validierungseditor? Java Basics - Anfänger-Themen 3
W Eigener Iterator soll mehrdimensionales Array durchlaufen Java Basics - Anfänger-Themen 4
Bluedaishi Jar mit eigener JRE Java Basics - Anfänger-Themen 7
I equals (Override) mit eigener Exception (keine Runtime-Exception) Java Basics - Anfänger-Themen 9
J Threads Problem mit eigener ArrayList Java Basics - Anfänger-Themen 2
E MCLauncher eigener Client workt nicht? Java Basics - Anfänger-Themen 4
A Input/Output Datenströme schließen in eigener Methode Java Basics - Anfänger-Themen 5
J Interface ActionListener in eigener Klasse Java Basics - Anfänger-Themen 27
F Get/Post als eigener Thread mit Rückgabe Java Basics - Anfänger-Themen 5
M Messandwendung nach Zeit und eigener Eingabe Java Basics - Anfänger-Themen 4
N Schlüsselworte Bubble Sort nach eigener Ordnung Java Basics - Anfänger-Themen 8
E Compare-Funktion bei eigener Klasse Java Basics - Anfänger-Themen 4
Q ArrayList mit eigener Klasse in Java sotieren Java Basics - Anfänger-Themen 2
N BierSpiel von "Kopf bis Fuss" eigener Code...kleine Problemstellung. Java Basics - Anfänger-Themen 11
C OOP Erstellen eigener Objekte die es schon gibt "schlau"? Java Basics - Anfänger-Themen 3
V Arrays aus eigener Klasse erstellt, zuweisung aber spuckt Fehler in verbindung mit main Methode aus. Java Basics - Anfänger-Themen 3
L Eigener FilterReader Java Basics - Anfänger-Themen 12
E Mein eigener Listener (Hilfe gesucht) Java Basics - Anfänger-Themen 2
M import von eigener Klasse Java Basics - Anfänger-Themen 12
P ArrayList aus eigener Klasse "überschreibt" Werte nicht Java Basics - Anfänger-Themen 4
M xPos und yPos eigener Klassen geben lassen Java Basics - Anfänger-Themen 3
H Exit Befehl in eigener Konsole Java Basics - Anfänger-Themen 9
S Eigener InputStream, Hilfe bei read-Methode Java Basics - Anfänger-Themen 6
S Überladener Konstruktor und aufruf aus eigener Klasse Java Basics - Anfänger-Themen 2
D Klassen Problem mit Eigener Array-Klasse Java Basics - Anfänger-Themen 10
S [JUnit] eigener Testsuite Runner + Ausgabe Java Basics - Anfänger-Themen 6
G Eigener Autoboxing Datentyp Java Basics - Anfänger-Themen 3
M Eigener InputStream will nicht mit BufferedReader Java Basics - Anfänger-Themen 3
B Datentypen Probleme mit eigenem Get() bei eigener HashMap Java Basics - Anfänger-Themen 6
B OOP Eigener Event-Listener erstellen Java Basics - Anfänger-Themen 4
G Datentypen "Liste" eigener Objekte durchsuchen Java Basics - Anfänger-Themen 6
S mit eigener Klasse JTextField ändern Java Basics - Anfänger-Themen 3
N Vektor mit eigener Datenstruktur sortieren Java Basics - Anfänger-Themen 20
I Datentypen Eigener DatenTyp Java Basics - Anfänger-Themen 2
B Ordner öffnen (eigener Dateibrowser) Java Basics - Anfänger-Themen 8
B Eigener Webserver + Eigener Webbrowser Java Basics - Anfänger-Themen 7
I eigener "Abstandshalter" vs. LayoutManager Java Basics - Anfänger-Themen 6
X eigener Mergesort auf generischen Typen mit Comparator Java Basics - Anfänger-Themen 6
K Sinn eigener Exceptions Java Basics - Anfänger-Themen 11
D Container mit eigener Klasse Java Basics - Anfänger-Themen 5
B Verwenden eigener Object-Klassen Java Basics - Anfänger-Themen 9
H Eigener Button Java Basics - Anfänger-Themen 2
M Eigener Iterator für LinkedList Java Basics - Anfänger-Themen 20
I Java eigener MSN Messenger schreiben Java Basics - Anfänger-Themen 3
R Event in eigener Klasse implementieren ? Java Basics - Anfänger-Themen 8
G Fortlaufende Aktualisierung bei eigener Klasse Java Basics - Anfänger-Themen 2
G IOException Problem in eigener Klasse Java Basics - Anfänger-Themen 8
B Import Problem mit eigener Klasse. Java Basics - Anfänger-Themen 8
T Problem mit eigener Klasse Java Basics - Anfänger-Themen 7
A eigener Explorer via Java? Java Basics - Anfänger-Themen 9
D Thread und Process Kommunikation bei eigener Console Java Basics - Anfänger-Themen 2
T Öffnen externer Datei als eigener Prozess Java Basics - Anfänger-Themen 8
G Datei aus eigener JAR-Datei verwende Java Basics - Anfänger-Themen 2
N Porblem mit dem Importieren eigener Pakete Java Basics - Anfänger-Themen 4
T ActionListener in eigener Klasse Java Basics - Anfänger-Themen 10
T ActionListener in eigener Klasse Java Basics - Anfänger-Themen 5
L ActionListener in eigener Klasse Java Basics - Anfänger-Themen 3
T Erstellen eigener packages Java Basics - Anfänger-Themen 6
G JMenuBar in eigener Klasse erstellen Java Basics - Anfänger-Themen 3
A Eigener Datentyp? Java Basics - Anfänger-Themen 39
F Eigener IP-Paket-Header Java Basics - Anfänger-Themen 15
Ras Unterschied zwischen parser xml and api xml Java Basics - Anfänger-Themen 7
B Parser dynamisieren Java Basics - Anfänger-Themen 7
W Einfachen, ein beliebiges Zeichen oft erkennenden Regex Parser selber schreiben - wie vorgehen? Java Basics - Anfänger-Themen 12
D Input/Output CSV Parser list unvollständig Java Basics - Anfänger-Themen 25
U DOM Parser, kleine Frage Java Basics - Anfänger-Themen 29
H java date-time parser Java Basics - Anfänger-Themen 1
X SAX Parser, wie weit ist der eigentlich? Java Basics - Anfänger-Themen 6
O HTML -> BBCode Parser? Java Basics - Anfänger-Themen 3
J kleiner Fehler im FAQ Parser für mathematische Formeln Java Basics - Anfänger-Themen 5
H Welcher Html-Parser? Java Basics - Anfänger-Themen 8
M htlm parser Java Basics - Anfänger-Themen 8
U Benötige ich einen Parser? Java Basics - Anfänger-Themen 2
T Parser mit switch "Weg" ausgeben? Java Basics - Anfänger-Themen 5
A html parser Java Basics - Anfänger-Themen 5
T XML Parser Java Basics - Anfänger-Themen 21
data89 Frage zum FAQ-'Parser für mathematische Formeln' Java Basics - Anfänger-Themen 4
T Wofür Parser?? Java Basics - Anfänger-Themen 39
A Gettext-Parser: Rad neu erfinden Java Basics - Anfänger-Themen 6
G guter Parser Java Basics - Anfänger-Themen 4
G Parser liefert StackOverflow error Java Basics - Anfänger-Themen 6
L URL Parser (String zusammensetzen) Java Basics - Anfänger-Themen 2
G If-Parser + Interpreter Java Basics - Anfänger-Themen 9
E HTML Parser Java Basics - Anfänger-Themen 8
B Parser HTML Java Basics - Anfänger-Themen 10
J Noch ein Parser Problem Java Basics - Anfänger-Themen 7
J Richtigen Parser wählen Java Basics - Anfänger-Themen 2
M.C.S. Parser: Flut von Variablen und if-Conditions eindämmen Java Basics - Anfänger-Themen 4
A Parser Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben