anchor.diff:  
   smallStatement
   	:	flowStatement
  -	|	topExpr
  -	|	assignStatement
  -	;
  -
  -assignStatement
  -	:	nameRef '=' topExpr
  -	//	we need the expr ':' expr alternate here, but that leftside expression can be a limited set (not, for example expr'='expr)
  +	|	exprList
   	;
   
   flowStatement
   	:	'break' inlineStatementList? Label?
   	|	'continue' inlineStatementList? Label?
  -	|	'return' topExpr
  -	|	'throw' topExpr
  -//	|	'assert' topExpr
  -//	|	'yield' topExpr
  +	|	'return' exprList
  +	|	'throw' exprList
  +//	|	'assert' exprList
  +//	|	'yield' exprList
   	;
   
   /*
  
positive.code: *	names
  */
  
  nameRef
  	:	Name trailer*
  	;
  
  trailer
  	:	'[' expr ']'
  	|	'.' PlainName
  	;
  
  PlainName : NameHead NameChar*	;
  
  nameExpression
  	:	nameRef
  	|	'&' nameRef
  	|	'&&' nameRef
  	;
  
  Name
  	:	PlainName
  	|	SpecialName
  	;
  
  fragment NameHead : [_a-zA-Z] ;
  fragment NameChar : [0-9] | NameHead ;
  
  
negative.code: 	|	expr op=( LTEQ | GTEQ | LT | GT ) expr	#relationExpr
  	|	expr AND expr											#andExpr
  	|	expr OR expr											#orExpr
  	|	nameRef '=' expr										#assignExpr
  	|<assoc=right>  expr ':' expr						#assocExpr
  	|	atom														#atomExpr
  	;
  
  