Он содержит такие правила, как
Код: Выделить всё
MULTI_LINE_COMMENT : '/*' .*? '*/' -> channel(HIDDEN);
Мой текущий код похож на:
Мой текущий код похож на:
Мой текущий код похож на:
Мой текущий код похож на:
Мой текущий код похож на:
р>
Код: Выделить всё
class MyLanguageParser(MyLanguageParserListener):
#-------------------------------------------------------------------------
def __init__(self):
self.tokens = None
#-------------------------------------------------------------------------
def parse(self, sourcecode: str):
data = InputStream(sourcecode)
lexer = MyLanguageLexer(data)
my_error_listener = MyErrorListener()
lexer.removeErrorListeners()
lexer.addErrorListener(my_error_listener)
stream = CommonTokenStream(lexer)
self.tokens = stream
parser = MyLanguageParser(stream)
parser.removeErrorListeners()
parser.addErrorListener(my_error_listener)
tree = parser.root_rule()
if(my_error_listener.messages != []):
raise ValueError('!!!')
return tree
Подробнее здесь: https://stackoverflow.com/questions/792 ... nel-hidden