2012-12-07 3 views
2

작동하는 것으로 보이는 문법이 있지만 경고가 많이 발생합니다. 이 경고들은 얼마나 심각한가? 누군가이를 고칠 수있는 방법에 대한 지침을 줄 수 있습니까?ANTLR 경고 란 무엇입니까?

Warning 200 
Decision can match input such as "LCURLY LPAREN" using multiple alternatives: 1, 2 

As a result, alternative(s) 2 were disabled for that input 

Warning 200: 
Decision can match input such as "LCURLY PLUS" using multiple alternatives: 1, 2 

As a result, alternative(s) 2 were disabled for that input 
Semantic predicates were present but were hidden by actions. 

Warning 203 
Input such as "Date" is insufficiently covered with predicates at locations: alt 1: line 346: at Date, al 
t 2: line 346: at Date 

경고 (200)의 경우 어떤 영향이 대안을 사용할 수 없습니까? 잠재적 인 AST는 어떤 대안이 사용 중지되었는지에 따라 다른 모양을 가질 수 있다고 생각합니다.

나는 경고 (203)의 의미를 잘 모르겠습니다.

+2

ANTLR 경고는 대개 ANTLR 경고를 오류로 취급합니다. 이는 항상, 예를 들어 ANTLR이 대안을 사용할 수 없을 때 생성 된 파서가 예상대로 구문 분석하지 않는다는 것을 의미하기 때문입니다. 나는 그들을 고칠 수있는 좋은 제안이 없다. (다른 누군가는 아마 그렇게 할 것이다.) 어쩌면 나 또는 다른 사람들이 당신이 문법의 일부를 게시한다면 하나 이상의 경고를 고칠 수있다. – user1201210

+0

문법을 게시해야합니다. – kierans

답변

1

대체 경로 이상으로 동일한 입력 문자열을 구문 분석 할 수 있기 때문에 문법이 모호 할 수 있습니다. 따라서 파서는 어느 것이 '올바른'방법인지 알지 못할 것입니다. 모호성을 방지하기 위해 문법 또는 의미 론적 조건자를 수정해야합니다.