Тхе кључна разлика између врха према доље и одоздо према горе је да је одоздо доле рашчлањивање врши рашчлањивање од старинг симбола до улазног низа, док анализирање одоздо на доле врши рашчлањивање од улазног низа до почетног симбола. Даље, још једна битна разлика између рашчлањивања одоздо на доле и одоздо нагоре је та што се за рашчлањивање одоздо према доле користи највећа изведба, а рашчлањивање одоздо на доле користи највише изведене.
Језици на високом нивоу помажу у писању рачунарских програма. Лакше их разуме програмер, али не и рачунар. Стога се програм високог нивоа претвара у машински код. Задатак преводиоца је да конвертује људски читљив изворни код у машински читљив машински код. Програм пролази кроз неколико корака за претварање у машински код. Цео овај процес назива се систем за обраду језика. Једна од њих је компилација. Анализатор синтаксе или парсер је у преводиоцу и он обавља задатак анализе.
1. Преглед и кључне разлике
2. Шта је „Топ Довн Парсинг“
3. Шта је праћење одоздо
4. Упоредна упоредба - одоздо према доле разређивање у табеларном облику
5. Резиме
Сваки програмски језик има скуп правила која представљају језик. Анализатор синтаксе или рашчламба узима улазни низ и проверава да ли је у складу са граматичким продукцијама. Другим речима, граматика би требало да произведе тај низ користећи стабло рашчлањивања.
При рашчлањивању одоздо на доле, рашчлањивање се догађа од почетног симбола и достићи ће дати улазни низ. Размотримо следећа правила за производњу граматике. Улазни низ (в) је цад.
С -> цАд
А -> аб / а
Стабло рашчлањивања након извођења рашчлањивања одозго на доле је следеће.
Слика 01: Древесно рашчлањивање 1 са пробијањем одоздо према доле
С производе ц А д, а А производи б. Низ је кабин. Није потребан низ. Дакле, потребно је урадити повратак уназад, а то је користити остале алтернативе.
Слично томе, С производе ц А д. Применом друге опције за А добићете а. Сада даје потребан низ. Стога, парсер прихвата овај улазни низ. Стабло рашчлањивања након извођења рашчлањивања одозго на доле је следеће.
Слика 02: Древесно рашчлањивање 2 са пробијањем одоздо према доле
Размотримо следећа правила за производњу граматике.
С -> аАБе
А -> Абц / б
Б -> д
Анализа одозго према доле,
С -> аАБе (Замена А -> Абц)
С -> аАбцБе (Замена А -> б)
С -> аббцБе (Замена Б -> д)
С -> аббцде
Замена почиње најпре променљивом левом, а затим следећом десном позицијом и тако даље. Према томе, слиједи метода лијеве већине деривација. Надаље, важно је одлучити које производно правило одабрати кад постоји варијабла.
Анализа одоздо према горе догађа се на други начин. Анализа се догађа од улазног низа до почетног симбола. Размотрите следећа правила за производњу граматике и пустите да улазни низ буде в
С -> цАд
А -> аб / а
Стабло рашчлањивања након извођења рашчлањивања одоздо нагоре је следеће.
Слика 03: Стабло рашчлањивања са доњим разгледањем
Дати низ је цад. А се генерише од А. Комбинације ц, А и д добијају почетни симбол С.
Размотримо следећа правила за производњу граматике.
С -> аАБе
А -> Абц / б
Б -> д
Анализа одоздо нагоре,
С -> аАБе (Замена Б -> д)
С -> аАде (Замена А -> Абц)
С -> аАбцде (Субстрибуција А -> б)
С -> аббцде
Замјена започиње најприје промјењивом десном, а затим прелази на сљедећу лијеву позицију и тако даље. Стога слиједи методу извлачења лијевог мотива.
Анализа одозго према доле је стратегија за рашчлањивање која прво гледа на највиши ниво стабла рашчлањивања и ради на низу стабло рашчлањивања користећи правила формалне граматике. Дно рашчлањивање је стратегија анализе која прво разматра најнижи ниво стабла рашчлањивања и обрађује стабло рашчлањивања користећи правила формалне граматике. Анализа се одвија од почетног симбола до улазног низа, у рашчлањивању од врха према доле. С друге стране, рашчлањивање се догађа од улазног низа до почетног симбола, у доњем рашчлањивању одоздо нагоре.
Надаље, главна одлука при рашчлањивању одоздо према доље је одабрати које производно правило треба користити за конструкцију низа, док је главна одлука при рашчлањивању одоздо на доле одабир времена када ће се користити продукцијско правило за смањење низа како би се добио почетни симбол. Штавише, рашчламба одоздо на доле користи највише изведених лева и одоздо на доле користи највише изведене.
Разлика између рашчлањивања одоздо на доле и одоздо нагоре је та што рашчлањивање одоздо на доле врши рашчлањивање од старинг симбола до улазног низа, док анализирање одоздо доле врши рашчлањивање од улазног низа до почетног симбола.
1. „Предавање дизајна компајлера 5 - Увод у парсерере и ЛЛ (1) Парсирање.“ Предавање дизајна компилера 5 - Увод у парсерере и ЛЛ (1) Разврставање, Предавања капија од стране Равиндрабабу-а Равула, 22. маја 2014. Доступно овде