Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Бэкус и Наур

10K
05 июля 2005 года
race1
10 / / 05.07.2005
Задумал писать скриптовый двигатель. Нужно проверять правильность скрипта, хочу использовать для этого запись бэкуса-наура. Где-нибудь есть пример обработки такой записи и применении этой обработки на тексте скрипта?
291
06 июля 2005 года
gufy
703 / / 08.01.2003
чего-чего? Бэкус-Науэр - это типа языка спецификаций? с символами ::= и т.д.? и как на нем скрипты писать?
10K
10 июля 2005 года
race1
10 / / 05.07.2005
Цитата:
Originally posted by gufy
чего-чего? Бэкус-Науэр - это типа языка спецификаций? с символами ::= и т.д.? и как на нем скрипты писать?


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

338
11 июля 2005 года
chigevara
529 / / 29.09.2003
Цитата:
Originally posted by race1
да я думал такую тулзу написать - даёшь на вход запись в БНФ, на выходе получаешь, например, таблицу состояний. ...


На самом деле изначально мысль была правильная. Я над подобной дрянью корплю в свободное время, мысль такая - в модифицированной форме BNF описывается язык(интерпретатор, компилятор, а фактически транслятор в коды или иной язык, синтаксическая подсветка с синхронизацией - примочка вима, которая по сути является зачатком описания восстановления компилятора после ошибки в терминах BNF) в общем весь ливер, и все в одних терминах. В итоге должен получится продукт, который по BNF+ строит что просили(см список выше), то есть наш ответ чемберлену. Чемберлен нынче - GCC&.NET
Если интересно и есть идеи/наработки - [email]read_this_fucking_manual@crazy.ru[/email]
Илья, и снова здравствуй. Откровенно рад видеть! :D

10
11 июля 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by chigevara
Чемберлен нынче - GCC&.NET


Интересный у вас Чемберлен...

Меня вот такой вопрос мучает: реализация .NET на .NET. По выкладкам получается, что принципиальная возможность этого есть, только разработчики и Майкрософт, и Mono - @#$ерасты, дальше Си ничего не видят.

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

338
11 июля 2005 года
chigevara
529 / / 29.09.2003
Цитата:
Originally posted by Freeman
Интересный у вас Чемберлен...

Меня вот такой вопрос мучает: реализация .NET на .NET.


Толком ничего по существу сказать не могу. Но в моем проекте именно так и осуществляется. Компилятор/интерпретатор/редактор/etc пишется на некотором расширяемом подмножестве языка, при этом расширяемом средствами самого языка, при этом расширяемом без перекомпиляции - времени компиляции/интерпретации, то есть расширения в самом исходнике прилады. При этом в случае компилятора процессор/девайс/платформа под кого компилится описывается средствами самого языка как языка описания среды/окружения(environment)
Кстати, есть уже работающии скрипт на php, который по синтаксическим файлам vim-а подсвечивает исходники. У вима описания более 400 форматов-от языков программирования до конфигов различных прилад. Весчь в форумостроении имхо весьма полезная. Однако со временем траблы, а доделывать там еще есть чего. То есть каркас есть, на некотором подмножестве исходников перловки подсвечивает, но для полноценной работы надо расширять скриптец. 2800 строчек кода, порядка 2000 еще придется. Собираю команду, есть желающие? Проект открытый, не коммерческий.

291
11 июля 2005 года
gufy
703 / / 08.01.2003
возвращаясь к первому посту, что значит "скриптовый двигатель"? это значит движок на каком-то из существующих скриптовых языков (php, perl, asp, jsp)? или свой язык скриптов? в первом случае.. хм.. непонятно, к чему сыр-бор, во втором - интереснее, но, все равно, не думаю, что такое представление будет проще чем банальный парсинг текста.. может, я от жизни отстал?
(Тима ин да хаус! привет!)
10K
11 июля 2005 года
race1
10 / / 05.07.2005
chigevara
ну вобще я для своего продукта хочу сделать поддержку скриптов. пока пишется часть, не связанная со скриптами, поэтому есть только мысли - скрипт будет супер простой :) я вот и думаю что мне в моей ситуации не стоит заморачиваться на динамический разбор БНФ. сделать вручную табличку состояний и всё...

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

