Pok-10-wyk-Slajd52
Atrybuty dziedziczone w YACCu(1)
Wejście (D) opiszemy jako sekwencję typu (T), listy identyfikatorów (L) i średnika. Po przetworzeniu nieterminala T musimy użyć atrybutu dziedziczonego, aby przekazać informacje o typie do nieterminala L (L.dz := T.typ).
Z nieterminala T można wywieść typ całkowity (int ) bądź znakowy (char ). Informację o typie przekazujemy jako atrybut syntetyzowany.
Lista (L) może składać się z pojedynczego identyfikatora – wtedy można go od razu wypisać (lewostronna rekurencja nie spowoduje odwrócenia kolejności) wraz z informacją o typie zawartą w atrybucie dziedziczonym symbolu L.
Jeżeli jest to kolejny element listy – drukujemy kolejny identyfikator wraz z typem zawartym w atrybucie symbolu L. Musimy jednak pamiętać o przekazaniu wartości atrybutu dziedziczonego do symbolu L1 aby można było przetwarzać kolejne elementy listy.
Aby zobaczyć najpierw gdzie na stosie szukać atrybutów dziedziczonych przyjrzyjmy się konfiguracjom parsera przetwarzającego listę identyfikatorów.