the actual process


  
  int main() {
  
      term* result = 0;
      int line = 0;
      while ((result = (*_parser)()) ) {          // operator() gets terms
          cout << "%%line: " << line << "\n" << endl;
          cout << _formatter->_format(result) << endl;  // gives char*
          //cout << result->str(_formatter) << endl;    // is equivalent
          line = _parser->lineno();
       }
       return OK;
  }
  
  

slide: the actual process