Parser liefert StackOverflow error

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo zusammen !

ich habe einen Parser geschrieben, der aus einem Vector Objekte ausliest und nach prefix, infix und postfix Notation sortieren soll.

Beim testen bekomme ich einen Stack Overflow error (Zeile 8). Die Methode bekommt einen Iterator über den Vector übergeben. Danach soll dann sortiert werden. Das Problem triit also durch den rekursiven Aufruf auf . Wie kann ich das umgehen ?
Code:
private static Token parsePrefix(Iterator<Token> i) {
       Token element = new Num();
        while ( i.hasNext()) {
                 if ( element.type == 'n') {
                 element= i.next();
            }
            else 
            { Token left = parsePrefix (i);
              Token right = parsePrefix (i);  
             element = new Op(element.type,left,right);
            }
       }
       return element;
    }
[/code]
 
S

SlaterB

Gast
ganz allgemeine Antwort:
entweder dein Problem ist so groß, dass eine Rekursionstiefe über 1000 normal ist,
dann musst du das Problem anders lösen,
jede Rekursion kann man mit entsprechenden Aufwand in lokalen Variablen nachbauen


oder aber, viel wahrscheinlicher: du hast irgendeinen Fehler,
im Extremfall eine Endlosrekursion oder zumindest eine falsche Abarbeitung,

aus deinem bisherigen Code ist das ganze schlecht zu erkennen,
wie viele Token hast du denn? mehr als 1000? wohl kaum

erstelle dir ein Beispiel, rechne es per Hand nach und überprüfe Schritt für Schritt, was das Programm macht,
so findest du jeden Struktur-Fehler ganz alleine ;)
 
G

Guest

Gast
Kannst Du mir sagen, ob bei dem Aufruf parsePrefix mit dem folgenden i aufgerufen ( der Iterator also eins weiter geht ) oder ob es sich um dasselbe i handelt, dann würde er ja immewr mit dem selben i starten und in eine endlos Schleife laufen.
Meiner Meinung zählt der Iterator nur bei einem Aufruf next() weiter.
 
S

SlaterB

Gast
ja, nur bei next(),
siehst stark danach aus, als würde es daran liegen,
hätte ich gar nicht gesehen ;)
 
G

Guest

Gast
Ich hänge immer noch an dieser Stelle !!!

An welcher Stelle sollte ich das next() Eurer Meinung nach einfügen ??
 
S

SlaterB

Gast
dein Code ist ohne jede Struktur oder Sinn,
was soll passieren?
Beispiel!
Ablauf per Hand beschreiben!
 
G

Gast

Gast
Hoi,

hast schonmal nen Breakpoint in Zeile 9 bzw. Zeile 14 gesetzt, ich glaube nämlich, dass Du nie aus der while-Schleife kommst, da Du "i" ja nie weiter setzt. Kann mich aber auch täuschen, Java ist nicht so mein Steckenpferd.

