Сам Теренс Парр говорит об antlr3: «К сожалению, создать токенизатор с помощью ANTLR по-прежнему кажется сложнее, чем с традиционным lex-подобным подходом». В то время как у pygments есть лексеры практически для любого языка, о котором вы только можете подумать: http://pygments.org/languages/
Кто-нибудь пробовал использовать лексер pygments с целью antlr python? У antlr2 был пример использования flex с целью cpp, к сожалению, для antlr3 таких примеров нет.
Могу ли я просто вручную написать файлgramname.tokens, который может импортировать парсер antlr? Когда я использую лексер antlr, появляется куча анонимных токенов, могу ли я просто удалить их? В качестве альтернативы, возможно, pygments можно изменить, чтобы принять файл antlr .tokens для своих токенов. Поток токенов pygments просто должен реализовать интерфейс потока токенов antlr.
.tokens
никак не повлияет на ваш лексер. И какие языки так сложно токенизировать? 06.09.2011