hanseonc_high 컴파일러에 객체지향 기본 3종(메서드 버그수정, 제네릭 수락, 공개/비공개 접근제어)을 추가하고, SPA/폼/상태관리 라이브러리 4종을 신규 작성, 크라우니사전을 88→832개로 확장한 세션.
p.인사("안녕") 호출 시 자기에 인자 문자열이, 말에 객체가 바인딩되어 쓰레기값 출력 (-2147483647: 1190000).args → 자기 순으로 push, 정의부는 frame_enter가 역순 pop → params[0]=자기가 말 위치를 차지.hanseonc_high.c:1749-1773 — 인자 파싱 전에 자기(객체)를 먼저 push. 스택 순서 [자기, arg1, arg2, ...] 확보.함수 최대<T>, 구조체 상자<T>, 메서드 꺼내기<T>() 수락.skip_type_params() 헬퍼 추가 — <~> 사이를 depth counter로 스킵 (중첩 <T, 목록<U>> 지원).static void skip_type_params(void); 추가.StructDef에 field_private[MAX_FIELDS], method_private[MAX_FIELDS] 추가.구조체 계좌 { 공개 주인, 비공개 잔액 } 수식어 수용.메서드 비공개 계좌.로그() 수식어 수용.current_method_si 추적 — 메서드 본문 진입/이탈 시 set/restore.| 라이브러리 | 주요 API |
|---|---|
상태관리.한선 | 저장소만들기, 상태설정/읽기, 되돌리기, 상태버전, 이력길이 |
폼.한선 | 폼만들기, 필드선언(규칙배열), 값설정, 폼검증, 오류목록, 유효한가 |
클라이언트라우터.한선 | 클라라우터생성, 경로등록, 이동/대체/뒤로/앞으로, 현재매칭, 파라미터 |
HTTP인터셉터.한선 | 인터셉터생성, 요청/응답훅추가, 요청통과, 응답통과, 훅개수 |
"필수", "이메일", "길이:2:20", "숫자:0:120", "SQL안전").CROWNY_DICT.md: 182줄 → 948줄.@의미코드: 88 → 832 (+744).libs/*.한선 102개 라이브러리에서 공개함수 최대 8개씩 생성 → 섹션 8 "라이브러리 함수"./Users/ef/CrownyOS/crownyc/hanseonc_high.c — 컴파일러 수정 5곳/Users/ef/CrownyOS/crownyc/libs/상태관리.한선 — 신규/Users/ef/CrownyOS/crownyc/libs/폼.한선 — 신규/Users/ef/CrownyOS/crownyc/libs/클라이언트라우터.한선 — 신규/Users/ef/CrownyOS/crownyc/libs/HTTP인터셉터.한선 — 신규/Users/ef/CrownyOS/crownyc/pkg/docs/CROWNY_DICT.md — 확장/Users/ef/CrownyOS/crownyc/test_method.한선, test_generic.한선, test_access.한선, test_state.한선, test_form.한선, test_croute.한선, test_intercept.한선 — 테스트 7종식별자(변수명/파라미터/함수명)로 쓸 수 없음:
오류 — TOK_CATCH (try/catch)시도 — TOK_TRY메서드 — TOK_METHOD전이 — 예약어 (상태이동으로 대체)가져오기 — 모듈 임포트오류목록, HTTP동작 등).상태비우기 후 상태있는가 가 부정확 — VM 해시맵이 이전 버킷 유지. 한선씨 맵은 "키 없음"을 값 0과 구분 못함. 워크어라운드: 별도 sentinel 값 사용.자기.잔액 = 값 미지원 — 별도 기능 필요 (다음 Phase 후보).arr[i][j] 미지원 — 중간변수 필요. 파서 확장 후보.