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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.06.2012, 19:03   #11
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Ну тогда понятно.
В данном случае, как видно, следует составить набор правил грамматики для оператора for.
Шаблон оператора известен. Очевидно, он будет основным элементом грамматики.
В шаблон помимо неизменных членов (терминальных символов) входят и те, которые могут быть записаны по-разному:
- переменная цикла,
- нижний предел цикла,
- верхний предел цикла,
- блок операторов, выполняемых в цикле.
Причем последний в данном конкретном случае состоит из единственного оператора присваивания.

Т.е. первая процедура должна найти элементы цикла for и проверить терминальные символы этой конструкции, а затем вызвать из себя блоки проверки корректности указанных выше 4-х частей. Те, в свою очередь, также могут вызывать блоки проверки своих составляющих, например, при проверке оператора присваивания может вызывать функции для проверки отдельно правой и отдельно левой части.
s-andriano вне форума Ответить с цитированием
Старый 18.06.2012, 17:37   #12
Виталюкас
Пользователь
 
Регистрация: 26.04.2010
Сообщений: 39
По умолчанию

Цитата:
Сообщение от s-andriano Посмотреть сообщение
Ну тогда понятно.
В данном случае, как видно, следует составить набор правил грамматики для оператора for.
Шаблон оператора известен. Очевидно, он будет основным элементом грамматики.
В шаблон помимо неизменных членов (терминальных символов) входят и те, которые могут быть записаны по-разному:
- переменная цикла,
- нижний предел цикла,
- верхний предел цикла,
- блок операторов, выполняемых в цикле.
Причем последний в данном конкретном случае состоит из единственного оператора присваивания.

Т.е. первая процедура должна найти элементы цикла for и проверить терминальные символы этой конструкции, а затем вызвать из себя блоки проверки корректности указанных выше 4-х частей. Те, в свою очередь, также могут вызывать блоки проверки своих составляющих, например, при проверке оператора присваивания может вызывать функции для проверки отдельно правой и отдельно левой части.
Верно только как это записать?
Виталюкас вне форума Ответить с цитированием
Старый 18.06.2012, 17:38   #13
Виталюкас
Пользователь
 
Регистрация: 26.04.2010
Сообщений: 39
По умолчанию

ну а вот и сам результат:

<инстр>::= <перем>:=<выр>|for<инстр>to<выр>do< инстр>;

<поле компонента>::=<перем>.<перем>|<пере м>.<перем>.<перем>

<выр>::= <терм>+<терм>|<терм>-<терм>

<терм>::= <перем>|(<выр>)
Виталюкас вне форума Ответить с цитированием
Старый 18.06.2012, 17:39   #14
Виталюкас
Пользователь
 
Регистрация: 26.04.2010
Сообщений: 39
По умолчанию

Цитата:
Сообщение от Виталюкас Посмотреть сообщение
ну а вот и сам результат:

<инстр>::= <перем>:=<выр>|for<инстр>to<выр>do< инстр>;

<поле компонента>::=<перем>.<перем>|<пере м>.<перем>.<перем>

<выр>::= <терм>+<терм>|<терм>-<терм>

<терм>::= <перем>|(<выр>)
вот чего требовалось в этой теме.
Виталюкас вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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