개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.03.05 13:50

ParleParser::right 관련 질문

  • 코딩테스트러버 12일 전 2025.03.05 13:50
  • 7
    1
제가 지금 배포형 파서(Parser)로 ParleParser::right를 사용 중인데요,
ParleParser::right는 어떻게 동작하는 건가요?
그리고 이 메서드는 어떤 상황에서 사용해야 하는 건가요?

    댓글목록

    profile_image
    나우호스팅  12일 전



    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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 4,272건 / 230 페이지

검색

게시물 검색