피드로 돌아가기
I am making a programming language
Dev.toDev.to
Infrastructure

C++ 기반 Custom AST 설계를 통한 상태 관리 특화 언어 Swiq 구현

I am making a programming language

Banana Cool2026년 6월 24일1advanced

Context

표준 Garbage Collection 및 Block Scoping 기반의 기존 메모리 관리 방식이 가진 제약 사항 분석. 언어 차원의 Native State Management를 통해 개발자의 상태 제어 권한을 확장하려는 시도.

Technical Solution

  • C++를 활용한 Custom Interpreter 및 Abstract Syntax Tree(AST)의 From-scratch 구현
  • 변수의 현재 상태와 Instantiation State를 동시에 추적하는 메모리 관리 시스템 설계
  • 별도의 Hidden Memory Space를 활용하여 변수를 저장하고 복구하는 Native Archiving 메커니즘 도입
  • 변수 생성 시점의 Initial Value를 보존하여 즉각적인 원복을 지원하는 Instant Resetting 로직 구현
  • C++ Lambda와 유사한 명시적 변수 캡처를 지원하는 Explicit Closures 구조 설계

1. 애플리케이션 수준의 상태 복구 로직을 언어 수준의 Semantic Keyword로 추상화할 수 있는지 검토

2. 복잡한 상태 전이 모델이 필요한 도메인에서 AST 커스텀 설계를 통한 최적화 가능성 확인

3. 메모리 스냅샷 및 복구 기능을 Native 레벨에서 구현할 때의 오버헤드 분석

원문 읽기