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

 

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

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

 -Сообщества

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

 -Статистика

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


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

Воскресенье, 25 Ноября 2007 г. 13:24 + в цитатник
balvardo все записи автора 1) Поставил бубунту. 7.10. При установке она не видела партишены на диске (в это время там стоял виндовс, и дебиан етч) Вобщем я на всякий пожарный форматнул партишн с дебом и свопом, потом сново их создал (cfdisk) - запускаю инсталлер - все норм. Ставлю , все хорошо. Потом пытаюсь из граба запустить виндовс - виснет на стартинг ап...
udo fdisk -l
[sudo] password for alva:

Disk /dev/sda: 40.0 GB, 40000000000 bytes
255 heads, 63 sectors/track, 4863 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x20299086

Device Boot Start End Blocks Id System
/dev/sda1 1 1306 10485688+ 7 HPFS/NTFS
/dev/sda2 * 1306 2551 10000462+ 83 Linux
/dev/sda3 2551 2611 485289 82 Linux swap / Solaris
/dev/sda4 2611 4862 18075928+ 7 HPFS/NTFS
2) Идем дальше... Институт курсовая...
Задание: программа парсит текстовый документ в котором находиться описание _синтаксиса_. На выходе - *.сс - который после компиляции представляет собой программу для валидации любого входящего текстового файла на этот синтаксис. Вобщем ничего сложного в принципе (это курсяк). Поставило в ступор предложение препода "Ну а синтаксис придумай сам, точнее правила для создания этого синтаксиса."... Вот то что пришло в голову: Например: а={1,2,3,4,5,6,7,f,q,w,r,t,v} /*задаем алфавит - т.е при разборе дока на валидацию проверяем все символы на принадлежность этому массиву*/... Но это слишком просто... нужно добавить еще какие то правила - не слишком заморочистые, не слишком простые. А с фантазией что то туго...

Аноним   обратиться по имени Воскресенье, 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 в ссылку
 Подписаться на комментарии
 Подписать картинку