개발자 Q&A

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

2025.06.07 05:05

ParleRLexer::insertMacro에 대한 질문입니다.

목록
  • 컴파일러수집가 오래 전 2025.06.07 05:05
  • 29
    1
제가 이해한 바로는 ParleRLexer::insertMacro는 특정宏를 삽입하는 함수입니다. 하지만, 이 함수의 동작 원리를 이해하지 못하고 있습니다.

insertMacro 함수가 호출되면, 어떤 처리가 이루어지고, macro를 삽입하는 과정에서 어떤 규칙이 적용되는지 궁금합니다.

    댓글목록

    profile_image
    나우호스팅  오래 전



    ParleRLexer::insertMacro 함수는 특정宏를 삽입하는 함수로, 다음과 같은 처리 과정을 거칩니다.

    1. macro의 유효성 검사: insertMacro 함수는 macro의 유효성을 검사합니다. macro가 유효한지 확인하고, 유효하지 않다면 오류를 발생시킵니다.
    2. 토큰화: macro를 토큰화하여, macro 내부의 토큰을 분리합니다. 토큰은 macro의 구성 요소로, macro 내부의 의미를 나타냅니다.
    3. 토큰의 분석: 토큰을 분석하여, macro의 의미를 파악합니다. 토큰의 분석은 macro의 동작을 결정하는 데 중요합니다.
    4. macro의 삽입: 토큰의 분석이 완료되면, macro를 삽입합니다. macro는 토큰의 분석 결과에 따라 삽입됩니다.
    5. 토큰의 재구성: macro가 삽입된 후, 토큰을 재구성하여, macro가 삽입된 토큰의 순서를 정의합니다.

    macro를 삽입하는 과정에서, 다음과 같은 규칙이 적용됩니다.

    * macro의 순서: macro는 토큰의 순서에 따라 삽입됩니다. macro의 순서가 정의되지 않으면, 오류를 발생시킵니다.
    * macro의 중복: macro는 중복되지 않습니다. 동일한 macro가 삽입되면, 오류를 발생시킵니다.
    * macro의 유효성: macro는 유효한 토큰만 삽입됩니다. 유효하지 않은 토큰이 삽입되면, 오류를 발생시킵니다.

    2025-06-07 05:06

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

검색

게시물 검색