anchor.diff:            count++;
         }
       }
  -          
  -    return count;                                
  +
  +    return count;
  +  }
  +
  +  boolean atStartOfInput() {
  +    return super.getCharPositionInLine() == 0 && super.getLine() == 1;
     }
   }
   
  
positive.code: BREAK : 'break';
  
  NEWLINE
   : ( '\r'? '\n' | '\r' ) SPACES?
     {
       String newLine = getText().replaceAll("[^\r\n]+", "");
       String spaces = getText().replaceAll("[\r\n]+", "");
  
negative.code:     int stop = start + text.length();
      return new CommonToken(this._tokenFactorySourcePair, type, DEFAULT_TOKEN_CHANNEL, start, stop);
    }
  
    // Calculates the indentation of the provided spaces, taking the
    // following rules into account:
    //
    // "Tabs are replaced (from left to right) by one to eight spaces
    //  such that the total number of characters up to and including
    //  the replacement is a multiple of eight [...]"
    //
    //  -- https://docs.python.org/3.1/reference/lexical_analysis.html#indentation
    static int getIndentationCount(String spaces) {
  
      int count = 0;
  
      for (char ch : spaces.toCharArray()) {
        switch (ch) {
          case '\t':
  