개발자 Q&A

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

2025.07.24 07:38

ParleRParser::nonassoc 관련 질문

목록
  • 프로토콜연구가 1일 전 2025.07.24 07:38
  • 16
    1
제가 공부중인 파이썬의 ParleRParser에 대해 궁금한 점이 있습니다.
ParleRParser::nonassoc의 의미와 용도는 무엇이며, 어떻게 사용해야 하는지 알려주세요?
예를 들어, 어떤 상황에서 nonassoc을 사용해야 하는지 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  1일 전



    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

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

검색

게시물 검색