АвторСообщение



Сообщение: 1
Зарегистрирован: 14.03.09
ссылка на сообщение  Отправлено: 14.03.09 01:08. Заголовок: исходники и новая версия URQ-интерпретатора. Стандарт парсера


Представляю тестовую версию программы URQ-интерпретатора с исходным кодом на языке Pascal.

Оформление отображения текста пока не проводилось, основная задача - проектирование парсера для стандартизации и единообразия представления алгоритма разбор команд языка URQL.

Практически все, если не все, программы URQL построены по принципу вычленения подстрок, когда считанная строка делится по позиции вхождения какого-либо слова, а эти половинки обрабатываются по отдельности...

Здесь-же предлагаю алгоритм, работающий по принципиально-другому способу - разбору как у стандартных языков программирования.

что реализовано в данной (0.0.1) версии:
поддержка всех арифметических и логических операций, операторы:
if ... then ... [else не поддерживается]
p, pln, btn - строки текста с подстановками #выражение$ #%текстовая_переменная$ ##выражение$
instr - единственный способ создания текстовых переменных (длины хранимой строки пока ограничена 63 символами) с подстановками #выражение$ #%текстовая_переменная$ ##выражение$
goto, proc, common, inv, rnd, cls, input, invkill, perkill, save, pause, end.

Характеристики:
* работа с файлами неограниченной длины
* при переходе по метке файл перечитывается заново
* таблица переменных (переменные/инвентарь/метоки/строки) длиной 750 элементов. (строковые типы занимают по два элемента).
* история возврата из подпрограмм на 1025 позиций.
* анализатор ошибки отображает: необходимый оператор для данной конструкции, указание строки, позиции в строке где обнаружена.
* запуск с командной строки (help - выводится при запуске без параметров)
* пока интерпретатором обрабатываются файлы только в dos-кодировке (ASCII).

Режимы работы:
0 - запуск квеста
1 - запуск из сохранения (не тестировался)
2 - сканирование квеста на наличие ошибок
3 - сканирование квеста на наличие ошибок и проверка наличия всех переходов по меткам (долго обрабатывает...)


не знаю как здесь выложить файл... а так смотрите сюда: http://forum.ifiction.ru/viewtopic.php?pid=14929#p14929

Спасибо: 0 
Профиль Цитата Ответить
Ответов - 117 , стр: 1 2 3 4 5 6 All [только новые]





Сообщение: 23
Зарегистрирован: 14.03.09
ссылка на сообщение  Отправлено: 17.06.09 09:11. Заголовок: aurq006 добавлены фу..


aurq006
добавлены функции работы со строками.
примеры в архиве

Спасибо: 0 
Профиль Цитата Ответить



Сообщение: 184
Зарегистрирован: 03.07.07
ссылка на сообщение  Отправлено: 17.06.09 11:23. Заголовок: Полгода разработки п..


Полгода разработки прошло, какие результаты?
Aurq совместима хоть с чем-нибудь?

Спасибо: 0 
Профиль Цитата Ответить



Сообщение: 24
Зарегистрирован: 14.03.09
ссылка на сообщение  Отправлено: 18.06.09 13:52. Заголовок: если честно - дорабо..


если честно - доработал aurq за один вечер. (других дел хватает),
в принципе того что хотел, я для себя реализовал, а именно:
1. гарантированная проверка квестов.
2. практически любой квест, не прошедший проверку исправляется для запуска не более чем за 15-20 мин., кроме квестов в html.
3. есть готовые исходники для перекомпиляции под windows или java.

если появится желание добавлю html, но теги будут выводиться оператором pln вместо хаотичной перемешки с кодом. напр:
вместо: <html><body>pln hi all...
будет: pln <html><body> hi all...

текущая версия неплоха для проверки своих работ, даже если планируете запускать на другом интерпретаторе.
напр: несколько раз попадались подобные переменные "саша+маша" - разве не ясно что используя такую переменную в арифметическом выражении "саша" и "маша" будут считаться разными переменными, об этом вроде ни где не сказано

Спасибо: 0 
Профиль Цитата Ответить



Сообщение: 27
Зарегистрирован: 14.03.09
ссылка на сообщение  Отправлено: 19.06.09 15:58. Заголовок: недавно пробовал зап..


недавно пробовал запустить хроники капитана блуда тайна левой ягодицы- наконец появилась ошибка "таблица переменных переполненна" реализовал delphi версию таблицу увеличил в 20 раз, убрал ограничение на строковые переменные в 64 символа
---
после переезда на другую платформу появилась ошибка, протестирую, исправлю, выложу

Спасибо: 0 
Профиль Цитата Ответить
постоянный участник




Сообщение: 173
Зарегистрирован: 20.01.06
ссылка на сообщение  Отправлено: 19.06.09 19:44. Заголовок: abcdef, радует, что ..


abcdef, радует, что ты стремишься к поддержке уже написанных игр

и ещё: раз уж написанные игры требуют конвертации, что бы работать на твоём движке- хорошо бы сделать спец-утилиту для автоматической конвертации

// а слово 'стандарт' в названии этой темы меня коробит. твоя урка- самая нестандартная из всех, которые я видел

мой дневник: http://ariom.ru/forum/t4591-0.html Спасибо: 0 
Профиль Цитата Ответить



Сообщение: 29
Зарегистрирован: 14.03.09
ссылка на сообщение  Отправлено: 22.06.09 08:58. Заголовок: aurq007 windows-верс..


aurq007 windows-версия. подробности на: http://forum.ifiction.ru/viewtopic.php?pid=15303#p15303

Спасибо: 0 
Профиль Цитата Ответить



Сообщение: 31
Зарегистрирован: 14.03.09
ссылка на сообщение  Отправлено: 23.06.09 13:25. Заголовок: aurq008 для windows ..


aurq008 для windows и dos. (добавлено проивольное положение меток в квестах).

подробности там же...

Спасибо: 0 
Профиль Цитата Ответить



Сообщение: 32
Зарегистрирован: 14.03.09
ссылка на сообщение  Отправлено: 26.06.09 20:36. Заголовок: выложил рабочую верс..


выложил рабочую версию с исходниками и подробной документацией.
тестовый пример - квест 'хроники капитана Блуда...'

Спасибо: 0 
Профиль Цитата Ответить
неизвестный человек




Сообщение: 225
Зарегистрирован: 08.06.07
ссылка на сообщение  Отправлено: 26.06.09 20:47. Заголовок: abcdef Скажи честно,..


abcdef Скажи честно, прежде чем я скачал. Это все работает?

Неизвестный человек... Человек, который привел Настю... Человек, который раcкусил Евга... Человек-грунт... Спасибо: 0 
Профиль Цитата Ответить



Сообщение: 188
Зарегистрирован: 03.07.07
ссылка на сообщение  Отправлено: 26.06.09 21:38. Заголовок: Chicago1920 оно не р..


Chicago1920 оно не работает сразу, зато само говорит тебе как под него переделать игру, чтоб она всё-таки заработала.
Я не качал, сужу по описанию самого автора.

Спасибо: 0 
Профиль Цитата Ответить



Сообщение: 33
Зарегистрирован: 14.03.09
ссылка на сообщение  Отправлено: 27.06.09 09:12. Заголовок: а что имелось в виду..


а что имелось в виду "работает". с версии aurq006 вносилось много мелких корректировок, но из-за нехватки времени комплексное тестирование проводилось не всегда проводилось (несколько версий не обрабатывают некоторые квесты).
В aurq0082 добавлен более корректный алгоритм остановки переполненного экрана, проведен тестинг имеющихся квестов, проверена работа добавленых возможностей, полная совместимость с dos-версией.
---
квесты в архиве с программой:

