← 목록

한선씨 순수 RPN 전환 프로젝트

개요

한선씨를 순수 한글 + 숫자 + 공백 RPN 언어로 확정하고, 기존 C-like 코드 184개 파일을 전환. 전세계 언어를 한선씨 의미어로 매핑하는 것이 최종 목표.

현황 (전환 전)

항목C-like (현재)RPN (목표)
문법함수 f(n) { 반환 n * n }.f 복사 곱해 반환
기호{}()=+-*/<>",[]; 15종" ; . @ 5종
키워드314개 (hanseonc_high)353개 (hanseonc_std 확장)
컴파일러hanseonc_high.c (C, 3000줄)hanseonc_std.asm (TOAU, 1547줄)
파일 수184개 (libs 127 + std 49 + ex 8)0개 (전환 대상)

태스크 (의존관계 순서)

#8  RPN 문법 확정 (353개 키워드 스펙)              ← 완료
 ├─ #9  hanseonc_std 컴파일러 보강 (272개 추가)
 ├─ #10 C-like → RPN 자동 변환기 개발
 │   ├─ #11 libs/ 127개 RPN 전환
 │   └─ #12 std/ 49개 + examples/ 8개 전환
 ├─ #14 의미어 체계 확립 (@의미코드 전체 사전)
 │   ├─ #13 3레이어 자동화 (T/O/A 생성)
 │   └─ #15 전세계 언어 의미어 매핑 (영/중/일)
 └─ #16 에이전트 패턴DB RPN 전환

스펙 문서

/Users/ef/CrownyOS/docs/HANSEON_RPN_SPEC.md — v1.0 (2026-04-17 확정)

핵심 규칙

  1. 한 단어 = 한 opcode (353개)
  2. 기호 5종만 허용: " ; . @
  3. 후위 표기법: 3 7 더해 (not 3 + 7)
  4. 라벨 함수: .함수명 본문 반환 (not 함수 f() {})
  5. 화살표 대입: 10 →x (not 변수 x = 10)
  6. 가져오기: 가져오기 문자열 (따옴표 없이)

구문 대응 예시

; C-like (레거시)
함수 제곱(n) { 반환 n * n }
변수 결과 = 제곱(5)
출력값("결과: " + 문자열변환(결과))

; RPN (정식)
.제곱 복사 곱해 반환
5 @제곱 호출 →결과
"결과: " 결과 문자열변환 문자열연결 보여줘
끝

RPN 키워드 카테고리 (353개)

카테고리개수대표 키워드
스택/흐름18끝 복사 교환 호출 반환 점프 만약
산술17더해 빼 곱해 나눠 거듭제곱 루트
수학12사인 코사인 로그 무작위 팩토리얼
비교/논리12같다 크다 그리고 또는 참 거짓 모름
문자열12글자수 부분 포함 문자열변환
배열/맵10배열 길이 추가 꺼내 맵생성 맵넣어
파일/환경21읽기 쓰기 파일존재 현재경로 환경변수
TCP/소켓22TCP대기 소켓생성 소켓바인드 DNS질의
버퍼10버퍼생성 버퍼쓰기 버퍼읽기
20셀생성 셀연결 셀읽기 셀결정 셀근거
3진/트릿18삼진인코딩 비트곱 큐브생성
GUI16화면초기화 점찍기 사각형 원그리기
오디오22음초기화 음톤 음저장 MDCT순변환
AI텐서7삼진누산 삼진벡터 삼진합성곱
통계/벡터18합계 평균 벡터내적 행렬곱
동시성10스레드생성 뮤텍스 채널보내 비동기
프로세스/IPC20포크 프로세스띄워 시그널등록 파이프
WebSocket8WS업그레이드 WS읽기 WS쓰기
DOM11DOM생성 DOM붙이기 DOM이벤트
암호/인증9SHA256 서명 검증 로그인
블록체인5블록체인초기화 블록추가 블록해시
예외/제너레이터10던져 시도진입 코루틴생성 양보
타입/메모리/기타33타입 주소 할당 반영 가져오기

전환 규모 추정

작업파일 수난이도
컴파일러 보강1 (asm)높음 (어셈블리 수정)
자동 변환기1 (신규)중간 (파서+생성기)
libs/ 전환127대량 (자동+수동)
std/ 전환49대량
examples/ 전환8소량
3레이어 생성184자동화 가능
의미어 사전1중간
다국어 매핑3개국어중간
에이전트 패턴4023건대량 (자동)

관련 파일

파일역할
/Users/ef/CrownyOS/docs/HANSEON_RPN_SPEC.mdRPN 정식 스펙 v1.0
/Users/ef/CrownyOS/crownyc/hanseonc_std.asmRPN 컴파일러 소스
/Users/ef/CrownyOS/crownyc/hanseonc_std.toauRPN 컴파일러 바이너리
/Users/ef/CrownyOS/crownyc/hanseonc_high.cC-like 컴파일러 (레거시)
/Users/ef/CrownyOS/crownyc/libs/전환 대상 127개
/Users/ef/Downloads/CrownyTVM/std/전환 대상 49개
/Users/ef/CrownyOS/crownyc/examples/전환 대상 8개

완료된 작업

#9 hanseonc_rpn.c — C 기반 RPN 컴파일러 (2026-04-17 완료)

어셈블리(hanseonc_std.asm) 수정 대신 C 기반 신규 작성으로 전략 전환.

bash# 빌드
cc -O2 -o hanseonc_rpn hanseonc_rpn.c

# 사용
./hanseonc_rpn input.한선 > output.toau 2>/dev/null
./crownyc run output.toau

3가지 컴파일러 체제:

컴파일러문법용도
hanseonc_rpn순수 RPN (정식)신규 코드
hanseonc_highC-like (레거시)기존 184개 파일
hanseonc_stdRPN (자체호스팅)부트스트랩

다음 단계

  1. #10 변환기 개발 — C-like → RPN 자동 변환
  2. #14 의미어 사전 — @의미코드 체계 확립
  3. #11-12 파일 전환 — 자동 변환기로 184개 파일 RPN화