소개
Krypton은 C 컴파일러 없이 네이티브 머신 코드를 직접 생성하는 셀프 호스팅 프로그래밍 언어입니다. 자체로 컴파일러가 작성되어 있으며, Linux, Windows, macOS를 포함한 여러 플랫폼에서 네이티브 백엔드를 지원합니다.
상세정보
네이티브 코드 생성
Krypton 컴파일러는 소스 코드를 직접적으로 네이티브 실행 파일로 변환합니다. Windows 플랫폼에서는 PE/COFF 형식을 생성하며, 런타임 라이브러리(krypton_rt.dll)를 통해 kernel32.dll만 사용합니다.
셀프 호스팅 컴파일러
컴파일러 자체가 Krypton 언어로 작성되어 있어, Krypton으로 프로그래밍하고 컴파일하는 모든 과정을 하나의 언어로 처리할 수 있습니다.
KryptScript 스크립팅
.ks 확장자를 사용하는 KryptScript 파일은 보일러플레이트 없이 바로 실행할 수 있는 스크립트 형식입니다. Windows에서는 .ks 파일이 kr.exe와 자동 연동되어 더블클릭으로 바로 실행됩니다.
표준 라이브러리
150개 이상의 내장 함수와 77개 이상의 표준 라이브러리 모듈을 포함합니다. 문자열 처리, 수학, JSON, HTTP, 파일 I/O 등 다양한 기능을 제공합니다.
Chocolatey를 통한 설치 (권장)
Windows 환경에서 Chocolatey 패키지 관리자를 사용하여 Krypton을 설치할 수 있습니다. 관리자 권한이 있는 명령 프롬프트 또는 PowerShell에서 다음 명령어를 실행합니다:
choco install krypton
설치 후 모든 터미널에서 krypton 또는 kcc 명령어를 사용할 수 있습니다.
소스에서 빌드
GitHub에서 소스 코드를 클론한 후 부팅 배치 파일을 실행하여 설치할 수 있습니다:
git clone https://github.com/t3m3d/krypton
cd krypton
bootstrap.bat
이 명령은 bootstrap 디렉토리에서 미리 빌드된 시드 바이너리를 복사하여 설정합니다. C 컴파일러가 필요하지 않습니다.
프로그램 작성 및 실행
Krypton 프로그램은 .k 확장자를 사용합니다. 간단한 Hello World 프로그램의 예시입니다:
just run {
kp(“Hello from Krypton!”)
}
이 파일을 kcc 명령어로 컴파일하면 네이티브 실행 파일이 생성됩니다:
kcc hello.k
./hello
KryptScript 스크립트 실행
.ks 확장자를 사용하는 스크립트 파일은 보일러플레이트 없이 작성할 수 있습니다. Windows에서는 .ks 파일이 kr.exe와 연동되어 명령줄에서 직접 실행할 수 있습니다:
myscript.ks foo bar
대화형 REPL
인수 없이 kr 명령어를 실행하면 대화형 REPL(Read-Eval-Print Loop)이 시작됩니다. 함수 정의, 변수 선언, 멀티라인 블록 등을 실시간으로 테스트할 수 있습니다.
이런 경우에 유용합니다
네이티브 성능이 중요한 시스템 프로그래밍을 할 때 Krypton은 C 컴파일러 없이 직접 실행 파일을 생성할 수 있는 환경을 제공합니다. 특히 Windows 환경에서 .bat 파일 대신 더 강력한 스크립팅이 필요할 때 KryptScript가 유용합니다.
지원 환경·시스템 요구사항
Krypton은 Windows x86_64 환경을 지원하며, 2.3.0 버전에서 완전한 네이티브 코드 생성이 가능합니다. 별도의 C 컴파일러나 외부 도구가 필요하지 않습니다.
최신 버전·업데이트
현재 Windows용으로 2.3.0 버전이 제공됩니다. 이 버전에서는 C 컴파일러 의존성이 완전히 제거되었으며, 네이티브 PE/COFF 코드 생성, KryptScript 지원, REPL 기능 등이 추가되었습니다.
제한 사항·확인 사항
Windows 버전은 x86_64 아키텍처만 지원합니다. macOS와 Linux 버전은 별도로 제공되며, 각각 2.4.5와 2.4.4 버전이 최신입니다. 언어 자체는 모든 값이 런타임에서 문자열로 처리되며, 산술 연산은 숫자 문자열을 자동 감지합니다.
시스템 요구사항
Krypton의 최신 버전은 Windows x86_64 환경에서 Chocolatey를 통해 설치할 수 있습니다. 자체 컴파일러가 포함되어 있어 사용자 시스템에 별도의 C 컴파일러(GCC, Clang 등)가 필요하지 않습니다.


