Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.06.2012, 01:02   #1
Виталюкас
Пользователь
 
Регистрация: 26.04.2010
Сообщений: 39
По умолчанию Компиляторы

Доброго времени суток!
Уважаемые форумчане помогите с задачкой!

1. Для заданного фрагмента программы на Паскале разработать грамматику для построения грамматического разбора с помощью рекурсивного спуска.
Код:
for i:=i to ListBox1.Items.Count-1 do
  S:=S+Listbox1.Items[i];
Виталюкас вне форума Ответить с цитированием
Старый 17.06.2012, 01:23   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

О, вы уже третий за последние несколько дней с подобной задачей
http://programmersforum.ru/showthread.php?t=203165
http://programmersforum.ru/showthread.php?t=205133
Пока нормального решения нигде не видно
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 17.06.2012, 01:49   #3
Виталюкас
Пользователь
 
Регистрация: 26.04.2010
Сообщений: 39
По умолчанию

неужели нет людей которые в этом понимают, очень надо это сделать а как нет ни малейшего понятия
Виталюкас вне форума Ответить с цитированием
Старый 17.06.2012, 01:49   #4
Виталюкас
Пользователь
 
Регистрация: 26.04.2010
Сообщений: 39
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
О, вы уже третий за последние несколько дней с подобной задачей
http://programmersforum.ru/showthread.php?t=203165
http://programmersforum.ru/showthread.php?t=205133
Пока нормального решения нигде не видно
да там просят написать целый анализатор, а здесь надо граматику
Виталюкас вне форума Ответить с цитированием
Старый 17.06.2012, 09:52   #5
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Ну для начала напишите, что такое грамматика и чем она отличается от анализатора.
s-andriano вне форума Ответить с цитированием
Старый 17.06.2012, 10:50   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
неужели нет людей которые в этом понимают
Читал книгу Дракона? Если нет то попробуй - сам сможешь стать понимающим.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.06.2012, 13:38   #7
Виталюкас
Пользователь
 
Регистрация: 26.04.2010
Сообщений: 39
По умолчанию

Цитата:
Сообщение от s-andriano Посмотреть сообщение
Ну для начала напишите, что такое грамматика и чем она отличается от анализатора.
Для написания анализатора надо для начала составить грамматику, вот пример грамматики для арифметических выражений:
E ::= E+T | E-T | T
T ::= T/F | T*F | F
F ::= (E) | i

но а мне надо такое же но для моего примера и используя рекурсивный спуск
Виталюкас вне форума Ответить с цитированием
Старый 17.06.2012, 16:43   #8
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Вы не написали, что такое грамматика.
s-andriano вне форума Ответить с цитированием
Старый 17.06.2012, 17:13   #9
Виталюкас
Пользователь
 
Регистрация: 26.04.2010
Сообщений: 39
По умолчанию

Цитата:
Сообщение от s-andriano Посмотреть сообщение
Вы не написали, что такое грамматика.
Грамматика языка
Для описания правил построения предложений большинства языков программирования применяется контекстно-независимая грамматика в ее различных модификациях, записанная в форме Бэкуса–Наура. В нотации Бэкуса–Наура метасимволы (символы, описывающие структуру предложения) заключаются в так называемые метаскобки (угловые скобки), например: <предложение>. Терминальные символы записываются непосредственно в том виде, как мы их видим в тексте программы. Приведем пример простой грамматики для некоторых предложений русского языка:
<предложение> ::= <подлежащее> <сказуемое>
<подлежащее> ::= <существительное> | <местоимение>
<существительное> ::= дом | слон | ... | компьютер
<местоимение> ::= я | он
<сказуемое> ::= идет | стоит | бежит
В данном примере комбинация символов “::=“ обозначает понятие “заменяется на...”, вертикальная черта в соответствии с нотацией Бэкуса – Наура означает альтернативу (возможный выбор, вариант подстановки), а жирным шрифтом записаны слова (лексемы) объектного языка. В соответствии с правилами этой грамматики следующие предложения будут синтаксически правильными:
дом стоит
он идет
компьютер бежит
я идет
........и т.д.

Последний раз редактировалось Виталюкас; 17.06.2012 в 17:17.
Виталюкас вне форума Ответить с цитированием
Старый 17.06.2012, 17:17   #10
Виталюкас
Пользователь
 
Регистрация: 26.04.2010
Сообщений: 39
По умолчанию

я написал отправил на проверку, если будет правильно выложу результат
Виталюкас вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Компиляторы miscreant Помощь студентам 2 21.08.2010 06:37
Hello world и компиляторы Selmania C++ Builder 4 02.03.2010 17:41
язык Си и компиляторы alex(21) C++ Builder 7 12.11.2009 17:23
Компиляторы SunKnight Софт 3 25.01.2008 17:03