185 похожих чатов

Пытаюсь сделать задание 2.2 из книги Вирта. Там нужно представить

как минимум 2 возможные структуры дерева для выражений, т.к. синтаксис является двусмысленны. Залип на выражении IF a THEN IF b THEN A ELSE B. Не то, чтобы 2 структуры не получается вывести, но даже одной. Если я начинаю идти от conditionalStatement, то получается, что IF a THEN IF b THEN A - это ifStatement. Дальше должно получаться, что IF b THEN A - это unconditionalStatement, но как-то не похоже это ни на basicStatement, ни на forStatement, ни на compoundStatement. Все подобное происходит, если мы начинаем выводить выражение, начиная с BooleanExpression или arithmeticExpression.
Я чего-то не понимаю, или тут где-то в книге ошибка?

9 ответов

13 просмотров

Есть два выражения IF ... THEN ... ELSE ... IF ... THEN ... И надо написать два дерева - когда у первого приоритет больше и когда у второго

Возможно if-без-else просто забыли

Ilia-Eliseev Автор вопроса

Вроде как написан if-без-else как ifStatement. Просто, у меня подстановки не получаются. Что IF b THEN A ELSE B, что IF b THEN A не подходят под unconditionalStatement

Ilia-Eliseev Автор вопроса
TOV_MULTIMASSO
При чём здесь unconditionalStatement?

Не знаю, может я что-то не так делаю. Логика следующая была: я ищу куски выражений в описании синтаксиса для выражения IF a THEN IF b THEN A ELSE B. IF и THEN есть в ifStatement, ELSE в conditionalStatement. Все 3 части есть в BooleanExpression и arithmeticExpression Соответственно, я могу выбрать, что будет корнем дерева в данном случае, и через замены попытаться выстроить дерево. Ок, беру сначала conditionalStatement как корень. Получается, что IF a THEN IF b THEN A - это ifStatement, а B - statement. Смотрю, что будет с этим ifStatement. У него выходит, что a - это BooleanExpression, а IF b THEN A - unconditionalStatement. Это первый вариант, как я до него дошел. Если брать ifStatement как корень. a - BooleanExpression, IF b THEN A ELSE B - unconditionalStatement. Опять я дошел до него. Что в первом случае, что во втором, выражение под unconditionalStatement не подходит, и что делать я не знаю. Я что-то не так тут сделал и чего-то недопонимаю?

Ilia Eliseev
Не знаю, может я что-то не так делаю. Логика следу...

Там два варианта 1) IF a THEN (IF b THEN A ELSE B) 2) IF a THEN (IF b THEN A) ELSE B

Ilia-Eliseev Автор вопроса
TOV_MULTIMASSO
Там два варианта 1) IF a THEN (IF b THEN A ELSE B)...

По идее да, но через синтаксические уравнения я это вывести не могу.

Ilia-Eliseev Автор вопроса
Ilia Eliseev
По идее да, но через синтаксические уравнения я эт...

А раз не могу выразить, то и не могу ответить на поставленную задачу: "Предложите альтернативный однозначный синтаксис".

Похожие вопросы

Обсуждают сегодня

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
12
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
> Копаем глубже > Следующий момент был, когда я спросил его, знает ли он JavaScript. Он ответил, что его учили работать с C#. Я тоже в университете писал на C#, но даже там мн...
Oleg Volkov
4
Гляньте, че бывает: Сегодня по одному проекту одной вебстудии делал проект небольшой, на их хостинге. На Modx revo. В определенный момент , работая в админке, вдруг перестал р...
Artem
5
И никого не интересует какие пакеты кто использует. ((% Заходишь на сайт симфони и видишь поддержку Украины - по законам РФ это ж экстремизм. Только никто не отказывается от с...
Am Ambrion
11
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
8
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
14
Карта сайта