개발자 Q&A

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

2025.03.26 11:52

ParleParser::nonassoc 관련 질문

목록
  • GCP전문가 22시간 전 2025.03.26 11:52 새글
  • 1
    1
제가 현재 ParleParser를 공부중인데, nonassoc 키워드에 대한 이해가 부족합니다.

ParleParser::nonassoc는 어떤 역할을 하는 것일까요?

예를 들어, 다음과 같은 문법을 가지는 파서를 작성할 때,

E -> E + T
E -> T
T -> T * F
T -> F

nonassoc 키워드가 사용되는 곳은 어디인지 알려주세요.

그리고 nonassoc 키워드가 없을 때와 있은 때의 차이점을 설명해주세요.

감사합니다.

    댓글목록

    profile_image
    나우호스팅  22시간 전



    ParleParser::nonassoc는 연산자 우선순위를 명시적으로 지정하는 키워드입니다.

    예를 들어, 다음과 같은 문법을 가지는 파서를 작성할 때,

    E -> E + T
    E -> T
    T -> T * F
    T -> F

    nonassoc 키워드가 사용되는 곳은 '+' 연산자에 있습니다.

    그리고 nonassoc 키워드가 없을 때와 있을 때의 차이점은 다음과 같습니다.

    - nonassoc 키워드가 없을 때: '+' 연산자는 '+' 연산자보다 우선순위가 낮은 '*' 연산자와 동일한 우선순위를 가집니다. 따라서 '+' 연산자는 '*' 연산자보다 우선순위가 낮아 '*' 연산자가 '+' 연산자보다 먼저 적용됩니다.

    - nonassoc 키워드가 있을 때: '+' 연산자는 '+' 연산자보다 우선순위가 높습니다. 따라서 '+' 연산자는 '*' 연산자보다 우선순위가 높아 '*' 연산자가 '+' 연산자보다 먼저 적용되지 않습니다.

    따라서, nonassoc 키워드는 연산자 우선순위를 명시적으로 지정하여 파서의 동작을 제어할 수 있습니다.

    2025-03-26 11:53

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

검색

게시물 검색