Ich versuche, ein MCVE für eine Frage zu erstellen, die ich später stellen werde, aber ich bin auf ein Problem mit der Online-IDE gestoßen, die ich versuche zu verwenden, ideone.Kann PLY lexer nicht mit ideone bauen
Der Code in dem unten stehenden Link perfekt funktioniert gut, wenn ich es in meinen lokalen Python 2.7 Interpreter ausführen:
jedoch auf ideone, die Fehler, die wir bekommen sind:
ERROR: prog.py:282: No regular expression defined for rule 't_DIRECTIVE'
ERROR: prog.py:286: No regular expression defined for rule 't_REFERENCE'
ERROR: prog.py:291: No regular expression defined for rule 't_UNAME'
ERROR: prog.py:296: No regular expression defined for rule 't_USTRING'
ERROR: prog.py:301: No regular expression defined for rule 't_UFLOAT'
ERROR: prog.py:307: No regular expression defined for rule 't_HEX'
ERROR: prog.py:314: No regular expression defined for rule 't_INTEGER'
ERROR: prog.py:320: No regular expression defined for rule 't_COMMENT'
ERROR: prog.py:324: No regular expression defined for rule 't_ID'
ERROR: prog.py:330: No regular expression defined for rule 't_newline'
Traceback (most recent call last):
File "prog.py", line 338, in <module>
File "/usr/lib/python2.7/dist-packages/ply/lex.py", line 901, in lex
raise SyntaxError("Can't build lexer")
SyntaxError: Can't build lexer
Allerdings definiere ich meine Regeln gültig. Zum Beispiel:
def t_REFERENCE(t):
r'([a-zA-Z0-9_\-]+)\s*\'([a-zA-Z0-9_\-\.]+)\''
return t
Was würde diesen Fehler verursachen?
Vielen Dank im Voraus.
Ich würde die verschachtelten einfachen Anführungszeichen vermuten. –
Ich glaube nicht, dass das der Fall ist, da 'r '\ # (\ w +) \ s + (. +)'' ('T_DIRECTIVE') keine' '' Zeichen enthält. –