Изменения

Перейти к: навигация, поиск

LR(k)-грамматики

53 байта добавлено, 15:26, 29 августа 2015
Алгоритм
curToken {{---}} указатель на перый символ в строке w
'''while''' haveToken()
s curState = top() '''if''' <tex>T </tex>[scurState, curToken] == Shift s’ s push(acurToken) push(s’s)
nextToken()
'''else if''' <tex>T </tex>[scurState, curToken] == Reduce A <tex> \to \beta</tex>
'''for''' j = 1 '''to''' <tex>|\beta |</tex>
pop()
pop()
s’ s = top()
push(A)
push(goto [s’s, A])
Вывод правила (A <tex> \to \beta</tex>)
'''else''' '''if''' <tex>T </tex>[scurState, curToken] == Accept
'''return''' Accept
'''else'''
297
правок

Навигация