anchor.diff:  
       return outputStream;
     }
  +  
  +  /** 
  +   * This method invokes the createTokenStream methode to create an infix token stream and then invokes the shunting
  +   * yards method to transform this stream into an UPN token stream.
  +   * 
  +   * Returns  List<Token>.
  +   */
  +  createUPNStream(String inputString){
  +    List<Token> infixStream = createTokenStream(inputString);
  +    _tokenStream = shuntingYard(infixStream);
  +  }
   }
   
   class Token{
     //TODO
  -  final String text;
  +  var text;
     final TokenType type;
   
  -  Token(String this.text, TokenType this.type){
  +  Token(var this.text, TokenType this.type){
     }
   
     String toString(){
  
positive.code: 
  class Parser {
    Lexer lex;
    List<Token> inputStream;
    List<Expression> expressionStack;
    Parser(){
      lex = new Lexer();
    }
  }
  
  class Lexer{
    var keywords = new Map<String, TokenType>();
    List<Token> tokenStream;
    String intBuffer ="";
    String varBuffer ="";
    Lexer(){
  
negative.code:         continue;
        }
      }
      /*
       * when the algorithm reached the end of the input stream, then we add the tokens in the 
       * operatorBuffer to the outputStream.
       */
      while(!operatorBuffer.isEmpty){
        outputStream.add(operatorBuffer.last);
        operatorBuffer.removeLast();
  