anchor.diff:  
   andListCommand returns [Node.ExprNode node]
   	: l=commandExpression {$node = $l.node;}
  -		(CmdSep? op=AndList r=commandListExpression
  +		(CmdSep? op=AndList r=commandExpression
   			{$node = new Node.CondOpNode($node, $op, $r.node);}
   		)*
   	;
  
positive.code: 	;
  
  singleCommandExpr returns [Node.ProcessNode node]	//FIXME:
  	: t+=Trace? Command (CmdSep a+=commandArg)* (CmdSep b+=redirOption)*
  		{
  			$node = new Node.ProcessNode($Command, $t.size() == 1);
  			for(int i = 0; i < $a.size(); i++) {
  
negative.code: 	: Int        {$type = TypeToken.toPrimitive($Int);}
  	| Float      {$type = TypeToken.toPrimitive($Float);}
  	| Boolean    {$type = TypeToken.toPrimitive($Boolean);}
  	| identifier {$type = TypeToken.toClass($identifier.token);}
  	| Func openType r=typeNameWithVoid {$type = new TypeToken.FuncTypeToken($Func, $r.type);}
  		(typeSep openParamType a=typeName {((TypeToken.FuncTypeToken)$type).addParamTypeToken($a.type);}
  			( typeSep b=typeName 
  				{((TypeToken.FuncTypeToken)$type).addParamTypeToken($b.type);}
  			)* closeParamType
  		)? closeType
  	| identifier openType {$type = new TypeToken.GenericTypeToken($identifier.token);} 
  		a=typeName {((TypeToken.GenericTypeToken)$type).addElementTypeToken($a.type);}
  			(comma b=typeName
  				{((TypeToken.GenericTypeToken)$type).addElementTypeToken($b.type);}
  			)* closeType
  	;
  
  identifier returns [Token token]
  	: Identifier  {$token = $Identifier;}
  	| As          {$token = $As;}
  	| Catch       {$token = $Catch;}
  	| Constructor {$token = $Constructor;}
  	| Do          {$token = $Do;}
  	| Else        {$token = $Else;}
  	| Extends     {$token = $Extends;}
  	| Finally     {$token = $Finally;}
  	| If          {$token = $If;}
  	| In          {$token = $In;}
  	| Is          {$token = $Is;}
  	| New         {$token = $New;}
  	| Not         {$token = $Not;}
  	| While       {$token = $While;}
  	;
  
  typeNameWithVoid returns [TypeToken type]
  