이 서문을 쓰려면 이런 종류의 지식이 필요합니다.이것은 모호한 문법입니까? 어떻게 해결해야합니까?
어쨌든 나는 문법이없는 문법을 개발하여 알레그라 표현의 구조를 설명하고 있으므로 CYK 구문 분석 알고리즘의 작동 방식을 스스로 가르쳐줍니다. 그러한 구조가 중위 어 대수식에서만 어떻게 작동하는지 이해하지만 "-"연산자의 단항 및 이진 정의를 처리 할 수있는 문법을 개발하는 방법을 이해할 수 없습니다. 참고로
여기 CNF의 (S는 시작 심볼이다) I 작성한 문법이다 :
S -> X
A -> OS
S -> LB
B -> SR
S -> KS
O -> +
O -> -
O -> *
O ->/
O ->^
K -> -
L -> (
R은 ->) -> KS 및 A -> OS
문제는 어떻게 알고리즘 파싱 CYK 앞서 S 중에서 결정 여부 시간을 알 수 있다는 것이다 "-"연산자를 만나면? 문법이 문맥에서 자유롭습니까? 그리고 가장 중요한 것은 프로그래밍 언어가 바이너리와 단항 빼기 기호 모두로 언어를 처리 할 수 있으므로 어떻게 합리적으로 해석해야합니까?
힌트는 바이너리가 항상 앞에 번호를 필요로하는 반면, 단항 문자는 시작 부분에 있거나 연산자가 선행한다는 것입니다. – nus