Первый прогон нужно выполнить с файлом 123. Для входа в функцию применить клавишу F11.
163. Построить синтаксический анализатор для понятия «предложение»:
предложение ::=
слово ::=
разделитель ::=
Математическая модель
Предложение является строкой состоящей из слов. Слова разделены одним или несколькими пробелами.
Нужно построить рекурсивные функции: Предложение, Слово и Разделитель. Для простоты примем, что буквы могут принадлежать только английскому алфавиту.
164. Построить синтаксический анализатор для понятия простое - выражение:
простое-выражение ::=
простой-идентефикатор ::= буква
знак-операции ::=
165. Построить синтаксический анализатор для понятия идентификатор:
идентификатор ::=
166. Построить синтаксический анализатор для понятия вещественное-число:
вещественное-число ::=
целое-без-знака ::= цифра{цифра}*
целое-число ::=
167. Построить синтаксический анализатор для понятия простое-логическое:
простое-логическое ::=
простой идентификатор ::= буква
знак-операции ::=
168. Написать программу, которая по заданному простому-логическому выражению (определение понятия содержится в формулировке предыдущей задачи), не содержащему вхождений простых идентификаторов, вычисляет и печатает значение этого выражения.
169. Построить синтаксический анализатор для понятия константное-выражение:
константное-выражение ::=
170. Написать программу, которая по заданному константному-выражению (определение понятия содержится в формулировке предыдущей задачи) вычисляет и печатает либо значение этого выражения, либо сообщение «при вычислении константного выражения получен промежуточный результат, превосходящий по модулю миллион».
Решение Построить синтаксический анализатор для понятия скобки.
скобки ::=
квадр ::=
кругл ::=
Правильно написанными скобками являются, например, строки [--]; ([--]+), а строка [-] не является скобкой.
Математическая модель
Диаграмма объекта скобки
Квадратная
Круглая
Процедуры Квадр и Кругл управляются первым символом текущей строки разбора. Первой вызываемой процедурой является Скобки.
Псевдокодне приводится, поскольку понятен из текста программы.