명세 · 질의
질의 언어
문법
질의는 atom, 순서대로 연결한 구, | 대안과 괄호 그룹으로 구성합니다. 따옴표로 묶은 atom 안의 공백과 |는 문자열 일부입니다.
Unicode normalization과 형태 expansion은 lexer 이후 컴파일 옵션으로 적용합니다.
query = alternative
alternative = sequence *(OWS "|" OWS sequence)
sequence = primary *(OWS primary)
primary = atom / "(" OWS alternative OWS ")"
atom 태그
n, pro, num, v, adj, det, adv, j, intj, lit 뒤의 colon은 품사 태그를 나타냅니다. 태그는 해당 atom에만 적용됩니다.
전역 POS와 구체 atom 태그가 다르면 컴파일 오류가 발생합니다.
대안
| 앞뒤 공백은 선택 사항입니다. A B | C D는 두 구 중 하나를 찾고 (A | B) C는 괄호 안 대안을 뒤의 atom과 결합합니다. 괄호를 중첩할 수 있으며, 완성 경로는 최대 32개입니다.
Literal |, (, )는 escape하거나 인용합니다. CLI 셸에서는 질의 전체를 따옴표로 묶습니다.
구문 오류
빈 질의, 닫히지 않은 따옴표, 마지막 backslash, 알 수 없는 태그, 빈 태그 본문, 피연산자 없는 |, 빈 그룹과 짝이 맞지 않는 괄호를 거부합니다.
오류에는 byte 위치와 원인을 포함합니다. 일부만 컴파일된 plan은 실행하지 않습니다.