문제

나는이 머리를 감싸는 데 어려움을 겪고 있으며 변화를 이해하는 데 도움이 필요합니다. 왜 문제가되는지 이해할 수없는 문법이 있습니다. 문법을 부착 할 수는 있지만 이것이 실제로 어떻게 작동하는지 배우고 싶습니다.

첫 번째 질문, Mgrammer는 어떤 유형의 파서를 만들까요? 내가 이해할 수 있듯이 교대 감소 및 감소 충돌 감소는 파서의 종류에 따라 다릅니다.

두 번째 질문, 절제 감소 충돌과 교대가 갈등을 줄이는 것은 무엇을 의미 하는가?

어휘 분석의 기본 사항과 공식 문법의 기본 사항을 알고 있지만 언어 디자인으로 작업 한 지 오래되었습니다. 여기서 도움이 많이 적용됩니다.

업데이트:

나는 공백의 중요한 언어로 일하고 있으며 Mgrammar 에서이 작업을 수행 할 가능성에 대해 궁금합니다. 모호성을 해결하려면 머리가 필요합니까?

도움이 되었습니까?

해결책

Simple example:

if cond
    if cond2
        cmd
    else
        cmd2

질문 : 어디에 else 에 속하는? 인간의 눈을 위해, 들여 쓰기는 "두 번째로 if"그러나 그것은 컴퓨터에 아무것도 의미하지 않습니다 ( 파이썬 ;)). 이것은 교대/갈등을 줄입니다.

우아한 해결책은 치료하는 것입니다 else 가장 높은 우선 순위의 왼쪽 결합 연산자로서 if).

충돌을 줄이고 줄이십시오 모호함입니다. 나는 좋은 예제가 없지만 문법에 하나의 토큰이 동시에 두 가지 규칙을 줄일 수 있고 어떤 규칙이 우선 해야하는지 결정할 추가 정보가 없다는 것을 의미합니다.

편집] 들소 문서에는 다음에 있습니다 감소/축소에 대한 예.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top