• SEARCH

    통합검색
  • GAMEZONE
    • 커뮤니티
      • 공지사항
      • 유저게시판
        • 등업게시판
        • 출석체크
        • 정회원 무료자료실
      • 스크린샷
      • 인증자료실
    • 리니지
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 메이플스토리
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 바람의나라
      • 자유게시판
      • 홍보게시판
      • 자료게시판
        • 유틸자료실
        • 소스자료실
        • 클라이언트
        • 팩 자료실
      • 연구게시판
        • 개발내역
        • 질문과답변
        • 기타
      • 강의게시판
        • DR
        • CR
        • 구버전
        • 클라이언트 개조
        • 노하우 게시판
        • 게임공략 & 팁
    • 다크에덴
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 믹스마스터
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 라그나로크
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 기타게임
      • 게임공략 & 팁
      • 홍보게시판
      • 유틸자료실
      • 소스자료실
      • 자유게시판
      • 노하우 게시판
    • 게임강의
    • 비베&포토샵
      • 자유게시판
      • 자료실
        • 일반자료실
        • 포인트 자료실
      • 노하우게시판
      • 포토샵게시판
    • 모바일
      • 게임공략
      • 포인트 자료실
      • 유틸자료실
      • 자유게시판
  • 기타게임 소스자료실
    • 기타게임 소스자료실 기타
    • [Rust 공식문서 한국어 정리] ⑪. The Little Book of Rust Macros

      • 오뉴노노
      • 2026.05.30 - 08:36 4

    [Rust 공식문서 한국어 정리] ⑪. The Little Book of Rust Macros
    원문: https://veykril.github.io/tlborm/

    #Rust #Rustlang #Macros #Metaprogramming #공식문서

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    1. 서론
    The Little Book of Rust Macros(TLBORM)는 Rust의 매크로 시스템에 대한 종합적인 학습 자료입니다. 원작은 Daniel Keep이 2016년 초 여름에 마지막으로 업데이트했으며, 현재 버전은 veykril이 Rust 언어와 매크로 시스템의 지속적인 발전에 맞춰 업데이트하고 있습니다. 선언적 매크로(declarative macros, macro_rules!)와 프로시저 매크로(procedural macros) 모두를 다루며, Rust 매크로를 이해하는 데 어려움을 겪는 많은 개발자들에게 큰 도움이 되고 있습니다.

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    2. 핵심개념
    • Declarative Macros (macro_rules!): 패턴 매칭 기반의 코드 생성 메타프로그래밍
    • Procedural Macros: 컴파일러 확장을 위한 Rust 함수 기반 매크로 (derive, attribute, function-like)
    • Token Trees: Rust 매크로의 기본 단위인 토큰 트리와 매크로 확장 메커니즘
    • Hygiene: 매크로의 위생성으로 이름 충돌 방지
    • Repetition: $(...)*, $(...)+, $(...)?를 통한 패턴 반복
    • Fragment Specifiers: ident, expr, ty, pat, stmt, block 등 매크로 매개변수 타입
    • Token Parsing: proc-macro에서의 토큰 스트림 직접 파싱

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    3. 주요내용상세

    3.1 Declarative Macros (macro_rules!)
    Rust의 전통적인 매크로 시스템으로, 패턴 매칭을 통해 코드를 생성합니다:

    • 매크로 정의 문법 — macro_rules! name { (pattern) => { expansion }; }
    • Fragment Specifiers — 매크로 인자의 타입 지정 (expr, stmt, ty, ident, path, tt 등)
    • Repetition — 여러 인자를 반복 처리하는 $(...)*, $(...)+, $(...)?
    • Multiple Patterns — 오버로딩과 유사한 다중 패턴 정의
    • Hygiene — 매크로 내에서 생성된 이름이 외부와 충돌하지 않음
    • Recursion — 매크로 내에서 자기 자신을 호출하는 재귀적 매크로
    • Limitations — macro_rules!의 한계와 복잡한 문법 처리의 어려움

    3.2 Procedural Macros
    Rust 1.15부터 안정화된 더 강력한 매크로 시스템:

    • Derive Macros — #[derive(MyTrait)] 형태의 구조체/열거형 자동 구현
    • Attribute Macros — #[my_attribute] 형태의 항목 변형
    • Function-like Procedural Macros — my_macro!(...) 형태의 함수형 매크로
    • TokenStream 처리 — proc_macro::TokenStream을 직접 파싱하고 변형
    • syn & quote 크레이트 — proc-macro 개발의 표준 라이브러리
    • Span 정보 — 원본 코드의 위치 정보 보존으로 좋은 에러 메시지 생성

    3.3 고급 주제
    • 매크로 내에서의 조걸적 컴파일
    • TT-munching — 토큰 트리를 하나씩 소비하는 재귀적 파싱 기법
    • Push-down Accumulation — 상태를 누적하여 복잡한 매크로 구현
    • Procedural Macro Hygiene — proc-macro에서의 위생성 관리

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    4. 실전활용
    • DRY(Don't Repeat Yourself) 원칙을 지키기 위한 보일러플레이트 코드 생성
    • #[derive(Debug, Clone, Serialize)] 등 자주 사용하는 derive 매크로 직접 구현
    • DSL(Domain Specific Language) 생성을 위한 매크로 설계
    • 테스트 프레임워크에서의 선언적 테스트 케이스 정의
    • 로깅/트레이싱 매크로 (tracing, log 크레이트의 매크로 구조 참고)
    • API 설계 시 사용자 친화적인 매크로 인터페이스 제공

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    5. 정리
    The Little Book of Rust Macros는 Rust 매크로 시스템의 A부터 Z까지 다루는 필수 참고서입니다. macro_rules!의 기본 문법부터 proc-macro의 복잡한 토큰 처리까지, 매크로를 효과적으로 활용하기 위한 모든 지식을 담고 있습니다. Rust의 매크로는 처음 접하면 어렵게 느껴질 수 있지만, 이 책을 통해 체계적으로 학습하면 코드의 반복을 줄이고 표현력을 극대화하는 강력한 도구로 활용할 수 있습니다.

    이 게시물을..
    N
    0
    0
    • [Rust 공식문서 한국어 정리] ⑫. Rust Cookbook오뉴노노
    • [Rust 공식문서 한국어 정리] ⑩. Rust Design Patterns오뉴노노
    • 0
      오뉴노노

    오뉴노노 님의 최근 글

    [Rust 공식문서 한국어 정리] ⑭. Rustlings 11 2026 05.30 [Rust 공식문서 한국어 정리] ⑬. The Unstable Book 12 2026 05.30 [Rust 공식문서 한국어 정리] ⑫. Rust Cookbook 9 2026 05.30 [Rust 공식문서 한국어 정리] ⑪. The Little Book of Rust Macros 4 2026 05.30 [Rust 공식문서 한국어 정리] ⑩. Rust Design Patterns 12 2026 05.30

    오뉴노노 님의 최근 댓글

    ㅋㅋㅋㅋㅋ 2019 01.14 잘 읽었습니다 2018 12.30 포인트가 없어서 아직 시작을 못하고있는데요! 글은 잘 읽었습니다! 포인트 쌓고 도전할거에요 2018 12.30
    글쓴이의 서명작성글 감추기 
    댓글 쓰기 에디터 사용하기 닫기
    • view_headline 목록
    • 14px
    • [Rust 공식문서 한국어 정리] ⑫. Rust Cookbook
    • [Rust 공식문서 한국어 정리] ⑩. Rust Design Patterns
    • 목록
      view_headline
    × CLOSE
    전체 던파 5 뮤 18 천상비 프로젝트신루 5 아이온 18 어둠의전설 28 리니지2 7 크로노스 5 칼온라인 3 기타 306
    기본 (305) 제목 날짜 수정 조회 댓글 추천 비추
    기타 정렬 검색
    • 포인트 획득 공지
      4
      2026.04.24 - 19:48 4646 4
    • 링크 업로드 관련 공지
      8
      2026.03.25 - 21:56 4497 8
    • 인증메일 공지
      2
      2026.03.15 - 16:42 4393 2
    • 파일링크 및 인증메일 발송 관련 문의 안내
      8
      2026.03.14 - 22:03 4984 8
    • 포인트 게시판 안내
      2026.02.28 - 19:14 5773
    • 게임존 사이트 변경 사항 안내
      9
      2026.02.26 - 01:07 7589 9
    • 소스자료는 직접 올려주세요
      2017.06.06 - 16:16 849
    305
    기타
    피파온라인 3 클라이언트
    lyw01234 2026.05.30 - 23:17 40
    304
    기타
    [Rust 공식문서 한국어 정리] ⑭. Rustlings
    오뉴노노 2026.05.30 - 08:38 11
    303
    기타
    [Rust 공식문서 한국어 정리] ⑬. The Unstable Book
    오뉴노노 2026.05.30 - 08:38 12
    302
    기타
    [Rust 공식문서 한국어 정리] ⑫. Rust Cookbook
    오뉴노노 2026.05.30 - 08:37 9
    기타
    [Rust 공식문서 한국어 정리] ⑪. The Little Book of Rust Macros
    오뉴노노 2026.05.30 - 08:36 4
    300
    기타
    [Rust 공식문서 한국어 정리] ⑩. Rust Design Patterns
    오뉴노노 2026.05.30 - 08:36 12
    299
    기타
    [Rust 공식문서 한국어 정리] ⑨. Rust API Guidelines
    오뉴노노 2026.05.30 - 08:35 12
    298
    기타
    [Rust 공식문서 한국어 정리] ⑧. The Rust Performance Book
    오뉴노노 2026.05.30 - 08:34 7
    297
    기타
    [Rust 공식문서 한국어 정리] ⑦. Asynchronous Programming in Rust
    오뉴노노 2026.05.30 - 08:34 6
    296
    기타
    [Rust 공식문서 한국어 정리] ⑥. The Rust Edition Guide
    오뉴노노 2026.05.30 - 08:33 9
    295
    기타
    [Rust 공식문서 한국어 정리] ⑤. The Cargo Book
    오뉴노노 2026.05.30 - 08:32 1
    294
    기타
    [Rust 공식문서 한국어 정리] ④. The Rustonomicon
    오뉴노노 2026.05.30 - 08:32
    293
    기타
    [Rust 공식문서 한국어 정리] ③. The Rust Reference
    오뉴노노 2026.05.30 - 08:31
    292
    기타
    [Rust 공식문서 한국어 정리] ②. Rust By Example
    오뉴노노 2026.05.30 - 08:31
    291
    기타
    [Rust 공식문서 한국어 정리] ①. The Rust Programming Language (The Book)
    오뉴노노 2026.05.30 - 08:30 2
    290
    기타
    [Go 공식문서 한국어 정리] ⑤7. Codewalk: Share Memory By Communicating
    오뉴노노 2026.05.30 - 03:29 7
    289
    기타
    [Go 공식문서 한국어 정리] ⑤6. Codewalk: 마르코프 체인 텍스트 생성
    오뉴노노 2026.05.30 - 03:26 2
    288
    기타
    [Go 공식문서 한국어 정리] ⑤5. Codewalk: Go의 일급 함수
    오뉴노노 2026.05.30 - 03:25 1
    287
    기타
    [Go 공식문서 한국어 정리] ⑤4. Go 명령어 도구
    오뉴노노 2026.05.30 - 03:24 2
    286
    기타
    [Go 공식문서 한국어 정리] ⑤3. 통합 테스트 커버리지 프로파일링
    오뉴노노 2026.05.30 - 03:23 1
    • 1 2 3 4 5 6 7 8 9 10 .. 16
    • / 16 GO
  • GAMEZONE
 GAMEZONE all rights reserved.
by OrangeDay