anchor.diff:      keywords["e"]= TokenType.EFUNC;
       keywords["("]= TokenType.LBRACE;
       keywords[")"]= TokenType.RBRACE;
  -    tokenStream = new List<Token>();
  -  }
  -
  +    _tokenStream = new List<Token>();
  +  }
  +   
  +  List<Token> get tokenStream =>  _tokenStream;
  +  
     /**
  -   * creates a list of tokens from the given string
  -   */
  -    void createTokenStream(String inputString){
  -
  +   * creates a list of tokens from the given string.
  +   */ 
  +  
  +    List<Token> createTokenStream(String inputString){
  +    List<Token> tempTokenStream = new List<Token>();
  +      
       String clearedString = inputString.replaceAll(" ", "");
       List<String> stringlist = clearedString.splitChars();
       int siInt;
       for (var i=0; i< stringlist.length;i++){
         String si = stringlist[i];
  -      print("Run: $i , si: $si");
         /* check if the current Character is a keyword. If it is a keyword, check if the intBuffer is not empty and add
          * a Value Token for the intBuffer and the corresponding Token for the keyword.
        */
         if(keywords.containsKey(si)){
           // check and or do intBuffer and varBuffer
  -        if(intBuffer.length >0)doIntBuffer();
  -        if(varBuffer.length >0)doVarBuffer();
  -        tokenStream.add(new Token(si,keywords[si]));
  +        if(intBuffer.length >0)doIntBuffer(tempTokenStream);
  +        if(varBuffer.length >0)doVarBuffer(tempTokenStream);
  +        tempTokenStream.add(new Token(si,keywords[si]));
         }else{
  -      // check if the current string is a Number. If it's the case add the string to the intBuffer
  +      // check if the current string is a Number. If it's the case add the string to the intBuffer.
        try {
          siInt = int.parse(si);
  -       // the current string is a number and it is added to the intBuffer
  +       // the current string is a number and it is added to the intBuffer.
          intBuffer = intBuffer.concat(si);
  -       if(varBuffer.length >0)doVarBuffer();
  -       print("was in int case");
  +       if(varBuffer.length >0)doVarBuffer(tempTokenStream);
        } on FormatException {
  -       // the current string is not a number and not a simple keyword, so it has to be a variable or log or ln
  +       
  +      if(si=="."){
  +        intBuffer = intBuffer.concat(si);
  +        continue;
  +      }
  +       // the current string is not a number and not a simple keyword, so it has to be a variable or log or ln.
         if(intBuffer.length >0) {
           /* the intBuffer contains a string and the current string is a variable or part of a complex keyword, so the value is added to the tokenstream
  -         * and the current string is added to the var buffer
  +         * and the current string is added to the var buffer.
            */
  -        doIntBuffer();
  +        doIntBuffer(tempTokenStream);
           varBuffer = varBuffer.concat(si);
  -        //reset the intBuffer
  +        //reset the intBuffer.
           intBuffer ="";
           print("was in text and do int case");
         } else {
  -        // the intBuffer contains no string and the current string is a variable, so both Tokens are added to the tokenStream
  +        // the intBuffer contains no string and the current string is a variable, so both Tokens are added to the tokenStream.
           print("was in text case");
           varBuffer = varBuffer.concat(si);
            }
  
positive.code:         continue;
        }
      }
  
      while(!operatorBuffer.isEmpty){
        outputStream.add(operatorBuffer.last);
        operatorBuffer.removeLast();
  
negative.code:         operatorBuffer.removeLast();
          continue;
        }
        /*
         * if there is no other operator in the operatorBuffer, than the current operator token ist added to the
         * operatorBuffer.
         */
        if(operatorBuffer.isEmpty){
          operatorBuffer.add(tempToken);
          continue;
        }
  
        /* if the current Tokens type is MINUS and the last Token in the operator buffer is of type LBRACE
         * the current Token is an unary minus, so the tokentype has to be changed.
         */
        if(tempToken.type == TokenType.MINUS && operatorBuffer.last.type == TokenType.LBRACE){
          Token newToken = new Token(tempToken.text, TokenType.UNMINUS);
  