← 목록
크라우니어 v10.1 릴리스 노트
pkg.crowny.org — @crowny/crownyc@10.1.0
download.crowny.org — crownyc.html
설치 및 빌드
bash# npm 설치
npm install @crowny/crownyc --registry https://pkg.crowny.org
# 소스 빌드 (macOS/Linux, 의존성 0)
cc -O2 -o crownyc crownyc.c
cc -O2 -o hanseonc_high hanseonc_high.c
# WASM 빌드
cc -O2 -o crowny-wasm wasm_emit.c
# macOS GUI
cc -O2 -DCROWNY_WINDOW -framework Cocoa -lpthread -o crownyc_win crownyc.c crownyc_window.m
실행
bash# 한선씨 코드 컴파일 + 실행
./hanseonc_high hello.한선 > hello.toau
./crownyc run hello.toau
# REPL (대화형)
./crownyc
# WASM 변환
./hanseonc_high app.한선 > app.toau && ./crowny-wasm app.toau app.wasm
# 테스트
./hanseonc_high tests/고수준_기본.한선 > /tmp/t.toau && ./crownyc run /tmp/t.toau
한선씨 문법 (빠른 참조)
javascript가져오기 "문자열.한선" // 라이브러리 임포트
변수 이름 = "크라우니" // 변수
함수 인사(누구) { // 함수
반환 "안녕, " + 누구 + "!"
}
출력값(인사(이름)) // 출력
만약 (글자수(이름) > 3) { // 조건 (3방향)
출력값("긴 이름")
} 모르면 { // v10: Kleene 3값 분기
출력값("모름")
} 아니면 {
출력값("짧은 이름")
}
동안 (x > 0) { x = x - 1 } // 반복
v10.x 핵심 변경
1. 순수 벡터형 3진 엔진 (v10.0)
- VM 산술 계층에서 이진 산술 완전 제거
- 90+ 연산이 트릿 네이티브 (cube_add/mul/divmod/neg/cmp)
- 나눗셈 자연반올림:
13%5 = -2 (|나머지| <= |제수|/2)
2. Kleene 3값 논리 (v10.0)
모름 && 참 = 모름 (이전: 거짓)
!모름 = 모름
만약/모르면/아니면 3방향 분기
3. UTF-8 완전 지원 (v9.6 → v10.1)
글자(s, i) — i번째 UTF-8 문자 반환
부분(s, 시작, 끝) — 문자 인덱스 기반 슬라이스
찾기(s, 패턴) — 문자 인덱스 반환
- 한국어 문자열 완벽 처리
4. REPL 고도화 (v10.1)
크라우니> 출력값(문자열변환(3 + 4))
7
크라우니> 완성 출력
출력값
크라우니> 히스토리
1 출력값(문자열변환(3 + 4))
- 한선씨 코드 직접 입력/실행
완성 <접두사> 자동완성 (58개 키워드)
히스토리 최근 100개 이력
rpn RPN 스택 계산기 모드
- ANSI 에러 하이라이팅
5. 46개 표준 라이브러리 (v10.0+)
기존 24개 + 신규 22개:| 범주 | 라이브러리 |
|---|
| 문자열/데이터 | 문자열, JSON, YAML, 정규식, 직렬화, 검증, 날짜, 설정, 환경, 큐 |
| 네트워크 | 네트워크, 라우터, 미들웨어, HTTP클라이언트, 웹소켓, TLS, 인증서, 인증 |
| 보안 | 암호화, 암호 |
| 시스템 | 파일시스템, 프로세스, 프로세스관리, 메모리, 시그널, 드라이버, 타이머 |
| UI | 뷰, 스타일, 네이티브, 컴포넌트, DOM |
| 데이터 | 셀저장소, 셀DB, 바이트버퍼 |
| 동시성 | 동시성, 채널, 이벤트루프 |
| 수학/그래픽 | 행렬, 넙스, 이미지, 하드웨어 |
| 개발 | 로깅, 템플릿, 에러처리, 테스트 |
6. WASM v10 호환 (v10.1)
- 55+ opcode 매핑
- TSHL/TSHR (트릿 시프트), MIN/MAX, FLOOR_DIV 추가
테스트 결과 (207/208, 99.5%)
| 스위트 | 결과 |
|---|
| 고수준_기본 | 38/38 |
| 고수준_제어 | 23/23 |
| 고수준_구조체 | 19/19 |
| 고수준_재귀 | 16/16 |
| 고수준_라이브러리 | 18/18 |
| 고수준_v10회귀 | 26/27 |
| 고수준_신규라이브러리 | 13/13 |
| RPN 산술 | 40/40 |
| RPN 소켓 | 14/14 |
핵심 파일
| 파일 | 역할 |
|---|
crownyc.c (~370KB) | VM + 729 opcode + 3진 ALU + REPL |
hanseonc_high.c (~80KB) | 고수준 컴파일러 (222 내장함수) |
wasm_emit.c (~18KB) | WASM 변환기 (55+ opcode) |
libs/*.한선 (46개) | 표준 라이브러리 |
tests/*.한선 (9개) | 207개 테스트 케이스 |
222개 내장함수 (주요)
글자수 글자 부분 포함 문자열변환 숫자변환 // 문자열 (UTF-8)
길이 추가 설정 정렬 뒤집기 // 배열
출력값 입력 읽기 쓰기 덧쓰기 파일존재 // I/O
거듭제곱 루트 사인 코사인 로그 무작위 절댓값 // 수학
TCP대기 TCP수락 TCP읽기 TCP쓰기 TCP닫기 // TCP
소켓생성 소켓바인드 소켓보내기 소켓받기 DNS질의 // 소켓/UDP
셀생성 셀연결 셀읽기 셀설정 맵생성 맵넣어 맵꺼내 // 셀/맵
SHA256 삼진인코딩 삼진디코딩 삼진덧셈 삼진곱 // 암호/3진
화면초기화 점찍기 사각형 선긋기 원그리기 // GUI
추적시작 추적끝 성능시작 성능끝 // 디버그
관련 링크
- pkg.crowny.org — npm 패키지 레지스트리
- download.crowny.org/crownyc.html — 전용 다운로드 페이지
- tip.crowny.org/crownyc-v10.1-release — 이 문서
- crowny.org — 메인 사이트