anchor.diff:  	| SHA1 '(' expr (',' expr)? ')'								# SHA1_fun2
   	| SHA256 '(' expr (',' expr)? ')'							# SHA256_fun2
   	| SHA512 '(' expr (',' expr)? ')'							# SHA512_fun2
  -	| CRC8 '(' expr (',' expr)? ')'								# CRC8_fun2
  -	| CRC16 '(' expr (',' expr)? ')'							# CRC16_fun2
   	| CRC32 '(' expr (',' expr)? ')'							# CRC32_fun2
   	| HMACMD5 '(' expr ',' expr (',' expr)? ')'					# HMACMD5_fun2
   	| HMACSHA1 '(' expr ',' expr (',' expr)? ')'				# HMACSHA1_fun2
  
positive.code: 	| SHA1
  	| SHA256
  	| SHA512
  	| CRC8
  	| CRC16
  	| CRC32
  	| HMACMD5
  	| HMACSHA1
  
negative.code: 	| expr '.' BASE64URLTOTEXT '(' expr? ')'					# BASE64URLTOTEXT_fun
  	| expr '.' TEXTTOBASE64 '(' expr? ')'						# TEXTTOBASE64_fun
  	| expr '.' TEXTTOBASE64URL '(' expr? ')'					# TEXTTOBASE64URL_fun
  	| expr '.' REGEX '(' expr ')'								# REGEX_fun
  	| expr '.' REGEXREPALCE '(' expr ',' expr ')'				# REGEXREPALCE_fun
  	| expr '.' ISREGEX '(' expr ')'								# ISREGEX_fun
  	| expr '.' MD5 '(' expr? ')'								# MD5_fun
  	| expr '.' SHA1 '(' expr? ')'								# SHA1_fun
  	| expr '.' SHA256 '(' expr? ')'								# SHA256_fun
  	| expr '.' SHA512 '(' expr? ')'								# SHA512_fun
  	| expr '.' CRC32 '(' expr? ')'								# CRC32_fun
  	| expr '.' HMACMD5 '(' expr (',' expr)? ')'					# HMACMD5_fun
  	| expr '.' HMACSHA1 '(' expr (',' expr)? ')'				# HMACSHA1_fun
  