Viele Grüße,
Bob
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
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 Eigener Parser Java Basics - Anfänger-Themen 4
G guter Parser Java Basics - Anfänger-Themen 4
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
G Rekursive Methode liefert augenscheinlich keinen boolean-Wert zurück. Java Basics - Anfänger-Themen 4
JavaClap "Bruchrechner" liefert Fehler/keine Ausgabe bei Addition und Subtraktion Java Basics - Anfänger-Themen 0
B MySQL (jdbc) -> connection liefert NULL Java Basics - Anfänger-Themen 3
J HashSet Methode contains liefert false (hash Methode überschrieben) Java Basics - Anfänger-Themen 3
M Methoden while liefert nur den ersten Datensatz Java Basics - Anfänger-Themen 12
G Methode liefert "Min@15db9742" als Ausgabe Java Basics - Anfänger-Themen 2
Joker4632 Klassen BigDecimal Multiplikation liefert nicht erwarteten Wert Java Basics - Anfänger-Themen 6
J Kosinussatz liefert falschs Ergebnis Java Basics - Anfänger-Themen 2
J Berechnung liefert falsches Ergebnis Java Basics - Anfänger-Themen 2
E Methoden Methode liefert keinen Wert zurück Java Basics - Anfänger-Themen 16
Anfänger2011 file.isDirectory() liefert falschen Wert!? Java Basics - Anfänger-Themen 1
B Rechnung ohne Klammer liefert komisches Ergebniss Java Basics - Anfänger-Themen 3
D Operatoren IF Abfrage liefert falsches Ergebnis Java Basics - Anfänger-Themen 4
U ArrayList.get() liefert falsches Ergebnis Java Basics - Anfänger-Themen 4
L replaceAlll liefert Exception... Java Basics - Anfänger-Themen 3
M System.getProperty("java.vm.version") liefert build-Version Java Basics - Anfänger-Themen 4
R Hashset.add(Array) liefert immer true? Java Basics - Anfänger-Themen 23
F charAt-Methode liefert falsche Unicode-Werte Java Basics - Anfänger-Themen 8
P Map liefert bei put null als Ergebnis Java Basics - Anfänger-Themen 6
A contains bzw. indexOf liefert keine Treffer? Java Basics - Anfänger-Themen 3
M Problem mit getter, liefert nur alte Werte Java Basics - Anfänger-Themen 6
F arraylist.get() liefert Speicheradresse?!? Java Basics - Anfänger-Themen 2
R If-Abfrage liefert false zurück, wieso ? Java Basics - Anfänger-Themen 20
L Woerterbuch liefert immer "null" Java Basics - Anfänger-Themen 41
R warum liefert ein und dieselbe funktion nicht dasselbe return?? Java Basics - Anfänger-Themen 7
3 Collections containsKey() liefert false obwohl equals() true liefert Java Basics - Anfänger-Themen 6
M isHidden() von java.io.File liefert immer true in Windows Java Basics - Anfänger-Themen 3
B SQL Recortset liefert nur eine Zeile Java Basics - Anfänger-Themen 4
Raidri Pattern liefert false Java Basics - Anfänger-Themen 9
J Datentypen Textfield.getText() liefert keinen String Java Basics - Anfänger-Themen 4
C warum liefert equals kein TRUE Java Basics - Anfänger-Themen 12
Y System.console() liefert immer null zurück. Java Basics - Anfänger-Themen 6
X Datentypen Vergleichsmethode liefert immer null Java Basics - Anfänger-Themen 3
J Batch Datei liefert CLASS NOT FOUND Warum !? Java Basics - Anfänger-Themen 11
O Runden - x/100 liefert long zurück Java Basics - Anfänger-Themen 7
L Enumeration paramNames liefert Werte durcheinander Java Basics - Anfänger-Themen 13
S atan liefert falsches Ergebnis Java Basics - Anfänger-Themen 6
A JavaMail liefert Datenmüll Java Basics - Anfänger-Themen 5
C HashMap liefert HashMap zurück - incompatible types Java Basics - Anfänger-Themen 2
G static array liefert falsche Werte zurück Java Basics - Anfänger-Themen 2
H GPS über ser. Schnittst. liefert teilweise Sonderzeichen Java Basics - Anfänger-Themen 3
G Einfache Berechnung liefert falsches Ergebnis Java Basics - Anfänger-Themen 2
H -Djava.library.path liefert in der Konsole "ClassNotFou Java Basics - Anfänger-Themen 4
Z DB-Abfrage liefert alte Werte Java Basics - Anfänger-Themen 11
M Mouse Listener liefert das ergebnis 2 mal! Java Basics - Anfänger-Themen 2
B equals() der Klasse Objects liefert unerwartetes Ergebnis Java Basics - Anfänger-Themen 17
P JPanel.getWidth() liefert immer 0 Java Basics - Anfänger-Themen 6
S DAY_OF_WEEK liefert immer gleichen Wert Java Basics - Anfänger-Themen 6
C StackOverflow bei Rekursion Java Basics - Anfänger-Themen 7
K MergeSort Stackoverflow Java Basics - Anfänger-Themen 5
P Compiler-Fehler StackOverFlow Java Basics - Anfänger-Themen 4
C Klassen StackOverflow bei erster Nutzung von Klassen/Konstruktoren Java Basics - Anfänger-Themen 9
M StackOverflow Problem Java Basics - Anfänger-Themen 9
F Stackoverflow bei Quicksort Java Basics - Anfänger-Themen 2
L StackOverFlow, finde Grund nicht! Java Basics - Anfänger-Themen 5
O StackOverflow für Eingabewerte berechnen Java Basics - Anfänger-Themen 3
J Stackoverflow-Abbruchbedingung Java Basics - Anfänger-Themen 7
G StackOverflow Fehler Java Basics - Anfänger-Themen 3
Y stackoverflow fehler Java Basics - Anfänger-Themen 7
G Stackoverflow! Java Basics - Anfänger-Themen 14
S Stackoverflow Error Java Basics - Anfänger-Themen 5
C StackOverflow Error, objekte öfters erzeugen Java Basics - Anfänger-Themen 6
M StackOverFlow bei JOptionPane? Java Basics - Anfänger-Themen 23
H Löschen in einem binären Baum führt zu einem StackOverflow Java Basics - Anfänger-Themen 2
P StackOverFlow - SocketTimeoutException Java Basics - Anfänger-Themen 12
frau-u StackOverflow - woher kommt es? Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben