Форум » » Antlr грамматика для URQL » Ответить

Antlr грамматика для URQL

Logger: Попалась тут замечательная open-source библиотека для Java - Antlr. Позволяет легко и удобно (для тех, кто освоил :) писать парсеры/компиляторы и т.п. Ни у кого не завалялась грамматика URQL для нее? Ну или может найдутся желающие оную грамматику создать?

Ответов - 23, стр: 1 2 All

Серый Волк: Хм. Мне и моим друзьям-енотам не шибко понятно, что именно нужно и для чего. Можно горячих подробностей?

Nex: Logger стандарта нет. Есть куча диалектов, но на самые устоявшиеся - URQ_DOS и Furq нет исходников, поэтому расписать грамматику будет сложно. Есть еще вариант в INSTEAD, уже с исходниками на lua, но там еще хитрее - куча режимов и настроек. Привести все диалекты к общему знаменателю - задача безусловно достойная, только кто ж ее осилит? Создателям уркопретаторов обычно на такие проблемы абсолютно пофигу.

Logger: Серый Волк пишет: Мне и моим друзьям-енотам не шибко понятно, что именно нужно и для чего. Финальная цель - создание новой Урки :) ...но для iOS. Просто если-бы у кго-то Antlr грамматика была - он бы понял, о чем речь.


Nex: Logger я думаю, скоро урка появится на айфоне в составе INSTEAD.

S-presso: Nex пишет: Финальная цель - создание новой Урки :) ...но для iOS. А, если не секрет, какая платформа использовалась при создании "Подземелий черного замка" для iOS? Это не какая-то упрощенная урка (судя по "кнопочному" интерфейсу квеста)? Насчет грамматики: я читал книгу по разработке трансляторов и благополучно пропустил в нем весь теоретический раздел, в котором как раз описывалось создание грамматик (просто довольно быстро перестал понимать, о чем идет речь). Тем не менее это нисколько не помешало усвоению всего последующего практического материала, что позволило позже начать работу над транслятором URQL в байт-код Java (сейчас добавляю чистый интерпретатор). Является ли наличие грамматики необходимым условием для создания успешного интерпретатора? Возможно, оно является достаточным условием (особенно при наличии готовой библиотеки, такой как Antlr), но на реализацию этого имхо уйдет больше времени, чем нужно для написания интерпретатора урки с нуля. Хотя, конечно, я не математик, могу и ошибаться.

Nex: S-presso ну во-первых цитируете неправильно, про создание новой урки писал не я, а Logger. На айфоне есть несколько книг-игр, в т.ч. ПЧЗ, на платформе "Я - мастер книг". Это не урка. Платформа заточена на книги-игры, автор платформы - Глеб Гадяцкий(Logger) - является одновременно и автором нескольких книг под эту платформу. Реализована, насколько я помню, на HTML.

S-presso: Nex Да, я и имел в виду Logger, но почему-то вставилось Nex. Посмотрел по ссылке. Не знал о существовании такого мощного редактора. Сам-то я делал реализацию ПЧЗ для URQ и JavaScript в блокноте (ну не совсем, вообще-то использовался редактор 1st JavaScript Editor). Зато теперь есть исходный код, который должен быть понятен тем, кто знает URQL.

S-presso: Logger, а можно попросить исходники "Я - Мастер Книг"? Хочется сделать расширенную версию ПЧЗ (на основе варианта, выкладывавшегося на quest-book одним из форумчан), а также одну имеющуюся у меня книгу-игру (которая, очевидно, продавалась только у нас в городе) на своей платформе PolyQuest. Все на некоммерческой основе, с публикацией на форумах. Вот только кодить в текстовом редакторе уже надоело. А так можно было бы попытаться модифицировать Мастер книг, чтобы он генерировал квесты в урк-формате cо скриптовыми вставками. Добавить возможность вручную править код и добавлять свои подпрограммы. В перспективе - отладчик для подпрограмм JavaScript (чего мне так не хватает) и всего урк-кода.

Nex: В Мастере-Книг, насколько я помню, можно написать и использовать свой шаблон для экспорта. Для этого не нужно лезть в исходный код.

Евгений: Вообще вряд ли такая грамматика(для Antlr) на данный момент существует в природе. Разве что, если Гивер для развлечения вдруг с этой штукой игрался, но это очень очень сомнительно. А других серьезных адептов Явы я у нас просто не припомню. Logger, а как вообще идет это твой бизнес? Есть продажи? :)

Logger: Nex пишет: я думаю, скоро урка появится на айфоне в составе INSTEAD.Может быть...но формально для iOS нельзя загружать код в готовом приложение в любом виде. Модули на URQL (и любом другом if-языке) четко под это попадает. Можно писать движок, но есть совершенно реальная вероятность что Яблочники откажут в публикации. Сегодня можно было бы выпускать приложение, в котором включить какое-то кол-во модулей, но полноценным плеером это не будет (так как нельзя будет добавлять квесты) S-presso пишет: А так можно было бы попытаться модифицировать Мастер книг, чтобы он генерировал квесты в урк-формате cо скриптовыми вставками. Он это уже делает. "Королевство Кеперлейс" и "Непредвиденный пассажир" были портированы на URQ именно через редактор. Еще он умеет экспортировать в QSP (только соответствующий модуль еще не выложен на сервер) Код, честно, пока раскрывать не хочу. Хочется сделать расширенную версию ПЧЗ....на своей платформе PolyQuest. Все на некоммерческой основе, с публикацией на форумах.Я, честно, не очень-то рад появлению бесплатных ПЧЗ. Потому как это убивает желание оный ПЧЗ покупать :) И соответственно, убивает желание нанять художника/дизайнера/композитора и сделать из ПЧЗ полноценную игру, раскрутив таким образом IF как жанр. Ну и у самого Браславского давно руки опустились писать новые книги-игры, так как нет спроса (а кушать хочется). Евгений пишет: Logger, а как вообще идет это твой бизнес? Есть продажи? :)Продажи есть. Из Top Paid Games по России мы уже правда вывалилась, сейчас продажи идут на уровне 5 в сутки. Пока что основной вывод - надо улучшать интерфейс, текущий вариант очень слаб чтобы конкурировать с прочими играми, без хорошего дизайна на широкую публику выходить бесполезно.

Евгений: О, это очень здорово, рад за тебя :) Я, честно говоря, был настроен довольно скептически к возможности коммерциализации жанра :) Насчет художника - ты видел диск 2000 года с играми Брасла ПЧЗ и ЛЗС? Там к этим играм уже были сделаны просто отличные иллюстрации на мой взгляд. Жаль, если нельзя их выцепить для этого проекта.

Nex: Logger вообще-то бесплатной версии ПЧЗ для айфона нет(если не считать браузерных версий). Поэтому владельцам айфона придется-таки купить ПЧЗ, чтобы поиграть. Ну и я не вижу смысла, например, делать под айфон релиз моей QSP-версии ПЧЗ, раз уже вышла официальная версия. Ну а присутствие бесплатных версий ПЧЗ на остальных платформах, будем надеяться, добавит этой игре известности и популярности. Собственно, именно с этой целью я ее портировал много лет назад.

S-presso: Nex, а мою реализацию ПЧЗ вы видели (она есть в теме о проекте интерпретатора с поддержкой JavaScript)? Я старался по возможности точно воспроизвести версию "Буки" с того самого диска 2000 года, как если бы ее делали на AkURQ. Но выдирать графику из ресурсов я не умею, а все изображения были получены с помощью screen-grabber без очистки фона. Поэтому иллюстраций к параграфам у меня нет. Однако интерфейс и музыкальное оформление сохранены (а кое-какие недоработки исправлены - об этом сказано в шапке темы). Как вам кажется, надо ли развивать этот порт и сам движок (модифицировать код игры для поддержки FireFox при запуске из-под Linux и MacOS, для поддержки запуска под Android, переводить часть имеющегося JavaScript-кода в URQ)? Напишет ли кто-нибудь свою игру на этом или похожем "гибридном" движке?

Nex: К другим реализациям ПЧЗ, помимо своей, я давно потерял интерес, после того, как встретил полное непонимание по вопросу исправления авторских ошибок. Поэтому я их не смотрю и не собираюсь. Версию Буки и твою тоже не смотрел и не буду. Свою версию скромно считаю самой лучшей. "надо ли развивать этот порт и сам движок ...? Напишет ли кто-нибудь свою игру на этом или похожем "гибридном" движке?" Реально, в очередном уркопретаторе нет никакой нужды. Есть прекрасная Фурка, замечательный Инстед, и даже олдскульная Досурка. Но это никогда не останавливало и не останавливает создателей уркопретаторов. Ведь они создают их не для игроков, а потому что стремятся к прекрасному. И никакие советы, рекомендации, просьбы и мольбы не смогут сбить их с этой велосипедной колеи. Создание очередного движка, успешное или как чаще бывает, неуспешное, не принесет никакой пользы сообществу, зато пойдет на пользу автору - повстречавшись лично с истертыми граблями, он приобретет ценный опыт. Так что вперед!

S-presso: К другим реализациям URQ, помимо своей, интереса не испытываю, потому что в них нет того, что мне нужно. Кроме того, я встретил полное непонимание со стороны сообщества по вопросу нововведений в урке (и неважно, что я еще об этом по сути не говорил - ведь не примут, так ведь?). Поэтому я их не смотрю и не собираюсь. Инстед тоже не смотрел и не буду. Свою версию скромно считаю самой лучшей. (с) Или, предположим, такой взгляд со стороны воображаемого консервативного старожила урк-сообщества: "Да видел я этот ваш Инстед! Мне Рабинович подкаст автора пересказал. Там все на каком-то лунном языке и вместо локаций комнаты создавать надо. Ужас!" Оригинал: "Слышали мы этого вашего Паваротти, мне Рабинович его по телефону напел. Ужас!" А вот типичные настроения этапа становления INSTEAD: - Да ты хоть видел, какие игры есть на Инстеде? - Не видел и не собираюсь. Создание очередного движка не принесет никакой пользы сообществу. (Ну это если утрировать. На самом деле было так: Nex пишет: Пока что не вижу преимуществ "кодинга" над той же Миленой. Которая, кстати, расширяет урку с помощью lua и про которую автор тоже божится, что она вся такая гибкая и многофункциональная. gloomy написал: Вообще -- хорошо, если бы вы глянули на саму игру -- в действии -- мне кажется стало бы понятно зачем был нужен движок. Да, хорошо бы. Я бы прямо сейчас глянул, если б не пришлось ставить ради этого UNIX. В принципе, и так понятно, зачем он нужен - очередная менюшная платформа, для создания менюшных квестов, вроде Милены, только написанная под UNIX и ориентированная на программистов. ) Налицо очевидная эволюция во взглядах IF-сообщества на "очередной движок": от "очередная менюшная платформа для создания менюшных квестов" до "замечательный Инстед". Извиняюсь, что так обобщаю. Имхо, даже если на очередном "велосипедном" движке будет создана всего одна игра, это уже принесет пользу сообществу (это я сейчас, конечно, не о ПЧЗ, для которого уже есть множество реализаций). Кстати, на самом Инстеде не так уж много этих оригинальных игр. Если разработчик чувствует себя ограниченным рамками существующих платформ, почему надо воспринимать его инициативу в штыки? Должны ли все демонстративно отказаться устанавливать его плеер "ради какой-то одной игры"? Конечно, со стороны разработчика полностью отбросить существующие скриптовые языки и сделать все по-своему - это тоже маразм. Но сохранение совместимости с уже имеющимися играми - вполне достойная задача. Или, по вашему, создатели ReactOS тоже страдают ерундой? Какое-то время назад тут проходило обсуждение необходимости создания опенсорсной урки. Если таковая будет создана и позволит запускать по крайней мере все квесты для Досурки и в довесок будет поддерживать только ей доступные фишки вроде HTML и гиперссылок, вы что, будете упорно запускать Досурку? Ведь была же и AkURQ, которой пользовались люди! Другое дело, что ее фишки не нашли широкой поддержки ввиду все того же консерватизма сообщества. Почему не попытаться сделать ее современный опенсорсный аналог? Использование Java в качестве языка реализации позволило бы легко перенести ее на Linux, MacOS, Android, урезанную версию можно было бы портировать на мобильники (обычные, не только S60, для которых есть Instead). Да, есть большой риск наступить на грабли, но почему не попытаться? К слову, я не заявляю, что у меня хватит терпения все это осилить, просто напомнил, что такие мысли уже поднимались на этом форуме и признавалась вся важность доступности исходников, чтобы другой программист мог "подхватить знамя" в случае нежелания / невозможности прежнего разработчика заниматься проектом. P. S. Может, сейчас в этом и видно стремление к прекрасному, но начинался мой проект как обычная курсовая работа по созданию сайта. Вместо сайта я решил сделать ПЧЗ, правда, довести начатое дело до точки (или, вернее, многоточия) удалось только через год. Благодаря "этой вашей урке" я защитил еще один курсовой проект (на этот раз ПЧЗ уже в составе интерпретатора квестов на Java), так что мои усилия в любом случае не напрасны. Но еще до того, как я познакомился с AkURQ и решил переделать игру под ее синтаксис, я написал транслятор со своего собственного языка в код отечественных программируемых калькуляторов (в комплекте с эмулятором) и тоже успешно защитил его. Отлично осознавая, что все это никому не нужно, я тем не менее добил эти проекты. Теперь мне предстоит диплом - так почему бы не заняться вплотную созданием уркопретатора?

Logger: S-presso пишет: надо ли развивать этот порт и сам движок IMHO - в текущем виде - нет. Потому как она на 100% покрывается Аэро-QSP, только Аэра будет работать на всех основных браузерах Винды и МакОса и везде, где есть нормальная поддержка флэша. Имеет смысл делать движок, который будет делать что-то, что ни делают остальные движки. Чтобы у авторов был какой-то стимул оный движок использовать. Например - сделай нормальный урку для мобил. Или компилятор, чтобы URQL в байт-код под J2ME переводить, но с нормальным графическим интерфейсом (лучше, чем у AURQ).

Серый Волк: Ведь была же и AkURQ, которой пользовались люди! Другое дело, что ее фишки не нашли широкой поддержки ввиду все того же консерватизма сообщества. (с) S-presso Уточняющая ремарка: я бы не сказал, что консерватизм сообщества сыграл какую-либо роль по отношению к Акурке, и что проигрыватель не получил должной поддержки. Напротив, появилась Акурка - большинство квестописателей стали делать игры под неё. И это не смотря на проблемы с её стабильной работой и порой непредсказуемое поведение, что было обусловлено тем, что программа находилась в постоянном развитии и писать приходилось под промежуточные версии. А что было делать, если кроме давно устаревшей оригинальной Рипурку не было GUI-интерпретатор, а игры хотелось делать красивые :) Теперь мне предстоит диплом - так почему бы не заняться вплотную созданием уркопретатора? (с) S-presso Риторический вопрос. Занимайся, занимайся тем, чем хочется, что интересно, что в кайф. Просто будь готов к тому, что твой труд останется невостребованным. В ту же AURQ-у было, смею предположить, вложено много сил и времени, но ни одной игры под неё написано не было и вряд ли будет написано в дальнейшем.

Евгений: S-presso пишет: Налицо очевидная эволюция во взглядах IF-сообщества на "очередной движок": от "очередная менюшная платформа для создания менюшных квестов" до "замечательный Инстед". Извиняюсь, что так обобщаю. Ну эволюции особой тут нет, просто уважение нужно заслужить, авансом оно не выдается. Инстед вполне справился. S-presso пишет: Какое-то время назад тут проходило обсуждение необходимости создания опенсорсной урки. Если таковая будет создана и позволит запускать по крайней мере все квесты для Досурки и в довесок будет поддерживать только ей доступные фишки вроде HTML и гиперссылок, вы что, будете упорно запускать Досурку? Кстати говоря, тот же урк-модуль для инстеда прекрасно существует в опенсорсном режиме и там с совместимостью все очень неплохо :) Что будут люди использовать зависит от множества факторов, и удобство, на мой взгляд, один из самых главных :) Даже если нет той же самой стопроцентной совместимости и всяких ссылок. Досурку, я, к сожалению, уже давно не запускаю, фурка стала гораздо милее - один этот дебаг-режим прекрасный. Который я сто лет назад просил у Вика, но никто кроме Фаера не потрудился его сделать :) Серый Волк пишет: В ту же AURQ-у было, смею предположить, вложено много сил и времени, но ни одной игры под неё написано не было и вряд ли будет написано в дальнейшем. Новые интерпретаторы сейчас скорее делают не для того, чтобы под них писали игры, а для того чтобы на них игрались игры, так что не вижу тут большой проблемы. И вообще не понимаю о чем идет спор :) Диплом по любимой теме - всегда отличная идея. И при создании нового всегда есть шанс, что вдруг получится шедевр. И я лично только радуюсь количеству интерпретаторов - это же выгодно отличает урку от всех остальных платформ :) И когда мы в очередной раз пойдем меряться чем-нибудь с qsp этот наш список всегда будет длиннее. Такая милая национальная черта.

S-presso: Евгений пишет: Новые интерпретаторы сейчас скорее делают не для того, чтобы под них писали игры, а для того чтобы на них игрались игры, так что не вижу тут большой проблемы. Вот и я так думаю. Наверное, для любого разработчика намного приятнее запускать игры на своем интерпретаторе, чем на чужом. Так радовался, когда у меня наконец заработал мини-квест "Красавица и чудовище"! Кстати, нет ли других квестов для AkURQ, которые бы активно использовали HTML? Охота потестить. И поддержку каких вообще квестов вы бы хотели увидеть в первую очередь (желательно в порядке усложнения синтаксиса)?



полная версия страницы