2016-12-31 18 views
0

에 대한 일부 문법 규칙을 Matlab 언어로 컴파일하고 번역합니다. 누락으로 인해 구문 오류를 캡처하고 싶습니다 '; 성명서 끝에.들소 사용자 정의 구문 오류

예를 들어 나는 return 문이 : 나는의 부족을 처리 할 수있는 방법

stmt_return :  RETURN  {...some actions...} 
        exp ';'  {...others actions...} 

       |  RETURN  {...some actions...} 
        ';'   {...others actions...} 

을 ';' "구문 오류"라는 기본 메시지 대신 사용자 지정 오류 메시지를 인쇄합니다. ,

stmt_return :  RETURN  {...some actions...} 
        exp sc  {...others actions...} 

      |  RETURN  {...some actions...} 
        sc   {...others actions...} 
      ; 

sc   : ';' 
      | { yyerror("Missing ';'"); } error 
      ; 
+0

이 아닌 C#을 태그를 제거 :

stmt_return : RETURN exp { yyerror("...")} | RETURN { yyerror("...")} 
leppie

+0

@leppie 네, 틀렸어, 미안해. –

답변

0

내가이 솔루션을 발견 :

나는이 규칙을 추가하지만, 바르게 충돌을 생산하기 위해 노력했다. 당신은 아마 C를 의미했지만, 나는 당신을 염두에 둔다.