anchor.diff:  				return result;
   				}
   
  -		Statement = PrintStatement
  +		Statement = s:(PrintStatement
   			| AssignmentStatement
  -			| UnrecognizedStatement;
  +			| UnrecognizedStatement
  +			)
  +			error unless StatementEnd
  +			-> s;
   
  -		PrintStatement = "print" "(" var:(!")" any)* ")"
  +		PrintStatement = "print(" var:(!")" any)* ")"
   			-> {
   				var result = new PrintStatement();
   				result.variable = var as string;
   				return result;
   				}
   
  -		AssignmentStatement = var:(!'=' any)* '=' val:Expression
  +		AssignmentStatement = var:(!'=' !' ' !'\t' any)+
  +			OptionalWhitespace '=' OptionalWhitespace
  +			val:Expression
   			-> {
   				var result = new AssignmentStatement();
   				result.variable = (var as string).Trim();
  
positive.code: 				return new NumberLiteral(val as int);
  				}
  
  		UnrecognizedStatement =  s:(!'\n' !'\r' any)*
  			-> {
  				var result = new UnrecognizedStatement();
  				result.text = s.ToString();
  				return result;
  				}
  
  		override WhitespaceInterleave = !default;
  
  	end
  end
negative.code: namespace Fools:
  	import System;
  	import System.Linq;
  	import Fools.Ast;
  	import MetaSharp.Transformation;
  
  	grammar FoolsStructure < Parser:
  
  		override WhitespaceInterleave = !default;
  
  		Main = Block;
  
  