anchor.diff:  	: specify_output_terminal_descriptor (',' specify_output_terminal_descriptor)*
   	;
   
  -// 7.3 Specify block terminals
  +// A.7.3 Specify block terminals
   
   specify_input_terminal_descriptor
   	: input_identifier ('[' constant_range_expression ']')?
  
positive.code: 	: SIZE? HEX_BASE HEX_VALUE
  	;
  
  fragment SIGN
  	: [+-]
  	;
  
  fragment SIZE
  	: NON_ZERO_UNSIGNED_NUMBER
  	;
  
  fragment NON_ZERO_UNSIGNED_NUMBER
  	: NON_ZERO_DECIMAL_DIGIT ('_' | DECIMAL_DIGIT)*
  	;
  
  
negative.code: 	: DECIMAL_DIGIT ('_' | DECIMAL_DIGIT)*
  	;
  
  fragment
  BINARY_VALUE
  	: BINARY_DIGIT ('_' | BINARY_DIGIT)*
  	;
  
  fragment
  OCTAL_VALUE
  	: OCTAL_DIGIT ('_' | OCTAL_DIGIT)*
  	;
  
  fragment
  HEX_VALUE
  	: HEX_DIGIT ('_' | HEX_DIGIT)*
  	;
  
  fragment
  DECIMAL_BASE
  	: '\'' [sS]? [dD]
  	;
  
  fragment
  BINARY_BASE
  	: '\'' [sS]? [bB]
  	;
  
  fragment
  OCTAL_BASE
  	: '\'' [sS]? [oO]
  	;
  
  fragment
  HEX_BASE
  	: '\'' [sS]? [hH]
  	;
  
  fragment
  NON_ZERO_DECIMAL_DIGIT
  	: [1-9]
  	;
  
  fragment
  DECIMAL_DIGIT
  	: [0-9]
  	;
  
  fragment
  BINARY_DIGIT
  	: X_DIGIT | Z_DIGIT | [01]
  	;
  
  fragment
  OCTAL_DIGIT
  	: X_DIGIT | Z_DIGIT | [0-7]
  	;
  
  fragment
  HEX_DIGIT
  	: X_DIGIT | Z_DIGIT | [0-9a-fA-F]
  	;
  
  fragment
  X_DIGIT
  	: [xX]
  	;
  
  fragment
  Z_DIGIT
  	: [zZ?]
  	;
  
  // A.8.8 Strings
  
  STRING
  	: '"' ~["\n\r]* '"'
  	;
  
  // A.9 General
  // A.9.1 Attributes
  
  attribute_instance
  	: '(' '*' attr_spec (',' attr_spec)* '*' ')'
  