2

簡単な文法には ANTLRWorks を使用します。

grammar boolean;

// [...]
lowercase_string
        :   ('a'..'z')+ ;

しかし、通訳によるとlowercase_string一致しません( . アイデア?foobarMismatchedSetException(10!={})

4

1 に答える 1

5

..そのようなパーサールール内で演算子を使用することはできません。'a'範囲をに一致させるには、その範囲'z'のレクサールールを作成します(レクサールールは大文字で始まります)。

このようにしてみてください:

lowercase_string
  :  Lower+ 
  ;

Lower
  :  'a'..'z'
  ;

また:

lowercase_string
  :  Lower
  ;

Lower
  :  'a'..'z'+
  ;

この以前のQ&Aも参照してください:ANTLRのパーサールールとレクサールールの実際的な違いは?

于 2011-11-23T15:15:54.583 に答える