//
//  NAME
//    asgn1.cpp
//
//  DESCRIPTION
//    This file contains the functions in the Main module.
//    This module contains the top-level functions of the program.
//


//
//  Include files.
//

#include <iostream.h>
#include <string.h>
#include "bool.h"
#include "parse.h"
#include "eval.h"


//
//  NAME
//    main
//
//  DESCRIPTION
//    This function is the top-level function of the program.
//
//  PARAMETERS
//    (none)
//
//  RETURNS
//    0
//

int main() {
   char   str[100];
   expr * e         = NULL;
   bool   done      = false;

   while (!done) {
      cout << "Enter an expression: ";
      cin.getline(str, 100);

      if (strlen(str) == 0) {
         done = true;
         }

      else {
         e = parse(str);
         display(e);
         cout << endl;
         cout << evaluate(e) << endl << endl;
         freeExpr(e);
         }

      }

   return 0;
}


//
//  End of file.
//