anchor.diff:  
   
   STRING1
  -   : '"' ~ ["\r\n]* '"'
  +   : '"' ~["\r\n]* '"'
      ;
   
   
   STRING2
  -   : '\'' ~ ["\r\n]* '\''
  +   : '\'' ~ [\'\r\n]* '\''
      ;
  -
  -
  -EOL
  -   : '\r'? '\n'
  -   ;
  -
   
   WS
      : [ \t\r\n] -> skip
  
positive.code:    ;
  
  statement
     : ('auto' name constant* (',' name constant*)* ';' statement)
     | ('extrn' name (',' name)* ';' statement)
     | (name ':' statement)
     | ('case' constant ':' statement)
     | ('if' '(' rvalue ')' statement ('else' statement)*)
     | ('while' '(' rvalue ')' statement)
     | ('switch' rvalue statement)
     | ('goto' rvalue ';')
  
negative.code: 
  definition
     : (name constant? (ival (',' ival)*)* ';')
     | (name '(' (name (',' name)*)* ')' statement) 
     ;
  
  ival
  