Кіріспе

Компьютерлік ғылымда талдау сызықтық кіріс мәтінінің грамматикалық құрылымын ашады, оның мағынасын түсінуге жасалған алғашқы қадам ретінде. Төменнен жоғарыға қарай талдау мәтіннің ең төменгі деңгейдегі ұсақ бөлшектерін бірінші кезекте таниды, одан кейін орта деңгейдегі құрылымдарын, ал ең жоғары деңгейдегі жалпы құрылымын соңына қалдырады.

Төменнен жоғарыға қарсы жоғарыдан төменге

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