Bottom-Up Parsing
[Top-down Parsing](https://texonom.com/top-down-parsing-64103eebdbd641d2a8f25df16633df6d) 


### 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
|Title|
|:-:|
|[LR(0) Parser](https://texonom.com/lr0-parser-3309176531404f40b8909c1679da70f5)|
|[SLR(1) Parser](https://texonom.com/slr1-parser-e6f5e6dffd68425d9e666640dcd2fd67)|
|[LR(1)](https://texonom.com/lr1-e79a7a1b58fe476c873bf3e5cea08d20)|
|[LALR(1)](https://texonom.com/lalr1-c716acd5146143a18c6655da7910b486)|



### Bottom-Up Parsing Notion
|Title|
|:-:|
|[Botton-up Parsing Reduction](https://texonom.com/botton-up-parsing-reduction-f8b31c2605a04ab8af61692b5d3a475a)|
|[Right Sentential Form](https://texonom.com/right-sentential-form-5ae909d439c04fb380dbac153e265bf1)|
|[Botton-up Parsing Handle](https://texonom.com/botton-up-parsing-handle-349b4038feb441faa87b9785f3a86b70)|




> [[Compiler] Bottom-Up Parsing](https://talkingaboutme.tistory.com/entry/Compiler-Bottom-Up-Parsing)





