Pok-11-wyk-Slajd24
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
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.