Рекурсивный парсер
Блок 1
1. Вывести значение целочисленного выражения, заданного в виде
строки S. Выражение определяется следующим образом:
<выражение> ::= <цифра> | <выражение> + <цифра> | <выражение> – <цифра>
2. Вывести значение целочисленного выражения, заданного в виде
строки S. Выражение определяется следующим образом:
<выражение> ::= <терм> | <выражение> + <терм> | <выражение> – <терм>
<терм> ::= <цифра> | <терм> * <цифра>
3. Вывести значение целочисленного выражения, заданного в виде
строки S. Выражение определяется следующим образом:
<выражение> ::= <терм> | <выражение> + <терм> | <выражение> – <терм>
<терм> ::= <элемент> | <терм> * <элемент>
<элемент> ::= <цифра> | (<выражение>)
Блок 2
4. Вывести значение логического выражения, заданного в виде строки S.
Выражение определяется следующим образом («T» — True, «F» — False):
<выражение> ::= T | F | And(<выражение> , <выражение>) |
Or(<выражение> , <выражение>)
5. Вывести значение логического выражения, заданного в виде строки S.
Выражение определяется следующим образом («T» — True, «F» — False):
<выражение> ::= T | F | And(<параметры>) | Or(<параметры>)
<параметры> ::= <выражение> | <выражение>,<параметры>
6. Вывести значение логического выражения, заданного в виде строки S.
Выражение определяется следующим образом («T» — True, «F» — False):
<выражение> ::= T | F | And(<параметры>) |
Or(<параметры>) | Not(<выражение>)
<параметры> ::= <выражение> | <выражение> , <параметры>