2017-12-17 16 views
4

menhir에서 사용하지 않은 우선 순위 경고를 억제 할 수 있습니까?모듈러 파서 사양에서 "결코 유용하지 않은"선행 경고를 표시하지 않습니까?

배경 :

내가 몇 가지 규칙을 핵심 파서 Lib.mly이 별도로, Lib.mly에서 정의를 사용하여 추가 파서 (A.mly, B.mly, ...)의 호스트. 모든 언어에 대해 단일 렉서 사용을 지원하려면 모든 토큰이 Lib.mly에 정의되어 있으며 _tagsexternal_tokens(Lib) 주석을 사용하고 myocamlbuild.ml을 확장하여 사용하지 않은 토큰 경고를 억제하고 --unused-tokens을 사용하면 큰 도움이됩니다. 이은 (는) 자기 실제로 해결하려는 다른 경고를 볼 수 있도록

File "parsers/ParserLib.mly", line 126, characters 0-9:      
Warning: the precedence level assigned to FIX is never useful.    

: 그러나, 나는 여전히 양식의 많은 경고를 얻을. 연산자의 여러 부분 집합은 다양한 언어로 사용되므로 적절하게 순서를 지정하는 단일 "전역"우선 순위가 있어야합니다. 모든 팁 주셔서 감사! 이것은 당신이 검색하는 있지만 다음 두 가지 옵션이 유용 할 수 있습니다 어떤 경우

답변

6

, 선돌은 새로운 옵션 --unused-precedence-levels 있습니다.

여러 파일로 분할 된 문법 예제가있는 경우보고 싶을 수도 있습니다 (허용되는 경우 Menhir의 테스트 스위트에 포함시킬 수도 있음).

+0

이것은 완벽하게 작동합니다! 지원과 menhir 같은 멋진 도구를 만드신 것에 대해 대단히 감사드립니다. 파서는 아직 공개되지 않았지만 동료와 확인하고 tarball을 보냅니다. – ztatlock

0

확실하지 : 오늘로

--unused-token <token>   Do not warn that <token> is unused 
--unused-tokens     Do not warn about any unused token 
+0

예, 사용되지 않은 토큰 경고를 피하는 데 도움이되었습니다. 불행히도, 그들은 사용하지 않은 토큰에 대해 "우선적으로 유용하지 않은"경고를 끄지 않는 것처럼 보입니다. 다음 단계는 menhir 문제를 제기하고 awk를 사용하여 원치 않는 경고를 필터링하는 것입니다. – ztatlock