
ParleParser::right는 우선순위가 가장 낮은 연산자를 우선순위가 가장 높은 연산자에 적용하는 파서입니다.
예를 들어, 다음과 같은 문법을 생각해 보겠습니다.
E -> E + T | T
여기서 E는 더하기 연산을 수행하는 연산자, T는 더하기 연산을 수행하지 않는 연산자입니다.
ParleParser::right를 사용하면, 다음과 같이 연산이 수행됩니다.
E -> T + E
이러한 방식으로, 우선순위가 가장 낮은 연산자가 우선순위가 가장 높은 연산자에 적용됩니다.
ParleParser::right는 다음과 같은 상황에서 사용해야 합니다.
1. 우선순위가 가장 낮은 연산자가 우선순위가 가장 높은 연산자에 적용되어야 할 때
2. 연산자가 우선순위가 낮은 연산자에만 적용되어야 할 때
예를 들어, 다음과 같은 문법을 생각해 보겠습니다.
E -> E * T | T
여기서 E는 곱하기 연산을 수행하는 연산자, T는 곱하기 연산을 수행하지 않는 연산자입니다.
ParleParser::right를 사용하면, 다음과 같이 연산이 수행됩니다.
E -> T * E
이러한 방식으로, 우선순위가 가장 낮은 연산자가 우선순위가 가장 높은 연산자에 적용됩니다.
ParleParser::right는 다음과 같은 예외 상황에서 사용하지 않아야 합니다.
1. 우선순위가 가장 높은 연산자가 우선순위가 가장 낮은 연산자에 적용되어야 할 때
2. 연산자가 우선순위가 높은 연산자에만 적용되어야 할 때
2025-03-05 13:51