Анализа навише — разлика између измена

Садржај обрисан Садржај додат
мНема описа измене
Autobot (разговор | доприноси)
м Разне исправке
Ред 49:
== Типови анализатора навише ==
*[[ЛР анализатор]]
**[[СЛР (1)]] , ({{Јез-ен|Simple LR}}) - Користи један предувидни симбол
**[[ЛАЛР (1)]], ({{Јез-ен|Lookahead}}) – Једноставнија од ЛР (1), погодна је за имплементацију. ''-{[[YACC]]}-'' имплементира овај језик
**[[ЛР (1)]] – општији језик од претходних, сложен је за имплементацију
**[[ЛР (n)]] , n је позитиван цео број - Могу се изградити језици који захтевају n предувидних симбола, уобичајено је да овакви језици захтевају велики број линија кода и простора за податке, па се из тих разлога у пракси ретко користе.
 
== ''-{Shift-reduce}-'' анализатори ==
Ред 127:
стек улаз акција
() (2 * [ 1 + 3 ] )
(2) ( * [ 1 + 3 ] ) -{shift}-
(Фактор) ( * [ 1 + 3 ] ) -{reduce}-
(Фактор * ) ( [ 1 + 3 ] ) -{shift}-
(Фактор * [ ) ( 1 + 3 ] ) -{shift}-
(Фактор * [ 1 ) ( + 3 ] ) -{shift}-
(Фактор * [ Терм ) ( + 3 ] ) -{reduce}-
(Фактор * [ Терм + ) ( 3 ] ) -{shift}-
(Фактор * [ Терм + 3 ) ( ] ) -{shift}-
(Фактор * [ Терм + Израз) ( ] ) -{reduce}-
(Фактор * [ Израз ) ( ] ) -{reduce}-
(Фактор * [ Израз ] ) ( ) -{shift}-
(Фактор * Фактор ) ( ) -{reduce}-
(Фактор * Терм ) ( ) -{reduce}-
( Терм ) ( ) -{reduce}-
( Израз ) ( ) -{reduce}-
( Израз ) ( ) успех
 
</pre>