Формальные языки, грамматики и основы построения трансляторов. Кревский И.Г - 121 стр.

UptoLike

121
Вариант 9
<Программа> ::= <Объявление переменных> <Описание вычислений>.
<Описание вычислений> ::= Begin <Список присваиваний> End
<Объявление переменных> ::= Var <Список переменных> :Boolean;
<Список переменных> ::= <Идент> | <Идент> , <Список переменных>
<Список присваиваний>::= <Присваивание> |
<Присваивание> <Список присваиваний>
<Присваивание> ::= <Идент> = <Выражение> ;
<Выражение> ::= <Ун.оп.> <Подвыражение> | <Подвыражение>
<Подвыражение> :: = ( <Выражение> ) | <Операнд> |
< Подвыражение > <Бин.
оп.> <Подвыражение>
<Ун.оп.> ::= ".NOT."
<Бин.оп.> ::= ".AND." | ".OR." | ".XOR."
<Операнд> ::= <Идент> | <Const>
<Идент> ::= <Буква> <Идент> | <Буква>
<Const> ::= 0 | 1
Вариант 10
<Программа> ::= <Объявление переменных> <Описание вычислений>
<Описание вычислений> ::= Begin <Список присваиваний> End
<Объявление переменных> ::= Integer <Список переменных>
<Список переменных> ::= <Идент>; | <Идент> , <Список переменных>
<Список присваиваний>::= <Присваивание> |
<Присваивание> <Список присваиваний>
<Присваивание> ::= <Идент> := <Выражение> ;
<Выражение> ::= <Ун.оп.> <Подвыражение> | <Подвыражение>
<Подвыражение> :: = ( <Выражение> ) | <Операнд> |
< Подвыражение > <Бин.
оп.> <Подвыражение>
<Ун.оп.> ::= "-"
<Бин.оп.> ::= "-" | "+" | "*" | "/"
<Операнд> ::= <Идент> | <Const>
<Идент> ::= <Буква> <Идент> | <Буква>
<Const> ::= <Цифра> <Const> | <Цифра>
                                                                       121


                               Вариант 9
<Программа> ::= <Объявление переменных> <Описание вычислений>.
<Описание вычислений> ::= Begin <Список присваиваний> End
<Объявление переменных> ::= Var <Список переменных> :Boolean;
<Список переменных> ::= <Идент> | <Идент> , <Список переменных>
<Список присваиваний>::= <Присваивание> |
                           <Присваивание> <Список присваиваний>
<Присваивание> ::= <Идент> = <Выражение> ;
<Выражение> ::= <Ун.оп.> <Подвыражение> | <Подвыражение>
<Подвыражение> :: = ( <Выражение> ) | <Операнд> |
                     < Подвыражение > <Бин.оп.> <Подвыражение>
<Ун.оп.> ::= ".NOT."
<Бин.оп.> ::= ".AND." | ".OR." | ".XOR."
<Операнд> ::= <Идент> | 
<Идент> ::= <Буква> <Идент> | <Буква>
 ::= 0 | 1


                              Вариант 10
<Программа> ::= <Объявление переменных> <Описание вычислений>
<Описание вычислений> ::= Begin <Список присваиваний> End
<Объявление переменных> ::= Integer <Список переменных>
<Список переменных> ::= <Идент>; | <Идент> , <Список переменных>
<Список присваиваний>::= <Присваивание> |
                                <Присваивание> <Список присваиваний>
<Присваивание> ::= <Идент> := <Выражение> ;
<Выражение> ::= <Ун.оп.> <Подвыражение> | <Подвыражение>
<Подвыражение> :: = ( <Выражение> ) | <Операнд> |
                        < Подвыражение > <Бин.оп.> <Подвыражение>
<Ун.оп.> ::= "-"
<Бин.оп.> ::= "-" | "+" | "*" | "/"
<Операнд> ::= <Идент> | 
<Идент> ::= <Буква> <Идент> | <Буква>
 ::= <Цифра>  | <Цифра>