anchor.diff:       language = Java;
        output = AST;
   }
  +
  +tokens {
  +	FIELD_DECL;
  +	VAR_TYPED; // variable with specified type name
  +	VAR_ANY;
  +}
  +
  +
   @header {
        package org.miod.antlr;
   }
  +
  +
   
   module	
   	:	module_part+
  
positive.code: 
  typename
  	:	var_or_type_dot
  	|	'strong' '[' typename ']'
  	|	'weak' '[' typename ']'
  	|	'ptr' '[' typename ']'
  	|	'array' '[' typename (',' expr)? ']'
  	;
  	
  	
  
negative.code:         ) {$channel=HIDDEN;}
      ;
  
  STRING	:	STRING_V
  	;
  
  CHAR	:	CHAR_V
  	;
  	
  WSTRING	:	'L' STRING_V
  	;
  	
  WCHAR	:	'L' CHAR_V
  	;
  
  
  fragment
  STRING_V
      :  '"' ( ESC_SEQ | ~('\\'|'"') )* '"'
      ;
  
  fragment
  CHAR_V:  '\'' ( ESC_SEQ | ~('\''|'\\') ) '\''
      ;
  
  fragment
  