내부 구조 · 실행
실행 파이프라인
컴파일 단계
Lexer가 질의 atom과 태그를 만들고 normalization이 canonical variant를 준비합니다. Lexicon은 atom별 품사 분석과 교체 class를 반환합니다.
Generator는 활용·파생 표면형을 긴 문자열로 모두 보관하지 않습니다. anchor, core, suffix 전이와 구조 조건을 가진 CandidateProgram으로 변환합니다.
검색 단계
프로그램의 anchor를 Aho-Corasick automaton에 넣고 원문의 각 chunk를 한 번 검색합니다. Anchor가 없는 byte 위치에는 형태 분석이나 구조 graph를 만들지 않습니다.
Chunk가 겹치는 범위는 가장 긴 anchor와 phrase 조건을 수용할 수 있어야 합니다. 검색 결과는 원문 offset으로 환산합니다.
검증 단계
Anchor 일치가 발생하면 연결된 프로그램만 실행합니다. Verifier가 core, 조사·어미 상태, boundary와 선택적 structural constraint를 순서대로 확인합니다.
Compact graph는 해당 token과 인접 context만 준비합니다. Node·context 상한을 넘으면 constraint unavailable 오류를 반환하며 단순 경계로 대체하지 않습니다.
출력 단계
승인된 atom span을 phrase matcher가 연결하고 중복·겹침 정책을 적용합니다. 최종 일치는 원문 좌표와 모든 analysis origin을 유지합니다.
CLI 계층은 일치 정보를 원문의 행·열과 출력 schema로 변환합니다. Library matcher는 파일과 인코딩을 처리하지 않습니다.