anchor.diff:   * (Reverse Polish Notation) for further processing by a [Parser].
    */
   class Lexer {
  -  Map keywords = new Map<String, TokenType>();
  -  List<Token> _tokenStream;
  +  final Map keywords = new Map<String, TokenType>();
     String intBuffer = "";
     String varBuffer = "";
   
  
positive.code:        * buffer is of type LBRACE, the current Token is an unary minus, so the
         * token type has to be changed.
         */
        if(tempToken.type == TokenType.MINUS && operatorBuffer.last.type == TokenType.LBRACE) {
          Token newToken = new Token(tempToken.text, TokenType.UNMINUS);
          operatorBuffer.add(newToken);
          continue;
        }
        
        /* 
         * If the current token is an operator and it's priority is lower than the priority of the last
  
negative.code:   // Simple Operators
    static final TokenType PLUS = const TokenType._internal("PLUS",1);
    static final TokenType MINUS = const TokenType._internal("MINUS",1);
    static final TokenType UNMINUS = const TokenType._internal("UNMINUS",5);
    static final TokenType TIMES = const TokenType._internal("TIMES",2);
    static final TokenType DIV = const TokenType._internal("DIV",2);
  
    // Complex Operators
    static final TokenType POW = const TokenType._internal("POW",4);
    static final TokenType SQRT = const TokenType._internal("SQRT",3);
    static final TokenType LOG = const TokenType._internal("LOG",3);
    static final TokenType LN = const TokenType._internal("LN",3);
  