2012-01-02 2 views

답변

2

은 당신이 찾고있는 것은 바로, 구문 파서 같은데?

내가 ANTLR (http://www.antlr.org/), 당신은 문법을 만들 수 있으며, 당신이 걸을 수있는 구문 트리를 생성에 모습을 줄 것이다

는, 번역 등

+0

내가하지 정규 표현식 정규 표현식, FOR 구문 분석기를 찾고 있어요. 질문을 수정하여 더 명확하게했습니다. –

+0

그리고 몇 가지 정규식 문법을 사용할 수 있습니다. –

+0

@jp 아무도 "with"라고 말하면 정규식 문법이 있습니다. –

0

Parboiled의 모습 당신이 만들고 싶은 것에 대한 좋은 선택.

antlr 또는 javacc보다 쉽게 ​​문법을 쉽게 작성할 수 있습니다.

샘플 :

Rule Digit() 
{ 
    return CharRange('0', '9'); 
} 

Rule Integer() 
{ 
    return OneOrMore(Digit()); 
} 

Rule WhiteSpace() 
{ 
    return ZeroOrMore(AnyOf(" \t")); 
} 

Rule NToMQuantifier() 
{ 
    return Sequence(
     '{', 
     WhiteSpace(), 
     Integer(), 
     Optional(
      WhiteSpace(), 
      Integer() 
     ), 
     '}' 
    ); 
} 

Rule OtherQuantifiers() 
{ 
    return Sequence(AnyOf("+?*"), Optional(AnyOf("+?"))); 
} 

Rule Quantifier() 
{ 
    return FirstOf(OtherQuantifiers(), NToMQuantifier()); 
} 
관련 문제