Reduce a parse tree bottom up, from the leaf nodes
followed by a series of shift and reduce actions
Left Recursion으로 인한 infinite loop가 발생하지 않는다
결과로부터 뿌리를 찾는 것이기 때문에 다음에 무엇이 나올지에 대해서 고민하지 않아도 되는 것
DFA 만들때 뒤에 nonterminal 있으면 그거 재생성까지 고려해서 recursive하게
- Shift a terminal from the front of the input to the stack top
- Reduce the stack top ⍺ to A, based on the rule A à ⍺ until parsing stack has only start symbol
Bottom-Up Parsers
Bottom-Up Parsing Notion