1
0
Fork 0

append the syntaxErrorListener, don’t replace default

This commit is contained in:
Kevin Matz 2018-10-29 04:42:29 -10:00
parent 380621c52b
commit e7d0a59ccb
1 changed files with 5 additions and 5 deletions

View File

@ -30,7 +30,7 @@ from pythonosc import udp_client
# define an error listener that raises SyntaxError exceptions # define an error listener that raises SyntaxError exceptions
class SyntaxErrorListener(ErrorListener): class SyntaxErrorListener(ErrorListener):
def syntaxError(self, recognizer, offendingSymbol, line, column, msg, e): def syntaxError(self, recognizer, offendingSymbol, line, column, msg, e):
raise SyntaxError('line ' + str(line) + ': ' + msg) raise SyntaxError("line "+str(line)+":"+str(column)+" "+msg)
# setup logging # setup logging
@ -60,13 +60,13 @@ def comment(text):
lexer = CommentMacroLexer(input_stream) lexer = CommentMacroLexer(input_stream)
stream = antlr4.CommonTokenStream(lexer) stream = antlr4.CommonTokenStream(lexer)
parser = CommentMacroParser(stream) parser = CommentMacroParser(stream)
parser._listeners = [SyntaxErrorListener()] parser._listeners.append(SyntaxErrorListener())
try: try:
tree = parser.prog() tree = parser.prog()
walker.walk(oscMacro, tree)
except SyntaxError as e: except SyntaxError as e:
logger.error(e) logger.debug(e) # antlr internal listener prints the error
return # # log it to the debug logger anyway
walker.walk(oscMacro, tree)
if __name__ == '__main__': if __name__ == '__main__':