anchor.diff:  //
   
   compilationUnit
  -	:	( expression ( ';' | NewLine | EOF ) )*
  -	;
  +    : ( expression ( ';' | NewLine | EOF ) )*
  +    ;
   
   expression
  -	:	( WhiteSpace )* ( argument ( WhiteSpace )* )+
  -	;
  +    : ( WhiteSpace )* ( argument ( WhiteSpace )* )+
  +    ;
   
   argument
  -	:	literal
  -	;
  +    : literal
  +    ;
   
   literal
  -	:	OpaqueStringLiteral
  -	| 	StringLiteral
  -	| 	PlainStringLiteral
  -	;	
  +    : OpaqueStringLiteral
  +    | StringLiteral
  +    | PlainStringLiteral
  +    ;	
   
   //
   // Lexer
  
positive.code: //
  
  NewLine
  	:	( '\n' )
  	;
  
  WhiteSpace
  	:	( ' ' | '\t' | '\r' ) // { $channel=HIDDEN; }
  	;
  
  PlainStringLiteral
  	: 	( ~( ';' | '\'' | '"' | WhiteSpace ) )+
  	;
  
  OpaqueStringLiteral
  	:  	'\'' ( EscapeSequence | ~( '\\' | '\'' ) )* '\''
      ;
  
  //
  
negative.code: grammar CommandLine;
  
  options {
      language=Java;
      output=AST;
      // k=2;
      // backtrack=true;
      // memoize=true;
  }
  
  @header {
  package org.apache.geronimo.gshell.parser;
  }
  
  @lexer::header {
  package org.apache.geronimo.gshell.parser;
  }
  
  //
  