Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 01:49 24.04.24 
Клубове/ Компютри и Интернет / Delphi Всички теми Следваща тема Пълен преглед*
Информация за клуба
Тема Синтактичен анализ...
АвторXpиcтo (Нерегистриран) 
Публикувано31.03.05 20:05  



Имам един курсов проект. Условието на задачата е следното:

========================================================
Даден е синтаксис на език в Бакус-Наур форма на описание:

statement ::= ‘SELECT’ Flist ‘FROM’ DataList [ clause]
Flist ::= NAME’.’NAME{‘,’ NAME’.’NAME}
DataList::= NAME { ‘,’ NAME }
agreg::= NAME | function
function ::= ‘max’’(‘Flist ‘)’ | ‘min’’(‘Flist ‘)’ | ‘STR’’(‘NUM ‘)’ | ‘VAL’ ‘(‘ NAME ‘)’
clause ::= ‘WHERE’ logExpr
logExpr::= NAME Oper val { (‘and’ NAME Oper val) | (‘or’ NAME Oper val) }
val ::= NUM | agreg
Oper ::= ‘=’ | ‘<’ | ‘>’ | ‘<>’ | ‘<=’ | ‘>=’ | ‘in’
NUM ::= [0-9]+
NAME ::= [A-Za-z]+

Да се състави програма, която да разпознава произволен низ от този език.
Примерен вход:
SELECT
FA.BA, FB.BA, FC.BB
FROM
BA, BB
WHERE
VarC = 3 and VarB < FA.BA and VarC < max(FB.BA, FC.BB, VarA) and
VarC > min( FB.BA, FC.BB, VarA ) and VarC in FC.BB
==========================================================

Всъщност, програмата трябва само да открива първата грешка в низа (ако има такава).

Насочете ме към някои сайтове, от които мога да науча повече за парсването по принцип (някакви по-универсални алгоритми, които могат да послужат за основа на конкретни задачи).

Разбира се, можете да ми дадете идеи и за моята задача.



Цялата тема
ТемаАвторПубликувано
* Синтактичен анализ... Xpиcтo   31.03.05 20:05
. * Re: Синтактичен анализ... PhantomAS   01.04.05 08:25
. * Вземи Никлаус Уирт Учeниka   01.04.05 08:47
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.