OberonCore
https://forum.oberoncore.ru/

Refal0 Bug?
https://forum.oberoncore.ru/viewtopic.php?f=47&t=1275
Страница 1 из 1

Автор:  hothing [ Пятница, 05 Декабрь, 2008 20:14 ]
Заголовок сообщения:  Refal0 Bug?

Здравствуйте, Иля. Возникли проблемы с исполнителем Рефал-программы - при попытке обработаь техт вылетает трап @index out of bound@. Код и текст во вложении. Если будет время - посмотрите, пожалуйста.
Вложение:
Rocot-bug1.JPG
Rocot-bug1.JPG [ 185.18 КБ | Просмотров: 3098 ]


Вложения:
PmS7Parser.txt [8.27 КБ]
Скачиваний: 653

Автор:  Илья Ермаков [ Пятница, 05 Декабрь, 2008 20:32 ]
Заголовок сообщения:  Re: Refal0 Bug?

Здравствуйте!
Рад, что Вы нашли применение Рефалу! ))

Это не ошибка Рефала. Просто Вы невнимательны в одном важном моменте.
В сгенерированных процедурах параметр in - это не строка, а входной стек с символами.
Т.е. Вы должны класть текст для разбора к концу массива, указывая начало в переменной p и оставляя некоторое место в начале.
(В некоторых случаях чистого анализа стек может и не использоваться. Но обычно - будет.)

Ваша ошибка - это "переполнение входного стека". Переменная p в окне трэпа = -1.

Объём оставляемого места должны оценивать Вы сами, зная свой алгоритм. Так же, как и в случае с обычным стеком.

Автор:  hothing [ Пятница, 05 Декабрь, 2008 21:17 ]
Заголовок сообщения:  Re: Refal0 Bug?

Разобрался, спасибо. :)

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/