Здравствуйте, гость ( Вход | Регистрация )
Iron Bug | Дата 9.12.2012, 18:08 |
token.getType() возвращает число, а мне бы имя. пиши обработку своих лексем: http://stackoverflow.com/questions/2228810...ream-with-antlr P.S. это всё банально находится в гугле за пару минут. |
|
smartchecker | Дата 9.12.2012, 13:56 |
Спасибо, разобрался. Надо так:
Теперь какбы откопать название токенов, как они названы в файле грамматики? В коде они генерятся так
Вот мне бы имена переменных, т.е. token.getType() возвращает число, а мне бы имя. |
|
Iron Bug | Дата 9.12.2012, 10:42 |
я не пишу на жабе вообще, но, судя по примерам на сайте ANTLR, нужно делать как-то так:
а дальше у CommonTokenStream есть метод LT: Цитата Token org.antlr.runtime.CommonTokenStream.LT ( int k ) Get Token at current input pointer + i ahead where i=1 is next Token. i<0 indicates tokens in the past. So -1 is previous token and -2 is two tokens ago. LT(0) is undefined. For i>=n, return Token.EOFToken. Return null for LT(0) and any index that results in an absolute address that is negative. |
|
ViGOur | Дата 8.12.2012, 22:08 |
По моему было бы правильней и наглядней писать так:
|
|
smartchecker | Дата 8.12.2012, 14:11 |
Где ошибка?
Код выводит лексеммы, а потом продолжает фигачить Token: <EOF> Token: <EOF> Token: <EOF> Главный вопрос - почему не останавливается? |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 28.4.2024, 22:55 |