Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.11.2012, 17:53   #1
Любопытный человек
Пользователь
 
Регистрация: 14.01.2012
Сообщений: 39
По умолчанию БНФ, дерево левой рекурсии.

Здравствуйте.
Как(в каком направлении) строиться дерево левой рекурсии? Насколько я понял, справа-налево.
Лучше пойму по примеру. Есть продукция expr -> expr + term | term. И выражение 5+3+2. При первом применении чему равна продукция expr?

Последний раз редактировалось Любопытный человек; 16.11.2012 в 18:01.
Любопытный человек вне форума Ответить с цитированием
Старый 16.11.2012, 18:54   #2
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

5+3, наверно . Я как бы вообще не понял зачем различать левую/правую рекурсию. В случае арифметики это без разницы.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 16.11.2012, 19:06   #3
Любопытный человек
Пользователь
 
Регистрация: 14.01.2012
Сообщений: 39
По умолчанию

Понимать - для себя. Не могу я что то делать, до конца не разобравшись А мне надо перевести выражение в постфиксную форму.
А разве при первом применении expr не 5 равно? Как я понял, для того, чтобы работать с продукцией expr -> expr + term, нужно иметь значение expr. А т.к. первый сканируемый символ - "5",то применяется продукция expr -> term. И уже при сканируемом символе "+" используем продукцию expr -> expr + term. Верно?
Любопытный человек вне форума Ответить с цитированием
Старый 16.11.2012, 19:22   #4
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Все выражение рассматривайте как дерево, можете даже зарисовать чтобы было проще. Перед нами выражение a+b, где a=5+3, а b=2. При попытке получить конкретное значение a, будет снова рассмотрено выражение, но уже 5+3. Вот Вам и рекурсия. Вообще пример есть в Вики...
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 16.11.2012 в 19:25.
Utkin вне форума Ответить с цитированием
Старый 17.11.2012, 07:29   #5
Любопытный человек
Пользователь
 
Регистрация: 14.01.2012
Сообщений: 39
По умолчанию

Понятно, спасибо.
Любопытный человек вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
дерево рекурсии J. Smith Общие вопросы C/C++ 4 27.03.2012 12:57
Редакторы БНФ(РБНФ) грамматик Пепел Феникса Свободное общение 5 08.12.2011 17:21
Нажатие левой кнопки мышки sashaxD Общие вопросы Delphi 18 14.06.2011 19:40
нажатие левой кнопки мыши beygul Помощь студентам 6 13.05.2010 20:04