2013-03-20 7 views
2

이제 생각이 같다 : octalIntegerLiteral 자바에서 나는 규칙여분의 공백을 구문 분석 토큰 및 금지

octalNumeral, (integerTypeSuffix optional) 

을하지만 나는 숫자로 토큰 싶어, 그래서 사용 :

octalNumeral javaToken, (integerTypeSuffix optional) 

문제는 문자열을 다음과 같이 구문 분석하기 시작한다는 것입니다. 0777 L. 쉽게 해결할 수 있습니까, 아니면 하위 클래스 만 처리해야합니까?

답변

3

#javaToken은 공백을 제거하고 토큰을 만드는 두 가지 작업을 동시에 수행합니다. 이 동작을 개별적으로 사용할 수있는 별도의 두 파서로 분할하십시오. 다음과 같은 새로운 기본 파서에서 #javaToken를 다시 정의 할 수 있습니다 작업에서 예전의 코드를 유지하려면 :

PPParser>>#javaToken 
    ^self javaPlainToken javaWhitespace 

그런 다음 번호 파서는 다음과 같이 보일 것이다 :

(octalNumber javaPlainToken , integerTypeSuffix optional) javaWhitespace 
관련 문제