2012-02-06 12 views
3

JavaCC定義の大文字と小文字を区別したいが、グローバルには定義したくない。javaccは大文字小文字を無視しますか?

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

上記のすべてのトークン(STRAおよびSTRB)は大文字と小文字を区別しません。 STRBケースのみを無視する方法は?

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

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

私はこのマニュアルを読んでこれを理解することはできません。私を助けてください。私が明確に説明しなかったら私に知らせてください。ありがとうございました。

答えて

1

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

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

TOKEN : { 
    < STRA : "a" > 
}