Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.02.21;
Скачать: CL | DM;

Вниз

Помогите, пожалуйста с префиксной формой...   Найти похожие ветки 

 
POOP   (2009-12-19 22:22) [0]

У меня задание вычислить выражение в префиксной форме... В список операций входит унарный минус... Вопрос в том, как отличить унарный минус от обычного минуса?


 
Hamster ©   (2009-12-19 22:25) [1]

Либо обозначить как-то по-другому, либо "-x" = "0 - x".


 
имя   (2009-12-19 22:34) [2]

Удалено модератором


 
Юрий Зотов ©   (2009-12-19 22:54) [3]

Насколько помню, если при считывании знака операции на стеке лежит только один операнд (а не два), то это унарная операция.

AB+-

Изначально стек пустой.
1. Читаем A, кладем на стек.
2. Читаем B, кладем на стек.
3. Читаем +, берем со стека A и B, вычисляем S=A+B, кладем на стек.
4. Читаем -, берем со стека S, выполняем -S, кладем на стек.
5. Выражение кончилось, результат - на стеке.

При выполнении п.4 на стеке лежал только один операнд - значит, это унарный минус.


 
Юрий Зотов ©   (2009-12-19 23:16) [4]

Это для постфиксной формы, конечно. Для префиксной - аналогично: если перед выполнением операции имеем только один операнд, то это унарная операция.


 
oxffff ©   (2009-12-19 23:36) [5]


> POOP   (19.12.09 22:22)  
> У меня задание вычислить выражение в префиксной форме...
>  В список операций входит унарный минус... Вопрос в том,
>  как отличить унарный минус от обычного минуса?


Какой у тебя разбор?
Нисходящий или восходящий?

Если нисходящий, то смотришь какой у тебя был предыдущий токен.
Если это оператор,левая скобка, знак присвоения,запятая, то это унарный минус.


 
oxffff ©   (2009-12-19 23:37) [6]


> восходящий


Если восходящий, то там не таких проблем.
При конфликтах перенос/свертка назначаешь приоритеты терминалам, которые наследуются продукциями.


 
Anatoly Podgoretsky ©   (2009-12-20 00:52) [7]

> POOP  (19.12.2009 22:22:00)  [0]

а чем они отличаются, надеюсь ты не про операцию вычитания говоришь?



Страницы: 1 вся ветка

Текущий архив: 2010.02.21;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
2-1261136409
Who_is_you?
2009-12-18 14:40
2010.02.21
Выход по времени ожидания


2-1261399078
webpauk
2009-12-21 15:37
2010.02.21
Получить значение поля предидущей записи в DBGrid


2-1260787513
TRSteep
2009-12-14 13:45
2010.02.21
ComboBox и дополнительное поле


11-1211446971
Vinum
2008-05-22 13:02
2010.02.21
"Оптимизировать" загрузку картинки


15-1260867893
Делфиец
2009-12-15 12:04
2010.02.21
Есть ли в JEDI функции связанные с криптованием