피드로 돌아가기
Configuring CrabPascal with crabpascal.toml | Configurando com crabpascal.toml
Dev.toDev.to
Infrastructure

TOML 기반 프로젝트 설정 도입을 통한 CrabPascal Toolchain 통합 제어

Configuring CrabPascal with crabpascal.toml | Configurando com crabpascal.toml

CrabPascal2026년 6월 4일5intermediate

Context

단일 파일 기반의 데모 컴파일러 구조로 인한 복잡한 프로젝트 관리 한계 발생. CLI 플래그 기반의 설정 방식은 CI/CD 환경 및 IDE 확장 기능과의 설정 동기화에 병목 지점으로 작용함.

Technical Solution

  • 프로젝트 루트의 crabpascal.toml 파일을 통한 Centralized Configuration 구조 설계
  • Delphi 및 OBJFPC 모드 전환 기능을 통한 Parsing Rule 및 RTL Resolution 전략의 동적 변경 구현
  • Search Paths 설정을 통한 하드코딩된 -U 플래그 제거 및 단위 모듈의 계층적 경로 관리 체계 구축
  • CI 환경 최적화를 위해 gcc 스타일의 Error Format과 VS Code 전용 포맷을 분리하는 Output 전략 채택
  • recursive_uses 설정을 통한 Delphi 방식의 Transitive Unit Loading 메커니즘 구현
  • AST Dump 및 전처리 결과 저장 기능을 포함한 Development Mode 설계를 통해 Parser 디버깅 효율성 강화

- 프로젝트 설정 파일의 검색 우선순위(Root -> Hidden -> Config folder)를 정의하여 유연한 환경 설정 제공 - CI/CD 파이프라인의 로그 파서 호환성을 위해 출력 포맷(gcc, vscode 등)을 설정 가능하게 설계 - 컴파일러 개발 시 AST(Abstract Syntax Tree) 저장 옵션을 제공하여 정적 분석 및 버그 리포팅 프로세스 단축

원문 읽기