5

현재 스칼라에서 작은 컴파일러를 구현 중이고 컨텍스트 분석을 위해 구성 요소를 수행하는 동안 을 패키지 scala.util.parsing.ast (스칼라 2.9 RC 사용)에서 발견했습니다. 이것은 구문 분석하는 동안 이름 바인딩을 사용하도록 문서화되었습니다. 그것은 매우 흥미로웠다. 그리고 나는 많은 것을 인터넷 검색하고 있었다. 그러나 나는 아직도 그것을 사용하는 방법을 전혀 모른다. 물론 추상적 인 구문을 Binders에서 파생시킬 수는 있지만 그곳에서 어떻게 진행하는지는 알지 못합니다. 그물에 사용법의 예가 있습니까?scala.util.parsing.ast.Binders는 어떻게 사용 되나요?

답변

3

좀 더 자세한 내용이있는 문서의 개발 버전 인 것으로 보이는 this page이 조금 있습니다. 불행하게도이 문서의 온라인 버전 (원본 저장소 외부)을 찾을 수 없었습니다.

그러나이 라이브러리에서 찾고있는 것을 찾을 수 있을지 확신하지는 않습니다. 이름 해석은 다소 섬세한 일이며 파싱하는 동안 의심스러운 생각처럼 냄새가납니다. 이 라이브러리의 문서 자체는 이름 확인이 상대적으로 단순한 언어에만 적합하며 그렇지 않은 경우 확장되지 않을 수도 있음을 강조합니다. 게다가 Scala 저장소의 구문 분석 예제 중이 클래스를 사용하지 않습니다.

필자는이 미지의 영역을 조심스럽게 피하고 별도의 사후 파싱 단계에서 바인딩 분석을 설계합니다.

+0

를 참조하십시오. 사실 '바인더'를 사용하는 라이브러리를 찾을 수 없다는 사실은 처음에는 조금 의심 스러웠습니다. 너무 흥미 롭습니다. –

관련 문제