の予約キーワードのルールを再利用し、私はこのルールを使用する場合、私は以来、私の言語で「記述」を使用することはできませんは、私はANTLR 3.4 .Iで働いていますANTLR
Description:
'description'
;
のような字句解析ルールを定義していますそれは今、キーワードです。私は予約されていないキーワードのルールを書くことができる方法はありますか?文法のルール はlike-
Lexer rule
Description
:
'description'
;
Protocol
:
'protocol'
;
Define
:
'define'
;
Equal
:
'='
;
Parser rule
mainrule
:
Define Protocol stringrule descrule? fields* finishrule
;
descrule
:
Description? stringrule?
;
fields
:
type stringrule Equal? stringrule?
stringrule
:
// rule which accept any string
;
例になります:私の言語は、IPおよび説明は、プロトコルおよびプロトコルのフィールドです。ここthis-
define protocol description 'Protocol for login'
int ip=192.168.0.0;
string description='remote user';
finish protocol;
のように見えている.But(キーワード)で説明しました私はそれがキーワードであるので、フィールド名として 'description'を使うことはできません。
。どこの言語で 'for'をキーワードとして使用したいのですか?文法はどのように見えますか?あなたが意味することのいくつかの例が役に立つでしょう。 –
私は質問を修正しました。お手伝いできますか? – bhavanak
なぜ同じ単語を両方に使用する必要がありますか?属性名に別の単語を使用できませんか?あるいは、特定のキーワード端末を属性名として表示できるように、文法を明示的に記述しますか?私たちはあなたのために完全な文法を書く必要があります。 –