Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Правила грамматики входного языка
1. <программа>::= РRОGRАМ <имя программы>; VAR <список описаний>
BEGIN <список операторов> END.
2. <имя программы>::=ИМЯ
3. <список описаний>::=<описание>;{<описание>;}
4. <описание>::=<список имён>:<тип>
5. <тип>::= INTEGER | REAL
6. <список имён>::=ИМЯ{,ИМЯ}
7. <список операторов>::=<оператор>;{<оператор>;}
8. <оператор>::=<непомеченный оператор> | <метка>:<непомеченный оператор>
9. <непомеченный оператор>::==<присваивание> | <ввод> | <вывод> | <условный оператор> | <цикл> | <оператор перехода>
10. <присваивание>::=ИМЯ:=<выражение>
11. <выражение>::=<простое выражение> | <простое выражение> = | <>| < | > | <= | >= <простое выражение>
12. <простое выражение>:: =<терм>{+<терм> | -<терм>}
13. <терм>::=<множитель>{*<множитель> |/<множитель>
14.<множитель>::=ИМЯ | ЦЕЛОЕ | ВЕЩЕСТВЕННОЕ | (<простое выражение>)
15. <ввод>::=READ(<список имен>)
16. <вывод>::=WRIТЕ(<список имён>)
17. <условный оператор>::= IF <выражение> THEN <оператор> | IF <выражение> THEN <оператор> ELSE <оператор>
18. <цикл>::= FOR <индексное выражение> DO <тело цикла>
19. <индексное выражение>::=ИМЯ:=<выражение> ТО <выражение>
20. <тело цикла>::=<оператор> | BEGIN <список операторов> END
21. <оператор перехода>::= GOТО <метка>
22. <метка>::=ЦЕЛОЕ
В грамматике помимо общепринятых используются следующие терминальные символы: ИМЯ - любая последовательность латинских букв и арабских цифр длиной не более восьми символов, начинающаяся с буквы; ЦЕЛОЕ – целая константа; ВЕЩЕСТВЕННОЕ – вещественная константа.
Дата публикования: 2015-04-10; Прочитано: 235 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!