0

antlrworks 2 内の antlr v4 からのすべての例をコーディングするときに、解析ルールの警告で常に暗黙の宣言を取得します。次のような単純なルールの場合:

type
  : 'Integer'
  | 'Character'  
  | 'Real'       
  | 'String'     
  | 'Short'      
  | 'Long'       
  | 'Double'        
  | 'Signed'        
  | 'Unsigned'   
  | 'Boolean'    
  | structTag    
  | enumTag      
  | declarator   
  ;

上記の例の最後の解決策で、誰かがその警告の解決策を教えてくれますか。感謝

4

1 に答える 1

1

type警告は、対応するトークンに名前付きトークン タイプを割り当てていないため、コードで自分が識別子、文字、実数などであるかどうかを知る方法がないことを通知することです。この警告は、トークンごとに名前付きレクサー ルールを作成することで解決できます。

INTEGER : 'Integer';
CHARACTER : 'Character';

typeこれらの新しい定義を追加した後にルールを変更する必要はありませんが、定義を追加した後、トークン タイプがパーサー結果処理コードの一部であるINTEGERかどうかを確認できます。CHARACTER

于 2013-06-04T03:13:33.330 に答える