Pok-7-wyk-Slajd35
Z Studia Informatyczne
LLgen – atrybuty syntetyzowane
Wykorzystanie atrybutu dziedziczonego w LLgenie można zademonstrować na przykładzie obliczania długości ciągu binarnego (problem i schemat translacji zostały przedstawione na slajdzie 11.).
Nieterminal S jest aksjomatem gramatyki, ma zmienną lokalną len , która posłuży do przechowywania długości ciągu w trakcie obliczeń. Służy jedynie do rozwinięcia nieterminala L i wydrukowania obliczonego w nim rezultatu.
Nieterminal L ma atrybut dziedziczony length . Po napotkaniu cyfry binarnej rekurencyjnie wywołuje sam siebie, a po powrocie zwiększa długość o 1. Przypadkiem bazowym jest ciąg pusty – długość ciągu wynosi wtedy 0.