← 목록

한선씨 구현능력 고도화 — Phase 1/2/3/7 완료

개요

한선씨(Hanseonsi)의 구현 능력 7개 영역 중 기반 4개(시스템 IPC, WebSocket, DOM, 에이전트 키워드) 고도화 완료. 반복작업 방지 목적 — opcode 기반이 먼저 완성되어야 그 위 예제/패턴이 의미를 가짐.

감사 결과 (시작 전 상태)

자산수량
VM 내장함수318개
CrownyOS libs/106개 .한선
CrownyTVM std/73개 .한선
크라우니코드 패턴DB2,836,918줄
학습DB3,914 패턴
에이전트 키워드8,947 엔트리
약점 (opcode 수준):

Phase 1: 시스템 IPC opcode (760~779)

crownyc.c에 POSIX 시스템 프로그래밍 20개 opcode 신규 추가.

opcode한선씨 키워드POSIX 대응
760포크fork()
761프로세스실행system()
762프로세스대기waitpid()
763프로세스킬kill()
764내PIDgetpid()
765프로세스나감_exit()
766시그널등록signal()
767시그널보내raise()
768시그널마스크sigprocmask()
769파이프생성pipe()
770파이프읽기read(fd)
771파이프쓰기write(fd)
772파이프닫기close(fd)
773PTY열기forkpty()
774PTY읽기read(마스터fd)
775PTY쓰기write(마스터fd)
776PTY크기ioctl(TIOCSWINSZ)
777프로세스띄워fork+execl
778프로세스상태waitpid(WNOHANG)
779환경설정setenv()
프로세스.한선 v2 (기존 shell 기반 유지 + 네이티브 API 11개 추가): 내아이디, 띄우기, 기다림, 상태확인, 신호보내, 정상종료, 즉시종료, 시그널무시, 시그널기본, 환경변수쓰기

Phase 2: WebSocket 네이티브 (780~787)

RFC 6455 프레이밍 및 핸드셰이크를 VM 네이티브로 구현.

opcode키워드기능
780WS업그레이드HTTP Upgrade → WebSocket 전환
781WS읽기프레임 디코딩 + 마스킹 해제
782WS쓰기텍스트 프레임 인코딩
783WS닫기Close 프레임
784WS핑 / 785 WS퐁Keepalive
786WS바이너리Binary frame
787WS상태poll 기반 연결 상태
이전: 웹소켓.한선이 순수 한선씨로 TCP 위 프레이밍 구현 → 느림 이후: VM opcode 8개로 네이티브 처리 → C 속도

Phase 3: DOM 라이브 바인딩 (790~799)

opcode키워드브라우저 DOM API
790DOM생성document.createElement
791DOM텍스트createTextNode
792DOM붙이기appendChild
793DOM속성setAttribute
794DOM조회getElementById
795DOM이벤트addEventListener
796DOM삭제element.remove
797DOM텍스트설정textContent
798DOMHTMLinnerHTML
799DOM질의querySelector
파생 파일: VM 네이티브: 가상 노드 ID 추적 (테스트/검증용). 실제 DOM 조작은 WASM+브라우저에서.

Phase 7: 에이전트 키워드 + 패턴 확장

키워드 추가: 52개 (8,947 → 8,999)

패턴 등록: 8개 실전 예제 학습DB에 추가

능력 변화

영역감사 시완료 후
시스템 IPC/fork/signal/PTY★☆☆☆☆★★★★☆
WebSocket 저수준★★☆☆☆★★★★☆
브라우저 DOM 바인딩★☆☆☆☆★★★★☆
에이전트 키워드·패턴★★★★☆★★★★★

관련 파일

잔여 이슈

  1. VM DOM 스텁 버그: VM 네이티브 모드에서 DOM생성이 -1 반환 (브라우저에서는 WASM+JS glue로 정상 동작). 원인 추적 필요.
  2. wasm_emit.c 확장: DOM import 10개를 WASM 섹션에 추가 (섹션 크기 재계산 필요). 현재 JS glue만 완성.
  3. SHA1+Base64: WS 핸드셰이크의 Sec-WebSocket-Accept가 에코 방식. RFC 6455 준수 위해 SHA1 필요.

다음 단계 (Phase 4~6)

opcode 기반 완성 → 예제/패턴 작성 단계: