Кіріспе

Атрибут грамматикасы – формалды грамматиканы семантикалық ақпаратты өңдеумен толықтырудың формалды әдісі. Семантикалық ақпарат грамматиканың терминалдық және терминалдық емес символдарымен байланысты атрибуттарда сақталады. Атрибуттардың мәндері грамматиканың өндірісімен байланысты атрибуттарды бағалау ережелерінің нәтижесі болып табылады. Атрибуттар ақпаратты абстрактілі синтаксис ағашының кез келген жерінен басқа кез келген жерге, бақыланатын және формалды түрде беруге мүмкіндік береді. Әрбір семантикалық функция тек бір өндіріс ережесінде кездесетін символдардың атрибуттарымен жұмыс істейді: семантикалық функция параметрлері де, оның нәтижесі де бір нақты ережеден символдардың атрибуттары болып табылады. Егер семантикалық функция ереженің сол жағындағы символдың атрибутының мәнін анықтаса, онда атрибут синтезделген деп аталады; әйтпесе ол мұраланған деп аталады. Осылайша, синтезделген атрибуттар семантикалық ақпаратты талдау ағашы бойымен жоғары қарай жеткізуге қызмет етеді, ал мұраланған атрибуттар мәндерді ата-аналық түйіндерден төменге және синтаксистік ағаштың бойына беруге мүмкіндік береді. Қарапайым қолдануларда, мысалы, арифметикалық өрнектерді бағалауда, атрибут грамматикасы тікелей талдаудан басқа орындалатын барлық міндетті сипаттау үшін пайдаланылуы мүмкін; күрделі жүйелерде, мысалы, компилятор сияқты тілдік аударма құралын құрастыру кезінде, ол грамматикамен байланысты семантикалық тексерулерді растауға пайдаланылуы мүмкін, бұл синтаксис анықтамасымен тікелей берілмеген тілдің ережелерін білдіреді. Ол сондай-ақ пасерлер немесе компиляторлар синтаксистік ағашты тікелей белгілі бір машинаның кодына немесе аралық тілге аудару үшін пайдалана алады.

Тарих

Атрибут грамматикасын Дональд Кнут пен Питер Вегнер ойлап тапты. Дональд Кнут жалпы тұжырымдаманың авторы болса, Питер Вегнер Кнутпен әңгімелескен кезде мұрагерлік атрибуттарды ойлап тапты. Алғашқы идеялардың кейбіреулері IMP авторына қатысты.