anchor.diff:  					_read();
   					_addCharToken(_TEXT, _CLOSE_MUSTACHE);
   					break;
  +				case _RETURN:
  +					_read();
  +					if (_peek() == _NEWLINE) {
  +						_read();
  +						_tokens.add(new _Token(_LINE_END, '\r\n', _r.line, _r.column));
  +					} else {
  +						_addCharToken(_TEXT, _RETURN);
  +					}
  +					break;
   				case _NEWLINE:
   					_read();
   					_addCharToken(_LINE_END, _NEWLINE); //TODO handle \r\n
  
positive.code: const int _EOF = -1;
  const int _TAB = 9;
  const int _NEWLINE = 10;
  const int _SPACE = 32;
  const int _EXCLAIM = 33;
  const int _QUOTE = 34;
  
negative.code: 			// Swallow line end.
  			assert(isLineEnd(peek()));
  			read();
  
  			standaloneLineCheck(); //FIXME don't use recursion.
  		}
  	}
  
  