JavaCC : SKIP Token nur für bestimmten Bereich ??

Sara3112

Mitglied
Hallo Leute,

ich habe mit JavaCC einen Parser erstellt und ignoriere mit
Code:
SKIP : {"\n" | "\r" | "\r\n"}
alle Leerzeichen. Mein Problem ist nun, dass ich aber an einer Stelle wissen muss, ob ein Leerzeichen erfolgt.
Gibt es nicht irgendwie eine Möglichkeit die Leerzeichen nur für einen bestimmten Bereich zu skippen bzw an einer Stelle den SKIP Token unset zu machen ?

Wäre super froh, wenn jemand Rat weiß.

Vielen Danke schon mal im Voraus.
 

Kim Stebel

Bekanntes Mitglied
Hallo Sara,

das kommt ganz darauf an, wo das Leerzeichen vorkommt. Wenn es innerhalb eines Tokens ist, wie zum Beispiel in einem Java-String, wird es natürlich nicht übersprungen. Vielleicht kannst du deine Grammatik irgendwie so ändern, dass die Leerzeichen, die du haben willst, Teil eines Tokens werden. Ohne genauere Beschreibung des Problems kann ich leider nicht mehr sagen.
 

JavaN3rd

Mitglied
Hallo zusammen

Hier ein Beispiel von mir
Ich habe String folgendermassen definiert, so sind alle Leerschläge einbezogen.

Java:
<STRING: "\"" <LETTER> (<LETTER>|<DIGITS>|(" ")+|(".")+|("-")+|(":")+)* "\"">
Eine Möglichkeit wäre vielleicht auch:
Java:
<BLA: "hallo welt">
wenn es um einen bestimmten Befehl geht der einen Leerschlag enthält.
Das habe ich aber nicht ausprobiert. ;)
 

Ähnliche Java Themen

Neue Themen


Oben