4

JavaCC 定義の一部を大文字と小文字を区別しないようにしたいのですが、グローバルではありません。

TOKEN [IGNORE_CASE]:
{
  < STRA : "a" >
}
TOKEN :
{
  < STRB : "b" >
}

上記では、すべてのトークン (STRA および STRB) の大文字と小文字が区別されないようです。STRB ケースのみを無視する方法は?

また、「b = <...>」のみなど、次のプロダクションで大文字と小文字を区別しないようにすることはできますか?

private void expr() : 
{
  Token a, b;
}
{
  a = < STRA > | b = < STRB>
}

マニュアルを読んでも理解できないことは認めます。私を助けてください。明確に説明していない場合はお知らせください。ありがとうございました。

4

1 に答える 1

2

トークンの個別のリストを作成し、大文字と小文字を区別し、大文字と小文字を区別しないトークンを無視すると、文をグローバルに宣言する必要はありません。以下のコードを試してください。

TOKEN [IGNORE_CASE]: {
 < STRB : "b" >
}

TOKEN : {
  < STRA : "a" >
}
于 2016-09-26T10:11:17.297 に答える