kfind문서

CLI · 질의

질의 문법

질의는 공백으로 나뉜 atom과 선택적 품사 태그로 구성되며 compile 전에 완전한 문법 검증을 거칩니다.

형식 문법

공백은 atom 경계입니다. Atom은 태그가 붙은 bare text 또는 따옴표로 감싼 literal입니다. Backslash는 다음 Unicode scalar를 escape합니다.

빈 atom, 닫히지 않은 따옴표, 값이 없는 태그와 알 수 없는 태그는 compile 오류입니다.

query   = atom *(SP atom)
atom    = [pos-tag] (bare / quoted)
pos-tag = "n:" / "v:" / "adj:" / "lit:" / ...

atom과 태그

v:걷다는 동사 분석만, n:걷기는 명사 분석만 허용합니다. 태그가 없으면 전역 --pos 또는 auto가 적용됩니다.

query의 각 atom은 독립 분석과 program 집합을 가집니다. 같은 tag를 전체 구에 암묵적으로 전파하지 않습니다.

인용과 escape

"로그 인"은 공백을 포함한 하나의 literal atom입니다. "\는 따옴표와 backslash를 문자로 보존합니다.

형태 확장이 필요한 표제어를 따옴표로 감싸는 것은 literal mode와 같지 않습니다. 인용은 atom 경계만 바꾸고 expansion은 option이 결정합니다.

kfind 'v:걷다 "로그 인"' src
kfind --literal 'key\:value' config