나는 몇 년 동안 프로그래밍을 해왔지만 여전히 시간이 오래 걸리는 한 가지 작업은 파서에 문법을 지정하는 것입니다.이 과도한 노력 후에도 내가 생각해 낸 문법이 좋은지 확신 할 수 없습니다 ( 합리적인 "좋은"수단으로).
문법을 지정하는 프로세스를 자동화하는 알고리즘이 있다고 기대하지는 않지만 현재 접근 방식의 많은 추측과 시행 착오를 제거하는 문제를 구조화하는 방법이 있기를 바랍니다.
나의 첫 생각은 파서에 대해 읽어야했고, 나는 이것의 일부를 해봤지만,이 주제에 관해 읽은 모든 것은 문법을 주어진 것 (또는 검사로 지정할 수있을 정도로 사소한)을 취하고, 이 문법을 파서로 번역하는 문제. 문법 문제를 먼저 지정하는 방법에 대한 직전의 문제에 관심이 있습니다.
나는 주로 구체적인 예제 모음 (양수와 음수)을 공식적으로 나타내는 문법 을 지정하는 문제에 관심이 있습니다. 이것은 새로운 구문 을 디자인하는 문제와 다릅니다 . 이 차이점을 지적한 Macneil에게 감사드립니다.
나는 문법과 구문의 차이점에 대해 정말로 감사 한 적이 없었지만 이제는 문법을 이해하기 시작하면서 문법을 구체화하는 문법을 지정하는 문제에 주로 관심이 있다고 말함으로써 첫 번째 설명을 선명하게 할 수있었습니다. 사전 정의 된 구문 : 제 경우에는이 구문의 기초가 일반적으로 긍정적이고 부정적인 예의 모음입니다.
구문 분석기에 문법이 어떻게 지정됩니까? 모범 사례, 설계 방법론 및 구문 분석기의 문법 지정에 대한 기타 유용한 정보를 설명하기위한 사실상의 표준 인 책이나 참조가 있습니까? 파서 문법을 읽을 때 어떤 점에 중점을 두어야합니까?