Pok-11-wyk-Slajd24

Z Studia Informatyczne
Wersja z dnia 19:12, 30 sie 2006 autorstwa Complak (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Gramatyka niejednoznaczna – operator potęgowania

Gramatyka niejednoznaczna – operator potęgowania


W typowych językach programowania większość operatorów ma lewostronne wiązanie.

Do wyjątków należy, dostępny w niektórych językach, operator potęgowania (zapisywany jako ** albo ^), który zwykle ma prawostronne wiązanie. Innym przykładem operatora o prawostronnym wiązaniu jest operator przypisania (=) w języku C (ale np. w Pascalu operator przypisania wcale nie ma wiązania).

W celu przypisania jakiemuś operatorowi prawostronnego wiązania należy użyć słowa kluczowego % right . Po użyciu deklaracji:

%right ‘^’

wyrażenie: „2 ^ 3 ^ 2” jest interpretowane jako „2 ^ (3 ^ 2)” i rezultatem jest 512. Gdyby operator potęgowania był lewostronnie łączny, to samo wyrażenie byłoby interpretowane jako „(2 ^ 3) ^ 2” i wynikiem byłoby 81.


<< Poprzedni slajd | Spis treści | Następny slajd >>