int main( int argc, char *argv[] ) { istream *br; ifstream infile; if( argc == 1 ) br = &cin; else if( argc == 2 ) { infile.open(argv[1]); if( infile.is_open() ) br = &infile; else { usage(argv[0], "Cannot open " + string(argv[1])); return 1; } } else { usage(argv[0], "More than one file name was given"); return 1; } PTree *program; program = Program(br); if( !program || errcnt ) return 0; cout << "Node Count Is: " << program->nodeCount() << endl; program->findEmptyStrings(); program->findInvalidOps(); return 0; }