anchor.diff:    : '@' tag_name description
     ;
   
  -tag_name
  -  : Printable+
  +inline_tag
  +  : '{' '@' tag_name description '}'
     ;
   
  -inline_tag
  -  : '{' '@' tag_name description '}'
  -  ; 
  -  
  -// Comments are written in HTML - The text must be written in HTML, in that they
  -// should use HTML entities  and  HTML  tags.
  -description_components
  -  : description_component*
  -  ;
  -
  -description_component
  -  : html_element
  -  | plain_text
  -  | inline_tag
  -  ;
  -
  -plain_text: Printable+;
  -
  -// Fuzzy match of HTML elements.
  -// Some of the element names are too general (like a), and seem to
  -// mess up the grammar.
  -html_element
  -  : '<' Printable+ '>'
  -  | '</' Printable+ '>'
  -  ;
  -
  -// TODO: Other wide languages like Chinese?
  -
  -Printable
  -  : ~[ \n\r\t\u000B\u000C\u0000]
  -  ;
  -  
  -Doc_start
  -  : '/**' '*'*
  -  ;
  -  
  -Doc_end
  -  : '*'* '*/'
  -  ;
  -  
   // +--------------+-------------+
   // |     Tag      | Introduced  |
   // |              | in JDK      |
  
positive.code: grammar Javadoc;
  
  file : file_element*;
  
  file_element
    : javadoc
  
negative.code: // Some of the tags below could contain other tags, thus using description
  // would be safe because description is the most comprehensive text 
  // representation in this grammar.
  standard_tags
    : standard_tag*
    ;
  