Texonom
Texonom
/
Engineering
Engineering
/Software Engineering/Programming/Programming Language/Programming Language Structure/Compiler/Compiler Frontend/Compiler Syntax Analysis/Compiler Parser/Parsing Method/Top-down Parsing/Predictive Parser/
Recursive-descent parsing
Search

Recursive-descent parsing

Created
Created
2022 Oct 7 4:9
Creator
Creator
Seonglae ChoSeonglae Cho
Editor
Editor
Seonglae ChoSeonglae Cho
Edited
Edited
2022 Oct 18 8:8
Refs
Refs

for each nonterminal, define a function to recognize it

versatile, better for a hand-written parser
 

Common Issues

  • Left recursion
  • Common prefix
 
 
 
 
재귀-하강 파싱 (Recursive-descent parsing)
재귀하강 파싱 방법은 함수들의 재귀를 통해 파싱하는 방법을 말해요 다음 문법을 예시로 들어볼게요 -> if [ else ] -> { , } 대괄호 안에 있는 구문은 옵션으로 있거나 없을 수 있다는 뜻이에요 중괄호 안에 있는 구문은 있거나 없을 수 있지만 여러개 있을수도 있다는 뜻이에요 int get_token() { // 토큰을 구해주는 함수 } void expr() { // 모든 expression 처리하는 함수 // if 문이 또 나올수도 있다.
재귀-하강 파싱 (Recursive-descent parsing)
https://bubble-dev.tistory.com/m/entry/%EC%9E%AC%EA%B7%80-%ED%95%98%EA%B0%95-%ED%8C%8C%EC%8B%B1-Recursive-descent-parsing
재귀-하강 파싱 (Recursive-descent parsing)
 
 

Recommendations

Texonom
Texonom
/
Engineering
Engineering
/Software Engineering/Programming/Programming Language/Programming Language Structure/Compiler/Compiler Frontend/Compiler Syntax Analysis/Compiler Parser/Parsing Method/Top-down Parsing/Predictive Parser/
Recursive-descent parsing
Copyright Seonglae Cho