← 목록
기타 2026-05-22 6KB 읽기 6분

크라우니코드 학습DB 일원화 준비 — 호환성·정합성 체크

개요

크라우니코드가 크라우니기계어(TOAU/ISA729)와 완전 호환되도록, 분산된 3개 학습DB의 호환성·정합성을 점검하고 단일 DB로 통합하는 준비 작업. 실제 머지 직전 단계까지 완료.

무엇을 했는지

1단계 — 정합성 체크 (각 DB 형식 검증)

3개 학습DB를 전수조사. intent|han|코드 형식, 중괄호 짝, 파편/미완성/영어누출/옛표기 분류.

DB위치전체 패턴형식합격합격률
~/.crownycode/학습.dat32,8347,85923.9%
CrownyOSCrownyOS/crownyc/data/crownycode/패턴/학습.dat10,4402,75326.4%
주DBCrownyTVM/crownycode/data/all_patterns.dat42,24215,78237.4%
합계85,51626,39430.9%
핵심 발견 — 주DB 형식 손상: 주DB는 1,174,202줄이지만 실제 패턴은 42,242개. 코드 안 줄바꿈이 리터럴 개행으로 저장되어 한 패턴이 평균 ~27줄로 펼쳐져 있었음. intent|han| 시작줄 기준 재조립 후 정상 분석 가능.

2단계 — 호환성 매트릭스 (한선씨 ↔ ISA729)

ISA729 사양(729슬롯/223정의)에서 opcode 한글명 216개 추출 + hanseonc_high.c 키워드 병합 → 588개 후보. 변수명/함수명/인자명 3개 위치에서 실제 컴파일 테스트.

실제 예약어 30개 (식별자로 사용 불가):

가져오기 계속 구조체 그리고 끝선택 끝회로 대입 동안 또는 레지스터
만약 멈춰 메서드 모르면 반복 반복끝 반복문 반환 변수 선택
시도 신호 아니면 오류 인스턴스 입출력 탈출 함수 혹시 회로

학습DB에서 예약어를 식별자로 오용한 빈도:

예약어오용 건수충돌 자리ISA729 대응
오류93함수명/변수명시도-오류 예외블록
계속10변수명continue
신호6변수명하드웨어 라이브러리
반복6변수명for-each
시도4변수명ENTER_TRY
메서드4인자명CALL_METHOD
레지스터4변수명하드웨어
인스턴스1변수명

3단계 — 정규화 매핑 정의

규칙 파일: CrownyTVM/std/정규화규칙.dat

A. 옛표기 → 신표기 (__내장__ opcode 번호 → 키워드):

옛표기신표기건수
__내장__(30, 길이(14,468
__내장__(33, 문자열변환(15,478
__내장__(38, 추가(11,662
__내장__(35, 분리(1,695
__내장__(37, 시작하는가(730
__내장__(39, 설정(411
__sys__("경로존재", 파일존재(
__내장__(36, (의미 모호 — 폐기)960
B. 식별자 충돌 치환: 오류→오류값, 시도→시도값, 메서드→메서드명, 신호→신호값 등.

4단계 — 일원화 시뮬레이션

3개 DB 병합 → 정규화 → 정제 → 중복제거 파이프라인 (실제 쓰기 없는 미리보기):

[1] 병합              85,408 패턴
[2] 형식 유효         72,810   (-12,598 잘못된 형식)
[3] 옛표기 정규화     69,101   (-3,709 폐기: __내장__36/미지원)
[4] 식별자 충돌 치환  완료
[5] 파편/미완성 제거  27,963   (-41,138)
[6] 완전중복 제거      8,918   (-19,045)
[7] intent 일원화      6,089   (-2,829)

최종: 85,408 → 6,089 고유 패턴 (92.9% 정제)

핵심 결론

  1. 분산 DB의 92.9%가 잡음: 파편/미완성(48%), 중복(22%), 잘못된 형식(15%).
진짜 자산은 약 6,089개 고유 패턴.
  1. 주DB 형식 손상: 리터럴 개행 문제 — 일원화 시 intent|han| 재조립 필수.
  2. 예약어 충돌: 오류 93건이 최대 — ISA729 opcode 한글명을 식별자로 쓴 패턴.
정규화 규칙으로 자동 치환 가능.
  1. 컴파일률은 여전히 낮음(~13-20%): 정규화 후에도 라이브러리 의존(분리/합치기
문자열.한선 가져오기 필요), 깨진 코드 잔재가 남음. 일원화 후 컴파일 검증 통과분만 "검증완료" 등급으로 별도 표시 필요.

관련 파일 경로

파일용도
CrownyTVM/std/정합성체커.한선패턴 분류 로직 (한선씨 명세)
CrownyTVM/std/정규화규칙.dat옛→신 표기 + 식별자 충돌 매핑
/tmp/정합성_분석.shDB별 정합성 통계
/tmp/주DB_재조립.sh주DB 멀티라인 → 단일줄 재조립
/tmp/예약어_위치별.sh3자리 예약어 판정
/tmp/일원화_시뮬.sh일원화 파이프라인 시뮬레이션
~/.crownycode/backup-20260522/3개 DB 원본 백업 (58MB)
/tmp/일원화_작업/final.dat일원화 결과 미리보기 (6,089 패턴)

잔여 이슈 (다음 세션 — 실제 일원화)

  1. 실제 머지 실행: final.dat을 검증 후 단일 정본 DB로 승격
  2. 컴파일 등급제: 각 패턴에 검증완료/형식합격/미검증 등급 부여
intent|han|등급|코드 4필드 형식으로 확장 검토
  1. 라이브러리 의존 명시: 분리/합치기 등 쓰는 패턴은 가져오기 자동 삽입
  2. __내장__(36) 960건 재검토: 폐기 전 의미 복원 가능한지 개별 확인
  3. 에이전트 재학습: 일원화 DB로 agent.sh sync → 직접매칭률 재측정
  4. 3곳 동기화 정책: 일원화 후 홈/CrownyOS/주DB를 심볼릭 링크 또는 단방향 sync로 일원화

작업 통계

  • 점검 대상: 3개 DB, 85,516 패턴, 원본 58MB
  • 산출물: 정규화 규칙 17건, 일원화 미리보기 6,089 패턴
  • 예약어 확정: ISA729 216 + hanseonc 키워드 → 실제 30개
  • 방법론: 한선씨 명세 + bash/awk 분석 도구 + 실제 hanseonc_high 컴파일 검증