clike_to_rpn 6구문 무손실 변환 추가
개요
고수준 한선씨(.한선) → RPN(.rpn.한선) 변환기 tools/clike_to_rpn.py 에 누락 6구문 무손실 변환을 추가. 4상태 동시포팅 핵심 구간.⚠️ clike_to_rpn.py = Python 임시 브리지 — 순수 한선씨 트랜스파일러는 다음 단계.
무엇을 했나
추가 구문 (모두 왕복검증 통과):- 반복문 i 부터 A 까지 B { } → 라벨+작다+아니면점프+증가+점프
- 반복 항목 안에서 목록 { } → __목록/__길이/__색인 + 꺼내
- 탈출(break) → @루프끝 점프 / 계속(continue) → @루프시작 점프 (loop_stack 추적)
- 시도{}오류 e{} → @catch 시도 / 잡아 / @end 점프 / .catch →e
- 만약{}모르면{}아니면{} 3방향 → 복사 →__3way__ + -1 같다 분기
- 구조체+메서드 → @__skip 점프 / 맵생성 + DJB2 해시 필드 / 자기 hash 맵꺼내
- _split_preserving_strings 에 괄호/대괄호 깊이 추적 추가
- 사용자 정의 함수: @name 호출 + 본문 우회 점프(@__skip), 전방참조 사전스캔
- 구조체 생성자 호출 사람(...) → @사람 호출
검증 (무손실 = RPN출력 == hanseonc_high 직접실행 출력)
경로: 고수준 → clike_to_rpn → .rpn.한선 → hanseonc_rpn → crownyc runPASS 4/4: loop / try+모르면 / struct / combo(함수+if+while+배열)
관련 파일
- /Users/ef/CrownyOS/crownyc/tools/clike_to_rpn.py (수정)
- /Users/ef/CrownyOS/crownyc/tools/clike_to_rpn.py.pre.115233 (백업)
- 테스트: /tmp/{loop,try,struct,combo,edge}_high.한선 + *_conv.rpn.한선
잔여 이슈 (정직 보고)
- 탈출 in 중첩 만약 (반복문 내): hanseonc_high 자체 버그로 루프후속코드 미실행.
- 계속(continue) in 반복문/반복: 증가 단계 건너뜀 quirk(조건 재검사로 점프).
- 재귀 메서드: RPN 전역슬롯(9000+) 비재진입. 비재귀만 무손실.
- 동적 디스패치: 두 구조체 같은 메서드명 → 정적 단일후보만. 다형성 미지원.
- clike_to_rpn.py = Python 임시 브리지 (헌법상 외부의존성). 순수 한선씨 정본 미완.