Оберон-клуб «ВЄДАsoft»

Твердыня модульных языков
Текущее время: 16 июн 2025, 22:05

Часовой пояс: UTC + 2 часа




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Взаимно рекурсивные функции
СообщениеДобавлено: 26 сен 2018, 14:08 
Не в сети

Сообщения: 350
Что-то я не понял, как определить в BlackBoxComponentBuilder пару взаимно рекурсивных функций.
Что, нужно завести переменную процедурного типа и её инициализировать?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Взаимно рекурсивные функции
СообщениеДобавлено: 26 сен 2018, 18:24 
Не в сети
Аватара пользователя

Сообщения: 67
Откуда: Equestria
Код: "OBERON"
  1.  
  2. PROCEDURE^ P2;
  3.  
  4. PROCEDURE P1;
  5. BEGIN P2
  6. END P1;
  7.  
  8. PROCEDURE P2;
  9. BEGIN P1
  10. END P2;
  11.  


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Взаимно рекурсивные функции
СообщениеДобавлено: 26 сен 2018, 19:01 
Не в сети

Сообщения: 146
Или так:
Код: "OBERON"
  1. PROCEDURE P1;
  2. PROCEDURE P2;
  3. BEGIN P1
  4. END P2;
  5. BEGIN P2
  6. END P1;


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Взаимно рекурсивные функции
СообщениеДобавлено: 27 сен 2018, 15:33 
Не в сети

Сообщения: 350
Спасибо (я не пишу спасибо за другие вопросы, потому что пытаюсь быть похожим на StackOverflow, где за лишние спасибо можно получить выговор). А если у меня парсер методом рекурсивного спуска, который состоит из N взаимно-рекурсивных функций, в перемешку со служебными функциями, которые не входят в рекурсивные отношения?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Взаимно рекурсивные функции
СообщениеДобавлено: 27 сен 2018, 16:28 
Не в сети

Сообщения: 146
Неясно, в чём именно загвоздка. Вариант, предложенный SovietPony не подходит?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Взаимно рекурсивные функции
СообщениеДобавлено: 27 сен 2018, 16:28 
Не в сети
Аватара пользователя

Сообщения: 67
Откуда: Equestria
В компиляторе ББ как раз такой парсер. Собственно как делается рекусия уже показали: сначала делаем объявление наперёд, потом делаем реализацию в удобном месте.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: Взаимно рекурсивные функции
СообщениеДобавлено: 27 сен 2018, 20:45 
Не в сети

Сообщения: 350
Понял, спасибо!


Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 2 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
© VEDAsoft Oberon Club