Dassie: .NET CIL로 컴파일되는 새로운 프로그래밍 언어 소개
🤖 AI 추천
컴파일러 개발에 관심 있는 개발자, C# 개발자, 새로운 언어 실험을 즐기는 개발자.
🔖 주요 키워드
💻 Development
핵심 기술
Dassie는 .NET CIL(Common Intermediate Language)로 컴파일되는 새로운 프로그래밍 언어로, 컴파일러 개발 학습을 목적으로 시작되어 점차 기능이 추가되고 있습니다. C#과 유사한 문법 구조를 가지며, 정적 타입 시스템과 자동 타입 추론을 지원합니다.
기술적 세부사항
- 컴파일 대상: .NET CIL
- 기본 문법: C#과 유사하며,
type
,module
키워드를 사용하여 코드 구조화 - 변수: 기본적으로 불변(immutable)이며,
var
키워드로 변경 가능 - 타입 시스템: 정적 타입, 변수 타입 추론 지원
- 함수:
Add (x: int, y: int) = x + y
형식으로 정의, 매개변수 타입 추론은 미지원, 반환 타입 추론 지원. 호출 시 괄호 생략. - 제어 흐름: 키워드 대신 연산자(
?
,@
,!?
,!@
)를 사용하며, 모든 제어 흐름은 표현식(expression)으로 동작.- 조건문:
condition ? true_expr : false_expr
- 반복문:
@
연산자를 사용하며, 반복 결과로 값들의 배열을 반환.
- 조건문:
- 데이터 구조: 배열(
@[...]
) 및 리스트([...]
) 생성 및 사용 지원 (::0
으로 인덱싱). - 모듈: C#의
static class
와 유사한 개념.
개발 임팩트
Dassie는 컴파일러 개발의 학습 곡선을 낮추고, .NET 생태계 내에서 새로운 프로그래밍 패러다임을 실험할 수 있는 기회를 제공합니다. C#과의 호환성을 통해 기존 .NET 라이브러리를 활용할 수 있습니다.
커뮤니티 반응
(제공된 텍스트에 커뮤니티 반응에 대한 구체적인 언급은 없습니다.)
📚 관련 자료
Dassie Compiler
이 저장소는 Dassie 언어의 소스 코드를 직접적으로 포함하고 있으며, 컴파일러의 구현, 문법, 기능 등을 가장 상세하게 파악할 수 있는 공식적인 소스입니다. 제공된 문서 및 코드 예제들이 모두 이 저장소에서 파생됩니다.
관련도: 98%
Roslyn
Microsoft의 C# 및 Visual Basic 컴파일러 플랫폼입니다. Dassie가 .NET CIL로 컴파일된다는 점에서, Roslyn의 컴파일러 설계, CIL 생성 과정, 언어 구현 기술 등을 참고할 수 있습니다. Dassie는 Roslyn의 컴파일러 구조와 유사한 아키텍처를 가질 가능성이 높습니다.
관련도: 75%
LLVM
LLVM은 컴파일러 인프라 프로젝트로, 다양한 프로그래밍 언어를 최적화된 기계 코드로 컴파일하는 데 사용됩니다. Dassie 컴파일러가 내부적으로 LLVM을 사용하여 CIL을 생성하거나, 컴파일러 최적화 기법을 적용하는 경우 관련성이 있을 수 있습니다. (Dassie가 직접 LLVM을 사용하는지 여부는 명확하지 않으나, 컴파일러 설계 전반에 대한 인사이트를 제공합니다.)
관련도: 50%