Pok-11-wyk-Slajd22
Gramatyka niejednoznaczna – operator dodawania
Uzupełnijmy teraz gramatykę o operator dodawania (‘+’).
W klasycznej matematyce nie definiuje się łączności operatora dodawania zakładając, że jest ona nieistotna i nie ma wpływu na wynik (co niekoniecznie jest prawdą w obliczeniach przeprowadzonych z użyciem komputerów).
W językach programowania zazwyczaj zakłada się, że jeśli chodzi o łączność i priorytet dodawanie należy traktować tak samo jak odejmowanie (są one w pewnym sensie równoważne).
Przyjmijmy taką interpretację również w naszym kalkulatorze, ponieważ nie nadanie łączności operatorowi dodawania znowu uczyniłoby gramatykę niejednoznaczną.
Aktualizujemy więc deklarację:
%token '-' '+'
określając w ten sposób, że oba operatory mają mieć identyczne (lewe) wiązanie i takie same priorytety.