anchor.diff:  	}
   	
   	/**
  +	 * Extracts macro name from macro string
  +	 * @param aMacroString macro string, for example: \$a, \${a}
  +	 * @return extracted macro name without extra characters, for example: a
  +	 */
  +	private String getMacroName( final String aMacroString ) {
  +		final Matcher m = PATTERN_MACRO.matcher( aMacroString );
  +		if ( m.find() ) {
  +			return m.group(1);
  +		} else {
  +			return null;
  +		}
  +	}
  +	
  +	/**
  +	 * Extracts macro name from typed macro string
  +	 * @param aMacroString macro string, for example: \${a, float}
  +	 * @return extracted macro name without extra characters, for example: a
  +	 */
  +	private String getTypedMacroName( final String aMacroString ) {
  +		final Matcher m = PATTERN_TYPED_MACRO.matcher( aMacroString );
  +		if ( m.find() ) {
  +			return m.group(1);
  +		} else {
  +			return null;
  +		}
  +	}
  +		
  +	/**
   	 * Gets the macro value string of a macro (without type)
   	 * @param aMacroToken the macro token
   	 * @param aErrorFormatStr format strings for error messages if definition (macro or environment variable) cannot be resolved
  
positive.code: 	 * @return the macro value string
  	 *         or "" if macro is invalid. In this case an error marker is also created
  	 */
  	private String getMacroValue( ParserRuleContext aMacroRule, String aErrorFormatStr ) {
  		String definition = aMacroRule.getText().substring( 1, aMacroRule.getText().length() );
  		String value = getDefinitionValue( definition );
  		if ( value == null ) {
  			String errorMsg = String.format( aErrorFormatStr, definition );
  			reportError( errorMsg, aMacroRule.start, aMacroRule.stop );
  			return "";
  		}
  
negative.code: 	private static final String DEFINITION_NOT_FOUND_FLOAT   = "No macro or environmental variable defined %s could be found, using 0.0 as a replacement value.";
  	private static final String DEFINITION_NOT_FOUND_BOOLEAN = "Could not resolve definition: %s using \"true\" as a replacement.";
  
  	// pattern for matching macro string, for example: \$a, \${a}
  	private final static Pattern PATTERN_MACRO = Pattern.compile("\\$\\s*\\{?\\s*([A-Za-z][A-Za-z0-9_]*)\\s*\\}?");
  
  	// pattern for matching typed macro string, for example: ${a, float}
  	private final static Pattern PATTERN_TYPED_MACRO = Pattern.compile("\\$\\s*\\{\\s*([A-Za-z][A-Za-z0-9_]*)\\s*,\\s*[A-Za-z][A-Za-z0-9_]*\\s*\\}");
  	
  	private List<TITANMarker> mWarnings = new ArrayList<TITANMarker>();
  	
  	private List<ISection> mSections = new ArrayList<ISection>();
  