크라우니워드프로세서 — 자동교정.한선
개요
크라우니워드프로세서 기초도구 시리즈의 "자동교정" 도메인을 완전 한선씨(hanseonc_high)로 작성. 임포트 없이 자기완결.무엇을 했는지
/Users/ef/crowny-word/도구/자동교정.한선작성 (16개 공개 함수 + 보조 헬퍼).- 교정테이블기본/교정추가/교정제거/교정조회 — 평면 배열
[키0,값0,키1,값1,...]기반 테이블(맵 미사용,길이(맵)항상 0 함정 회피).교정추가는 기존 키면설정(arr,i,v)로 덮어쓰기, 신규면 append. - 단어끝교정 — 텍스트 끝(또는 트레일링 구분자 앞)의 직전 단어를 추출해 테이블 조회 후 교정.
- 문장첫대문자 — 문장부호(
./!/?) 이후 다음 알파벳 소문자를 대문자화(공백은 대기 유지, 이미 대문자/한글은 대기 해제). - 스마트따옴표 —
"/'를 홀짝 카운터로 여는/닫는 굽은따옴표(U+2018~201D)로 치환. - 스마트대시 —
--→ 엠대시(U+2014). - URL감지/이메일감지 —
[시작,끝]범위쌍 평면배열 반환(스캔 기반, http/https/www., local@domain.tld 휴리스틱). - 이중공백정리 — 연속 스페이스만 축약(탭/개행 불변).
- 교정로그추가/조회, 직전교정취소(로그 최근 항목으로 원복), 로그마지막제거(보조) — 로그 항목
"원본|교정|위치"문자열 직렬화. - 교정테이블직렬화/역직렬화 —
"키=>값"줄바꿈 구분 포맷. 검색치환.한선에서매치있나/검색첫/치환전부/소문자화헬퍼를 이식(복사+적응)해 재사용.
검증
cd /Users/ef/CrownyOS/crownyc
./hanseonc_high /Users/ef/crowny-word/도구/자동교정.한선 > /tmp/자동교정.toau 2>/tmp/자동교정.err
./crownyc run /tmp/자동교정.toau
결과: 검사: PASS 28/28 (자체 assert 28건, 1회 컴파일에 전부 통과).크라우니코드: lookup/search "자동교정"·"스마트따옴표" 2회 조회 MISS(학습DB 미보유) / 직접 생성 16개 함수(+보조) / learn add 3건(스마트따옴표·단어끝교정·교정추가덮어쓰기).
관련 파일
/Users/ef/crowny-word/도구/자동교정.한선(신규)- 이식 원본:
/Users/ef/crowny-word/도구/검색치환.한선
잔여 이슈
- URL/이메일 감지는 단순 휴리스틱(공백 종료 기준) — 문장부호 트레일링(
.,,,))이 URL 끝에 붙는 경우 미분리. - 스마트따옴표는 컨텍스트(앞뒤 공백) 대신 홀짝 카운터 방식 — 텍스트 중간에 따옴표가 열림 상태로 끊기면(홀수개) 이후 문서 전체가 뒤바뀔 수 있음.
- 교정로그/테이블 직렬화는 값에
|,=>,\n이 없다고 가정(이스케이프 미구현) — 명세 범위 내 단순 구분자 방식으로 처리.