hanseonc_high Phase 1-3: 컴파일러 강화 + 라이브러리 4종 + 의미코드 832개
개요
hanseonc_high 고수준 컴파일러에 접근제어·제네릭·메서드 수정을 가하고, 프론트엔드 대응 라이브러리 4종을 신규 작성하고, 의미코드 사전을 88→832개로 확장한 작업.
Phase 1 — 컴파일러 수정 (hanseonc_high.c)
1-1. 메서드 인자 스택 순서 수정
- 문제:
사람.인사("안녕")호출 시 인자가 역순으로 전달 - 수정:
parse_method_call에서 스택 순서 보정
1-2. 제네릭 기본 지원
구조체 박스<T> { 값 }형태의<T, U>파싱 수락skip_type_params()함수 추가 — 타입 파라미터를 건너뛰되 무시 (동적 타입이라 런타임 영향 없음)
1-3. 접근제어 (공개/비공개)
구조체 계좌 { 공개 주인, 비공개 잔액 }문법메서드 비공개 계좌.로그()— 메서드 접근제어StructDef에field_private[],method_private[]추가- 비공개 필드를 메서드 외부에서 접근하면
[경고]출력 current_method_si추적으로 메서드 본문 내부 접근 허용
Phase 2 — 라이브러리 4종 신규 (libs/ 59→63)
2-1. 상태관리.한선 (Redux/Pinia 대응)
- API:
저장소만들기,상태설정,상태읽기,상태있는가,상태지우기,상태버전,되돌리기,상태비우기 - 이력 스택 기반 되돌리기(undo) 지원
- 알려진 제한:
상태비우기후상태있는가가 VM 해시맵 한계로 부정확
2-2. 폼.한선 (React Hook Form 대응)
- 규칙 문자열 기반:
["필수", "이메일", "길이:2:20", "숫자:0:120", "SQL안전", "경로안전"] - API:
폼만들기,필드선언,값설정,값읽기,폼검증,폼유효한가,오류목록,폼초기화 - 한국어 조사 오류 메시지
2-3. 클라이언트라우터.한선 (SPA 라우팅)
- 해시/히스토리 모드 선택
- 동적 파라미터:
/글/:아이디,/사용자/:이름/글 - 이력 스택, 뒤로가기/앞으로가기,
대체(replaceState) - API:
클라라우터생성,경로등록,이동,대체,뒤로,앞으로,현재경로,URL로,매개변수
2-4. HTTP인터셉터.한선 (axios interceptors 대응)
- 요청훅:
헤더추가,쿼리추가,본문로깅 - 응답훅:
상태검사,본문로깅,지연재시도 - API:
인터셉터생성,요청훅추가,응답훅추가,요청통과,응답통과,초기화 - 예약어 충돌 해결:
메서드→동작,시도→횟수,오류→잘못목록
Phase 3 — 의미코드 한글화 (CROWNY_DICT.md 88→832)
- 102개 라이브러리에서 공개 함수 자동 추출 (bash 스크립트)
- 파일별 최대 8개씩
@의미코드 = 한글함수명엔트리 생성 - 섹션 8 "라이브러리 함수" 신설
- 수작업 0줄, 규칙기반 생성 757줄
예약어 충돌 기록 (다른 세션 참조용)
식별자로 사용 불가한 한선씨 예약어:
오류— try/catch 관련시도— try 관련메서드— 메서드 선언 키워드전이— 상태 전이 키워드 (상태이동사용)가져오기— import 키워드
관련 파일
- 컴파일러:
/Users/ef/CrownyOS/crownyc/hanseonc_high.c(5곳 수정) - 라이브러리:
/Users/ef/CrownyOS/crownyc/libs/{상태관리,폼,클라이언트라우터,HTTP인터셉터}.한선 - 테스트:
/Users/ef/CrownyOS/crownyc/test_{access,state,form,croute,intercept}.한선 - 의미코드:
/Users/ef/CrownyOS/crownyc/pkg/docs/CROWNY_DICT.md
잔여 이슈
- VM 해시맵에 "키 없음"과 0 구분 불가 →
상태비우기후상태있는가부정확 - 접근제어는 컴파일 타임 경고만 (런타임 차단 아님) — 동적 타입 한계
- 제네릭
<T>는 파싱만 수락, 타입 검사 없음 (동적 타입이라 불필요)