Кіріспе

Түпнұсқа кодтың абстрактілік синтаксистік құрылымының ағаш түрінде бейнеленуі, лингвистикада қолданылатын ағаштар. Абстрактілік синтаксистік ағаш (АСТ) – компьютерлік ғылымда бағдарламаның немесе кодтың фрагментінің құрылымын көрсету үшін қолданылатын дерек құрылымы. Бұл формальды тілде жазылған мәтіннің (әсіресе түпнұсқа кодтың) абстрактілік синтаксистік құрылымының ағаш түріндегі бейнесі. Ағаштың әрбір түйіні мәтінде кездесетін конструкцияны көрсетеді. Ол кейде жай ғана синтаксистік ағаш деп аталады. Синтаксис "абстрактілік" деп аталуының себебі, ол нақты синтаксистегі барлық егжей-тегжейді емес, құрылымдық немесе мазмұндық ақпаратты ғана көрсетеді. Мысалы, топтастыру қашандары ағаш құрылымында жасырын түрде болады, сондықтан оларды жеке түйіндер ретінде көрсетудің қажеті жоқ. Сол сияқты, егер-сонда синтаксистік конструкциясы үш тармақтары бар бір түйін арқылы белгіленуі мүмкін. Бұл абстрактілік синтаксистік ағаштарды нақты синтаксистік ағаштардан, дәстүрлі түрде талдау ағаштары деп аталатын ағаштардан ерекшелендіреді. Талдау ағаштары әдетте кодты аударғанда және компиляциялағанда парсермен құрастырылады. Құрылғаннан кейін, AST-ға қосымша ақпарат, мысалы, контекстік талдау арқылы қосылады. Абстрактілік синтаксистік ағаштар бағдарламаны талдау және бағдарламаны түрлендіру жүйелерінде де қолданылады.

Компиляторларда қолдану

Абстрактты синтаксистік ағаштар – бағдарламалық кодтың құрылымын көрсету үшін компиляторларда кеңінен қолданылатын дерек құрылымдары. AST әдетте компилятордың синтаксистік талдау кезеңінің нәтижесі болып табылады. Ол компилятордың қажеттілігіне сәйкес бірнеше кезеңде бағдарламаның аралық өрнегі ретінде қызмет етеді және компилятордың соңғы нәтижесіне елеулі әсер етеді.

АСТ-ны ажырату

AST дифференциациясы, немесе қысқаша айтқанда ағаш дифференциациясы, екі AST арасындағы айырмашылықтар тізімін есептеуден тұрады. Бұл айырмашылықтар тізімі әдетте өңдеу скрипті деп аталады. Өңдеу скрипті тікелей кодтың AST-сына сілтеме жасайды. Мысалы, өңдеу әрекеті функцияны көрсететін жаңа AST түйінін қосуға алып келуі мүмкін.

Клондарды анықтау

AST — кодты көшіруді анықтау үшін қуатты абстракция.