한선씨 한 벌의 소스는 두 갈래 길로 컴파일된다. 고수준 hanseonc_high(4,380줄)와 RPN 정통 hanseonc_std. 둘 다 같은 목적지에 도착한다: TOAU 기계어. crownyc VM이 그걸 실행한다.
지금 프로덕션 표준이자 실서비스가 다니는 길이다.
한선씨 헌법이 가리키는 길이다. RPN(역폴란드 표기)은 ISA729 opcode와 1:1 대응한다. "한선씨 = 한국어 RPN = ISA729 1:1" — 이것이 설계의 정본.
현실은 진화 중이다. 정통 어셈블리(hanseonc_std.asm, 1765줄)는 루트·거듭제곱·설정·꺼내·크거나같다·가져오기 6개가 미구현 상태다. 그런데 정통의 C판 구현(hanseonc_rpn.c)은 이미 작동한다. 생태계 빌드가 지금 이 버전으로 돌아간다.
극복의 궤적: ".asm은 정지, .c는 진행" — 정통이 부분 무장 상태다. 전멸이 아니다. hanseonc_rpn.c 안에 정도(正道)가 살아 있고, 그 6개 함수들을 정통 어셈블리에 역이식하는 작업이 이미 진행 중이다.
두 길이 모두 동일한 TOAU를 생산한다는 점이 핵심이다. 고수준으로 짠 코드도 정통과 같은 4상균형3진(T/O/A/U) 기계어가 된다. 문법은 둘, 기계어는 하나.
음(U, -0)의 역할: 단순한 '띄어쓰기'가 아니라, 화이트홀(옴)과 블랙홀(음)을 나누는 경계다. 옴(O, 0)은 "지금 여기 가시선의 상태", 음(U, -0)은 "다음이 어딘지 아직 모르는 비가시선 영역" — 코드에서는 연산자 사이의 구분으로 나타나지만, 우주론적으로는 그 경계 자체가 정보의 진입로다.
공통 토대:
초판 집필 중, 한선씨는 "정수만 쓴다"는 한계가 있다고 생각했다. 그런데 테슬라의 접근(스케일된 정수, 고정소수점)을 참고해 '고정소수점.한선' 라이브러리를 실제로 만들고 검증했다. 스케일 1,000(소수 3자리), 나눗셈/루트/사인/코사인/문자열 변환까지, 최대오차 0.001.
정수 연산이 부동소수점보다 정확하고 빠르다는 걸 이미 알고 넘어가고 있다. 한계가 아니라 깨달음이다.
지금 서비스를 만든다 → 고수준 hanseonc_high. 프로덕션 표준이고 큰길이다.
새 코드의 정본·정통 정렬 → RPN 정통으로 학습, 빌드는 hanseonc_rpn.c가 받친다.
정통화 다리: clike_to_rpn(고수준 → RPN 변환기)이 두 길을 이어준다.
정도(正道)의 완전 복원은 hanseonc_std.asm의 6개 함수 구현으로 온다. 그때 "정통과 고수준의 완전한 병존" 체계가 완성된다. 지금은 진정하게 "두 길, 부분 개통 중, 다음 파도 대기" 상태다.
컴파일 시 주의: stderr를 분리하지 않으면 기계어에 에러메시지가 섞인다. > out.toau (절대 2>&1 금지).
첫 번째 책은 선물이에요. 가입하면 100맘을 드리니까, 두 번째 책부터 자유롭게 읽을 수 있어요. 친구를 추천하면 50맘도 생겨요.