2016-04-19 4 views
0

Ich benutze Python und PLY. Ich ignoriere Kommentare mit dieser Regel:Python und PLY: Wie Token 'XXX' zu befreien, definiert, aber nicht verwendet

def t_ANY_COMMENT(self, t): 
    r'//.*$' 
    pass 

Es funktioniert gut, aber ich habe diese Warnung:

ACHTUNG: Token 'KOMMENTAR' definiert, aber nicht

I verwendet möchte diese Warnung loswerden. Ich sehe nichts in der PLY-Dokumentation, um Vorschläge für diesen Fall zu machen.

+0

Die Verwendung eines lexer-Arguments zur Angabe eines alternativen Lexers in der Funktion parse() oder die Verwendung eines tokenfunc-Arguments, das die Funktion zum Abrufen von Tokens angibt, könnte zusätzliche Verarbeitung zum Verwerfen von Token einbringen. Sehen Sie diese [link] (https://groups.google.com/forum/#!topic/ply-hack/TCX8sidC4ks) für andere, die ein ähnliches Problem beschreiben – Phillip

+0

gerade herausgefunden, dass, wenn ich COMMENT aus der Liste der Token dann die entfernen Warnung geht weg. Ich dachte, ich müsste alle Token dort hinstellen, aber ich denke, ich muss nur die da hinstellen, die von dem Yacc-Teil benutzt werden? – kdubs

Antwort

0

in meinem Fall war die Lösung, COMMENT einfach nicht zur Tokens-Variable hinzuzufügen. Ich hatte ursprünglich gedacht, ich müsste alle Token dort hinzufügen. Es stellt sich heraus, dass es nur die sind, die vom yacc-Teil verwendet werden. das macht Sinn, aber der Doc kam nicht wirklich heraus und das.

Verwandte Themen