명세 · 질의
질의 언어
문법
질의는 단일 atom, 공백으로 연결한 phrase 또는 |로 연결한 disjunction입니다. 따옴표로 묶은 atom 안의 공백과 |는 문자열 일부입니다.
Unicode normalization과 형태 expansion은 lexer 이후 컴파일 옵션으로 적용합니다.
query = atom / phrase / disjunction
phrase = atom 1*(WS atom)
disjunction = atom 1*(OWS "|" OWS atom)
atom 태그
n, pro, num, v, adj, det, adv, j, intj, lit 뒤의 colon은 품사 태그를 나타냅니다. 태그는 해당 atom에만 적용됩니다.
전역 POS와 구체 atom 태그가 다르면 컴파일 오류가 발생합니다.
대안
| 앞뒤 공백은 선택 사항이며, 각 대안은 정확히 하나의 atom입니다. Phrase와 disjunction은 한 질의에서 섞을 수 없습니다.
Literal |는 \| 또는 "|"로 작성합니다. CLI 셸에서는 질의 전체를 따옴표로 묶습니다.
구문 오류
빈 질의, 닫히지 않은 따옴표, 마지막 backslash, 알 수 없는 태그, 빈 태그 본문, 피연산자 없는 |와 phrase 혼합을 거부합니다.
오류에는 byte 위치와 원인을 포함합니다. 일부만 컴파일된 plan은 실행하지 않습니다.