anchor.diff:  	|	'~='
   	;
   
  -logical_or_expression
  -	:	logical_and_expression ( '||' logical_and_expression )*
  -	;
  -
  -logical_and_expression
  -	:	inclusive_or_expression ( '&&' inclusive_or_expression )*
  -	;
  -
  -inclusive_or_expression
  -	:	exclusive_or_expression ( '|' exclusive_or_expression )*
  -	;
  -
  -exclusive_or_expression
  -	:	and_expression ( '^' and_expression )*
  -	;
  -
  -and_expression
  -	:	equality_expression ( '&' equality_expression )*
  +goto_statement
  +	:	'goto' plain_identifier ;
  +	
  +while_statement	:	'while' '(' logical_expression ')' block ( 'continue' block )? ;
  +
  +if_statement
  +	:	'if' '(' expression ')' block ( 'else' block )? ;
  +	
  +return_statement
  +	:	'return' expression? ;
  +
  +loop_control_statement
  +	:	( 'last' | 'next' ) plain_identifier? ;
  +
  +//
  +// Expressions:
  +//
  +
  +expression
  +	:	primary_expression
  +	|	arithmetic_expression
  +	|	logical_expression
  +	;
  +
  +primary_expression
  +	:	( identifier | literal | '(' expression ')' | 'new' identifier )
  +	(	'[' expression ']'
  +	|	'(' ')'
  +	|	'(' argument_expression_list ')'
  +	|	'.' plain_identifier
  +	)*
  +	;
  +
  +argument_expression_list
  +	:	expression ( ',' expression )*
  +	;
  +
  +arithmetic_expression
  +	:	primary_expression
  +	|	'-' arithmetic_expression
  +	|	'(' arithmetic_expression ( '+' | '-' | '*' | '/' | '%' ) arithmetic_expression ')'
  +	;
  +
  +logical_expression
  +	:	primary_expression
  +	|	equality_expression
  +	|	relational_expression
  +	|	'!' logical_expression
  +	|	'(' logical_expression ( '||' | '&&' | '==' | '!=' ) logical_expression ')'
   	;
   
   equality_expression
  -	:	relational_expression ( ( '==' | '!=' ) relational_expression )*
  +	:	expression ( ( '==' | '!=' ) expression )*
   	;
   
   relational_expression
  -	:	additive_expression ( ( '<' | '>' | '<=' | '>=' ) additive_expression )*
  +	:	arithmetic_expression ( ( '<' | '>' | '<=' | '>=' ) arithmetic_expression )*
   	;
   
   //
  
positive.code: grammar JakoParser;
  
  options {
  //    backtrack=true;
      memoize=true;
  //    k=2;
  }
  
negative.code: 	;
  	
  side_effect_statement
  	:	assignment_statement
  	|	expression
  	;
  
  assignment_statement
  	:	primary_expression assignment_operator expression
  	;
  
  assignment_operator
  