1
일부 단어가 포함 된 토큰을 설명해야합니다. 단어에는 영어 문자 및 기타 특수 기호가 포함될 수 있지만 일부 '{'와 같이} 일부 영어 문자로 시작하면 안됩니다. (예 : 'O')javacc 토큰 일반 표현식 및 _symbol_in
AND_SYMBOL_IN 작업이 필요합니다. JavaCC에 문서에서 찾을 수 을 나는이 같은 행동 뭔가가 필요합니다.? 나는 (아래 같은) 특별한 토큰을 생성 할 수 있습니다
TOKEN : { < LETTERS: (
(~["O", "-"] AND_SYMBOL_IN ["a"-"z","A"-"Z","-",".","&","|","0"-"9"])? (["a"-"z","A"-"Z","-",".","&","|","0"-"9"])+
) > }
,하지만 나는 그것을 isn`t 더 좋은 결정은,이 생각
TOKEN : { < #LETTEREX: (
["a"-"z","A"-"N","P"-"Z",".","&","|","0"-"9","-"]) > }
TOKEN : { < LETTERS: (
(<LETTEREX>) (<LETTEREX> | ["O"])+
) > }
인터넷에는 'AND_SYMBOL_IN'을 설명하는 문서가없는 것 같습니다. 따라서 JavaCC에 대한 개인적인 지식이 없으면 우리는 당신을 도울 수 없습니다. – Borodin
토큰 인식에서 regexp를 반복적으로 반복하기를 원한다면 '더 낫다'는 (즉, 더 간결한) 해결책이있을 것입니다. 나는 누구도 그 렉서 제너레이터를 위해 일반적으로 그 기능을 구현하는 번거 로움을 겪지 않았다고 믿는다. 유니 코드 컨텍스트에서 일부 고유 한 요구 사항이 바람직 할 수도 있지만 귀하의 솔루션에 집착하는 것이 좋습니다. 또 다른 옵션은 TOKEN_FACTORY를 설정하고 'newToken'을 조정하여 '단어'와 일치 할 때 다른 토큰을 반환하는 것입니다. javacc 문서를 참조하십시오. 도움이되는 희망, 안부 – collapsar