영어 "if x > 0 print x" ┐
한글 "만약 x > 0 출력값 x" ├→ 동일 IR [@만약, x, >, 0, @출력, x]
일본 "もし x > 0 表示 x" │ (4개국어 완벽 수렴)
중국 "如果 x > 0 打印 x" ┘
↓ 역IR화
Python: if x > 0 print x
JS: if x > 0 console.log x
Rust: if x > 0 println! x
한선씨: 만약 x > 0 출력값 x
["@만약", [조건], [본문]] 같은 구조 IR을 4언어로 렌더:
python# Python
if x > 0 :
return x
javascript// JS/Rust
if (x > 0) {
return x;
}
# 한선씨
만약 (x > 0) {
반환 x
}
| 파일 | 역할 |
|---|---|
의미IR코드생성기.한선 | 구조 IR → 7개 언어 렌더. 코드생성(IR, 언어), 블록생성, 언어프로파일 |
의미내장함수.한선 | 한선씨 내장함수 52개 × 7언어 등록 (I/O, 문자열, 수학, 제어, 선언, 3진논리, 네트워크, 맵, 에러, 시간) |
의미자연어.한선 | 자연어/프로그램 텍스트 → IR 토큰. 토큰화, IR토큰화, 역IR화 |
의미품질.한선 | 사전 왕복, 벡터 분포/충돌, 그래프 고아 자동 검증 |
전처리기 문자열 리터럴 인식 (hanseonc_high.c:294-313):
"가져오기" 문자열 데이터가 import 명령으로 오인식 → 파서 폭발preprocess_imports()가 주석만 무시, 문자열 리터럴은 무시 안 함"가 있으면 skip (문자열 내부 판정)찾기/역검색에서 왕복 검증 추가. 언어+표면어 → 코드 → 언어+코드 → 다시 표면어?사전 왕복: 235 통과 / 8 실패 (97% 건전성)
벡터 분포: T=8 O=10 A=9 / 27 (균형)
벡터 충돌: 0 (52코드 전부 고유)
67 → 72 (+5 이번 세션: IR코드생성기, 내장함수, 자연어, 품질, + 기존 의미사전 확장)
이번 세션까지 한국어 작업 우선 단계 완료. 앞으로 외국어(영/중/일) 작업 시 지금의 IR/사전/벡터를 기반으로 확장:
의미내장함수.한선에 일괄등록 한 번