anchor.diff:  	: LPAREN expressionList? RPAREN
   	;
   
  -statementExpression
  -	:	expression
  -	;
  -
  -constantExpression
  -	:	expression
  -	;
  -
  -methodExpression
  +functionCallExpression
   	:	Identifier parExpressionList
   	;
   
  +createEmitterExpression
  +	:	CREATE EMITTER parExpressionList withUpdaterOption?
  +	;
  +
  +buildEmitterExpression
  +	:	BUILD Identifier
  +	;
  +
  +withUpdaterOption
  +	:	WITH UPDATER functionCallExpression
  +	;
  +
   expression
  -	:	primary
  -	|	expression (INC | DEC)
  -	|	(ADD|SUB|INC|DEC) expression
  -	|	BANG expression
  -	|   expression LPAREN expressionList? RPAREN
  -	|	expression (MUL|DIV|MOD) expression
  -	|	expression (ADD|SUB) expression
  -	|	expression (LE | GE | GT | LT) expression
  -	|	expression (EQUAL | NOTEQUAL) expression
  -	|	expression AND expression
  -	|	expression OR expression
  -	|	expression
  -		(	    ASSIGN
  -		|	ADD_ASSIGN
  -		|	SUB_ASSIGN
  -		|	MUL_ASSIGN
  -		|	DIV_ASSIGN
  -		)
  -		expression
  -	|	CREATE EMITTER parExpressionList withUpdaterOption?
  -	|	BUILD Identifier
  -	;
  -
  -withUpdaterOption
  -	:	WITH UPDATER methodExpression
  -	;
  -
  -primary
  -	:	LPAREN expression RPAREN
  -	|	literal
  -	|	Identifier
  -	|	ContextIdentifier
  -	;
  -
  +	:	LPAREN expression RPAREN	# ParenthesizedExpression
  +	|	literal						# LiteralExpression
  +	|	Identifier					# IdentifierExpression
  +	|	ContextIdentifier			# ContextIdentifierExpression
  +	|	expression (INC|DEC)		# PostIncDecExpression
  +	|	(INC|DEC) expression		# PreIncDecExpression 
  +	|	SUB expression				# UnaryMinusExpression
  +	|	BANG expression				# NotExpression
  +	|	expression MUL expression	# MultiplyExpression
  +	|	expression DIV expression	# DivideExpression
  +	|	expression MOD expression	# ModulusExpression
  +	|	expression ADD expression	# AddExpression
  +	|	expression SUB expression	# SubExpression
  +	|	expression LE expression	# LessThanEqualExpression
  +	|	expression GE expression	# GreaterThanEqualExpression
  +	|	expression LT expression	# LessThanExpression
  +	|	expression GT expression	# GreaterThanExpression
  +	|	expression EQUAL expression		# EqualExpression
  +	|	expression NOTEQUAL expression	# NotEqualExpression
  +	|	expression AND expression	# AndExpression
  +	|	expression OR expression	# OrExpression
  +	|	Identifier ASSIGN expression	# AssignmentExpression
  +	|	Identifier ADD_ASSIGN expression	# AddAssignmentExpression
  +	|	Identifier SUB_ASSIGN expression	# SubAssignmentExpression
  +	|	Identifier MUL_ASSIGN expression	# MulAssignmentExpression
  +	|	Identifier DIV_ASSIGN expression	# DivAssignmentExpression
  +	;
  +	
   //literals
   literal
  -	:	IntegerLiteral
  -	|	FloatingPointLiteral
  +	:	IntegerLiteral			# IntegerLiteral
  +	|	FloatingPointLiteral	# FloatingPointLiteral
   	;
   
   /*
  
positive.code: 	;
  
  block
  	:	LBRACE blockStatement* RBRACE
  	;
  
  localVariableDeclarationStatement
  	:	localVariableDeclaration SEMI
  	;
  
  localVariableDeclaration
  	:	nonConstVariableDeclaration
  	|	constVariableDeclaration
  	;
  
  nonConstVariableDeclaration
  	:	VAR Identifier ASSIGN expression
  	;
  
  constVariableDeclaration
  	:	CONST nonConstVariableDeclaration
  	;
  	
  formalParameter
  
negative.code: script
  	:	functionDeclaration*
  	;
  	
  localVariableDeclaration
  	:	VAR Identifier ASSIGN expression
  	;
  
  functionDeclaration
  	:	FUNCTION Identifier formalParameters functionBody
  