2012-01-02 13 views

答えて

2

は何を探していることは右、構文パーサであるように見えますか?私はANTLR(http://www.antlr.org/)の表情を与えるだろう

、あなたは文法を作成することができ、それはあなたが歩くことができる構文木を生成し、翻訳など

+0

私はない正規表現を使用すると、正規表現の構文パーサを探しています。私はそれをもっと明確にするために質問を修正しました。 –

+0

そしていくつかの正規表現文法があります。 –

+0

@jp誰も "wi​​th"と言ったことはありません。正規表現の文法はいくつかあります。 –

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()); 
}