"Тетрис" - переполняется экран и ждет нажатия 'далее'. (удалить в первом pln две подстановки #/$)

"Хроники капитана блуда" - практически везде генерация адресов перехода через подстановку #...$, совместно с отсутствием некоторого кол-ва оных локаций, приводит к ошибкам 'метка не найдена'. (добавить имя метки в пустую локацию, файл 'debug.txt' переименовать в 'save.txt' и запустить из сохранения командой 'aurq_win 1 w vk.qst')

Спасибо: 0 
Профиль Цитата Ответить



Сообщение: 34
Зарегистрирован: 14.03.09
ссылка на сообщение  Отправлено: 02.07.09 10:48. Заголовок: выложил aurq0089. по..


выложил aurq0089. подробная документация. в архиве более сотни проверенных и адаптированных квестов

Спасибо: 0 
Профиль Цитата Ответить



Сообщение: 35
Зарегистрирован: 14.03.09
ссылка на сообщение  Отправлено: 05.07.09 17:45. Заголовок: готовится версия aur..


готовится версия aurq009. поэтому вопрос к квесто-писателям: сейчас существует тип данных 'счетчик метки' его можно только считывать. Каково ваше мнение, если их упраздню, т.е. будут увеличиваться числовые переменные с именем как у метки? Т.к. попадались квесты которые 'в наглую' пытались менять значения счетчиков. Кроме того подобный подход получит возможность без приставки 'count_'обращаться к меткам

Спасибо: 0 
Профиль Цитата Ответить
администратор


Сообщение: 308
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 06.07.09 09:50. Заголовок: abcdef пишет: Кроме..


abcdef пишет:

 цитата:
Кроме того подобный подход получит возможность без приставки 'count_'обращаться к меткам

Приставка была добавлена из-за того, что во многих квестах, особенно ранних, используются метки в виде чисел, типа
:15

Со счетчиками без приставки получается, что 15+4 должно быть не 19, а "число заходов на 15"+4.

Спасибо: 0 
Профиль Цитата Ответить
постоянный участник




Сообщение: 293
Зарегистрирован: 20.12.05
ссылка на сообщение  Отправлено: 06.07.09 20:22. Заголовок: Прямо эволюция наобо..


Прямо эволюция наоборот. Обратно в рипурку О_о

Спасибо: 0 
Профиль Цитата Ответить



Сообщение: 36
Зарегистрирован: 14.03.09
ссылка на сообщение  Отправлено: 07.07.09 16:17. Заголовок: выложил версию aurq0..


выложил версию
aurq009 - более стабильная и более медленная чем предыдущие.
Стандартная работа с инвентарем, картинки (только '.jpg' и только отображение)
в архиве несколько адаптированных квестов

Спасибо: 0 
Профиль Цитата Ответить
Юрист урки, адвокат дьявола




Сообщение: 54
Зарегистрирован: 07.12.06
ссылка на сообщение  Отправлено: 09.07.09 21:23. Заголовок: Да, такую энергию, д..


Да, такую энергию, да в нужное русло бы ;)

Спасибо: 0 
Профиль Цитата Ответить



Сообщение: 42
Зарегистрирован: 14.03.09
ссылка на сообщение  Отправлено: 14.07.09 15:06. Заголовок: urq-программка для A..


urq-программка для AURQ0092, сочиняющая стихи:
http://forum.ifiction.ru/viewtopic.php?pid=15416#15416

Спасибо: 0 
Профиль Цитата Ответить
постоянный участник




Сообщение: 6
Зарегистрирован: 26.04.09
ссылка на сообщение  Отправлено: 14.07.09 15:37. Заголовок: abcdef , pause -1 в ..


abcdef , pause -1 в SURQ означает "ждать бесконечно долго". А как он работает в AURQ?

Спасибо: 0 
Профиль Цитата Ответить



Сообщение: 43
Зарегистрирован: 14.03.09
ссылка на сообщение  Отправлено: 14.07.09 16:19. Заголовок: 'pause' и лю..


'pause' и любое отрицательное число с версии 009 означает сброс на экран и очистку буфера накопившегося текста. для бесконечной паузы есть 'end'

Спасибо: 0 
Профиль Цитата Ответить
Ответов - 117 , стр: 1 2 3 4 5 6 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 3
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет