2014-04-18 3 views
0

다음을 EBNF에서 javacc로 변환해야하지만 여러 가지 방법을 시도했지만 오류가 발생합니다.BNF를 javacc 코드로 변환

EBNF : 코드 :: == [이 X20 \ - \ x7E]

은 어떻게 변환 할 것인가?

미리 감사드립니다.

답변

1

JavaCC는 문자 범위를 지원합니다. 예 : [" "-"~"] Java에서와 마찬가지로 유니 코드 이스케이프도 지원합니다 (예 : ["\u0020"-"\u007E"]).

이러한 범위는 토큰 관리자의 사양에 사용할 수 있습니다. Question 3.3 of the FAQ에 설명 된 세 가지 규칙이 적용됩니다. 그래서 당신은 파서에서 다음

TOKEN: { 
    <LETTER : ["a"-"z","A"-"Z"] > 
| 
    <PRINTABLE : [" "-"~"] > 
} 

있는 경우는

void Printable() { 
    <LETTER> | <PRINTABLE> 
} 
+0

감사를 원할 것입니다! 그래서 javacc [ "/ u0020"- "/ u007E"]와 같은 문법으로 다음을 제공한다면? 이후 웬 난 나중에 javacc 컴파일 오류가 – tas

+0

geting 오전 사용하지. '''는 '와 동일합니다. –

+0

감사합니다! 이것은 나에게 컴파일 오류를주지 않았다 :) – tas