gufy
как я уже писал, второе
338
11 июля 2005 года
chigevara
529 / / 29.09.2003
Цитата:
Originally posted by race1
chigevara
них практически нету, не считая разбивания текста на токены и проверки вручную вроде "если знак равно - берём левую часть как переменную, правую как выражение и вычисляем выражение и приравниваем переменной :) хотя даже для моего простого скрипт-языка нужно что-то посолиднее, я думаю


Книга дракона, там простой однопроходный компилер в полпинка разгоняется до нормального интерпретатора.
Просто вместо эмита ставишь exec конструкции. Мои рекомендации.

10K
12 июля 2005 года
race1
10 / / 05.07.2005
а что это, книга дракона?
338
14 июля 2005 года
chigevara
529 / / 29.09.2003
Цитата:
Originally posted by race1
а что это, книга дракона?


Компиляторы, принципы, технологии, инструменты.
Альфред Ахо, Рави Сети, Джеффри Ульман.
Это новая книга дракона, переработанная от первой. Классика.

10K
15 июля 2005 года
race1
10 / / 05.07.2005
chigevara
ясно. я тут нашёл вещь GOLDParser, делает большую часть работы. даёшь ей грамматику в БНФ, она строит таблицу состояний и дерево. а потом делаешь с этим что надо. очень удобно, быстро и бесплатно. разве что без исходников :)
338
16 июля 2005 года
chigevara
529 / / 29.09.2003
Цитата:
Originally posted by race1
chigevara
очень удобно, быстро и бесплатно. разве что без исходников :)


Хочешь чтобы что-то было сделано хорошо - сделай это сам. Поверь мне, это совсем не больно :D Но не настаиваю и не навязываю.
P.S. разве что без исходников :) YaCC

10K
16 июля 2005 года
race1
10 / / 05.07.2005
Цитата:
Originally posted by chigevara
Хочешь чтобы что-то было сделано хорошо - сделай это сам. Поверь мне, это совсем не больно :D Но не настаиваю и не навязываю.


Да, это да, мне и самому это интересно. но на это уйдёт много времени, а у меня есть ещё интересные задачи для решения. может потом возьму курсовую на эту тему :)

Цитата:

P.S. разве что без исходников :) YaCC


а там сам генератор в исходниках?

338
18 июля 2005 года
chigevara
529 / / 29.09.2003
Цитата:
Originally posted by race1
а там сам генератор в исходниках?


Ты удивишься, но он сам в исходниках, и генерирует исходники лексического анализатора. В той же книге дракона инструментарий языкотворца описывается. А для создания скриптовых движков есть софт специальный. Да, кстати не уверен про существование YaCC под маздаем - вещь никсовая.

10K
20 июля 2005 года
race1
10 / / 05.07.2005
Цитата:
Originally posted by chigevara
Ты удивишься, но он сам в исходниках, и генерирует исходники лексического анализатора. В той же книге дракона инструментарий языкотворца описывается. А для создания скриптовых движков есть софт специальный. Да, кстати не уверен про существование YaCC под маздаем - вещь никсовая.



а что это за софт специальный для создания скриптовый движков?

yacc есть для win, статью читал там как раз он использовался

338
21 июля 2005 года
chigevara
529 / / 29.09.2003
Цитата:
Originally posted by race1
а что это за софт специальный для создания скриптовый движков?


Не скажу по названиям, просто помнится встречалось упоминание о создании интерпретатора в течении нескольких часов с указанием синтаксиса и семантики стандартизированными средствами. Вряд ли это было в книге дракона, имхо в то время таких развитых средств не было, похоже это статейка какая была. Поройся с поиском, такие вещи должны быть широко освещены в узких кругах.

10K
21 июля 2005 года
race1
10 / / 05.07.2005
Цитата:
Originally posted by chigevara
Не скажу по названиям, просто помнится встречалось упоминание о создании интерпретатора в течении нескольких часов с указанием синтаксиса и семантики стандартизированными средствами. Вряд ли это было в книге дракона, имхо в то время таких развитых средств не было, похоже это статейка какая была. Поройся с поиском, такие вещи должны быть широко освещены в узких кругах.



ладненько, со скриптовым движком разобрались :)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог