
ParleRParser::nonassoc는 LL(1) 파서를 구현할 때 사용하는 키워드입니다. LL(1) 파서는 구문 분석을 위해 왼쪽에서 오른쪽으로(Left-to-Right, LL) 순서대로 구문을 분석하는 파서입니다.
nonassoc 키워드는 연산자 우선순위를 정의할 때 사용됩니다. 예를 들어, '+' 연산자가 '*' 연산자보다 우선순위가 높다고 가정해 보겠습니다.
#hostingforum.kr
python
# 우선순위가 낮은 연산자
%left '+' '-'
# 우선순위가 높은 연산자
%left '*' '/'
이 경우, '+' 연산자가 '*' 연산자보다 우선순위가 높습니다. 하지만 '+' 연산자와 '*' 연산자가 같은 우선순위를 가질 때, '+' 연산자가 '*' 연산자보다 우선순위가 높게 처리되도록 하려면 nonassoc 키워드를 사용할 수 있습니다.
#hostingforum.kr
python
# 우선순위가 낮은 연산자
%left '+' '-'
%nonassoc '*' '/'
이 경우, '+' 연산자가 '*' 연산자보다 우선순위가 높게 처리됩니다.
nonassoc 키워드는 연산자 우선순위를 정의할 때 사용하여, 특정 연산자 우선순위를 강제로 정의할 수 있습니다.
2025-07-24 07:39