anchor.diff:  moduleOptions : (moduleOption NEWLINE+)+;
   
   moduleOption : 
  -	OPTION_BASE WS INTEGERLITERAL # optionBaseStmt
  -	| OPTION_COMPARE WS (BINARY | TEXT) # optionCompareStmt
  -	| OPTION_EXPLICIT # optionExplicitStmt
  -	| OPTION_PRIVATE_MODULE # optionPrivateModuleStmt
  +	OPTION_BASE WS INTEGERLITERAL 			# optionBaseStmt
  +	| OPTION_COMPARE WS (BINARY | TEXT) 	# optionCompareStmt
  +	| OPTION_EXPLICIT 						# optionExplicitStmt
  +	| OPTION_PRIVATE_MODULE 				# optionPrivateModuleStmt
   ;
   
   moduleBody : 
  
positive.code: goToStmt : GOTO WS valueStmt;
  
  ifThenElseStmt : 
  	IF WS ifConditionStmt WS THEN WS blockStmt (WS ELSE WS blockStmt)? # inlineIfThenElse
  	| ifBlockStmt ifElseIfBlockStmt* ifElseBlockStmt? END_IF # blockIfThenElse
  ;
  
  ifBlockStmt : 
  
negative.code: 
  // ELSE first, so that it is not interpreted as a variable call
  sC_Cond : 
  	ELSE 															# caseCondElse
  	| IS WS? comparisonOperator WS? valueStmt 						# caseCondIs
  	| valueStmt (WS? ',' WS? valueStmt)* 							# caseCondValue
  	| INTEGERLITERAL WS TO WS valueStmt (WS? ',' WS? valueStmt)* 	# caseCondTo
  ;
  
  sendkeysStmt : SENDKEYS WS valueStmt (WS? ',' WS? valueStmt)?;
  