Кіріспе

Компьютерлік ғылымда деректердің абстрактілік синтаксисі – дерек түрі (мүмкін, бірақ міндетті емес, абстрактілік дерек түрі) ретінде сипатталған оның құрылымы, кез келген нақты бейнелеуден немесе кодтаудан тәуелсіз. Бұл әсіресе компьютерлік тілдерде мәтінді бейнелеуде қолданылады, олар көбінесе абстрактілік синтаксистік ағаш ретінде ағаш құрылымында сақталады. Деректердің құрылымынан ғана тұратын абстрактілік синтаксис, бейнелеу туралы ақпаратты да қамтитын нақты синтаксиске қарама-қарсы қойылады. Мысалы, нақты синтаксис жақшалар (топтау үшін) немесе үтірлер (тізімдер үшін) сияқты абстрактілік синтаксиске кірмейтін, құрылымға тікелей қатысы бар ерекшеліктерді қамтиды, себебі олар құрылымда жасырын болады. Абстрактілік синтаксистер құрылымы абстрактілі болса, бірақ атаулар (сәйкестендіргіштер) әлі де нақты (және осылайша атауларды анықтау қажет) болған жағдайда, бірінші реттік абстрактілік синтаксис (FOAS) ретінде жіктеледі, ал атаулардың өзі абстрактілі болса, жоғары реттік абстрактілік синтаксис деп аталады.

Қолданылуы

Есептеу немесе байланыс үшін іске асырылуы үшін абстрактілі синтаксистен нақты машиналық өрнеулерге және кодтамаларға шамамен келтіру анықталуы тиіс; олар "конкретті синтаксис" (тілді іске асыруда) немесе "беріліс синтаксисі" (байланыста) деп аталуы мүмкін. Компилятордың бағдарламаның ішкі өрнеуі әдетте "мәлімдеме", "өрнек" және "оқушы" сияқты санаттар тұрғысынан абстрактілі синтаксиспен сипатталады. Бұл құрастырылып жатқан тілдің бастапқы синтаксисінен (конкретті синтаксис) тәуелсіз (дегенмен, көбінесе өте ұқсас болады). Күрделі ағаш абстрактілі синтаксистік ағашқа ұқсас, бірақ ол әдетте абстрактілі синтаксистік ағаштың құрылымында жасырылған, бірақ синтаксистік тұрғыдан маңызды, мысалы, жақшалар сияқты ерекшеліктерді қамтиды. Алгебралық дерек түрлері абстрактілі синтаксисті іске асыруға ерекше қолайлы.