-Подписка по e-mail

 

 -Поиск по дневнику

Поиск сообщений в Linux_Comunity

 -Сообщества

Читатель сообществ (Всего в списке: 1) linux

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 28.09.2005
Записей:
Комментариев:
Написано: 3835


Куча вопросов и еще чуть чуть...)

+ в цитатник

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


Аноним   обратиться по имени Воскресенье, 25 Ноября 2007 г. 22:46 (ссылка)
2. Слишком маленький алфавит, неудобно будет. Если хочешь совсем просто то за алфавит принимаешь два символа (,) и описываешь язык сбалансированных скобок.
По-моему это регулярный язык, так что там трудностей быть не должно.
Если хочешь посложней, то берешь какой-нибудь простенький язык типа паскаля, бейсика или SQL и описываешь некоторое подмножество этого языка.
Вот примерная паскалеподобная грамматика:

program := BEGIN statelist END
statelist := state; | state; statelist
state := ifstate | whilestate | assignstate
ifstate := IF boolexpr THEN statelist ENDIF
whilestate := WHILE boolexpr DO statelist ENDDO
assignstate := ident = expr
boolexpr := expr < expr | expr == expr | expr > expr
expr := term | term + expr | term - expr
term := ident | number
ident := [a-Z] | [a-Z]ident
number := [0-9] | [0-9]number
Ответить С цитатой В цитатник
Аноним   обратиться по имени Воскресенье, 25 Ноября 2007 г. 23:00 (ссылка)
Перечитал твой пост еще раз... Тебе надо написать программу которая читает файл содержащий описание грамматики [b]произвольного[b] языка и генерирует С программу, которая будет проверять свой вход на соответствие заданному языку ?!! Т.е. тебе надо написать генератор синтаксических анализаторов ?!! Тогда предыдущий пост не читай. Посмотри на bison, antlr и т.п.
Вобщем ничего сложного в принципе

Ну-ну.
Ответить С цитатой В цитатник
balvardo   обратиться по имени Понедельник, 26 Ноября 2007 г. 13:15 (ссылка)
Т.е. тебе надо написать генератор синтаксических анализаторов

Хех, а как звучит то... Нет, все гараздо примитивнее... первая инфа которую будет получать предпологаемый узверь данной программы - это "ман" вида: "Для создания валидационной програмки опишите требуемый синтаксис вида:
An={}; //В скобках через запятую укажите элементы алфавита.
R={}; //Укажите символ _новой_ строки".
N={}; //Укажите формат численных хначений
и т.д
Пример
An={1,2,3,4,5,6,7,8,9,0,q,w,e,rt,y,u,i,o};
R={|};
N={0x******};
-----------------------------------------
Чтоб совсем не париться - нужно просто добавить ченить такого вида...
-----------------------------------------
Также при употребелении Nого количества пива в компании одногрупников - возникла идея описать brainfuck-подобный синтаксис...
Ответить С цитатой В цитатник
Мухомор_ru   обратиться по имени Четверг, 29 Ноября 2007 г. 00:34 (ссылка)
menu.lst в студию
Ответить С цитатой В цитатник
balvardo   обратиться по имени Четверг, 29 Ноября 2007 г. 18:20 (ссылка)
Все проблемы решены, всем спасибо.))
Ответить С цитатой В цитатник
Комментировать К дневнику Страницы: [1] [Новые]
 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку