피드로 돌아가기
Dev.toInfrastructure
원문 읽기
TOML 기반 프로젝트 설정 도입을 통한 CrabPascal Toolchain 통합 제어
Configuring CrabPascal with crabpascal.toml | Configurando com crabpascal.toml
AI 요약
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) 저장 옵션을 제공하여 정적 분석 및 버그 리포팅 프로세스 단축