![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
PovAnd |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 20.8.2007 Репутация: нет Всего: нет |
Может кто подкинет пример для ANTLR где присутствует отработка вложенности скобок в выражении (логическом или арифметическом по ходу без разницы).
Или как вариант, вот я составил правила для записи логических выражений вида: "op1" && "op2" || "op3" && !!!"op4" -------------------------- grammar Parser; UNIT : '"'('a'..'z' | 'A'..'Z'| '0' .. '9' | ' ')*'"'; expression : conditionalOrExpression ; conditionalOrExpression : conditionalAndExpression ( '||' conditionalAndExpression )* ; conditionalAndExpression : exclusiveOrExpression ( '&&' exclusiveOrExpression )* ; exclusiveOrExpression : unaryExpressionNot ( '^' unaryExpressionNot )* ; unaryExpressionNot : '!'* UNIT ; -------------------------- Помогите доработать, чтобы данный парсер поддерживал возможность выражений вложенных в скобоки. |
|||
|
||||
PovAnd |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 20.8.2007 Репутация: нет Всего: нет |
ну вроде дадумался, так вроде работает:
------ grammar Parser; UNIT : '"'('a'..'z' | 'A'..'Z'| '0' .. '9' | ' ')*'"'; expression : conditionalOrExpression ; conditionalOrExpression : conditionalAndExpression ( '||' conditionalAndExpression )* ; conditionalAndExpression : exclusiveOrExpression ( '&&' exclusiveOrExpression )* ; exclusiveOrExpression : unaryExpressionNot ( '^' unaryExpressionNot )* ; unaryExpressionNot : '!' unaryExpressionNot | valueExpression ; valueExpression : UNIT | '(' conditionalOrExpression ')' ; ------ |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java tools & IDE's | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |