www.pudn.com > cppcc.rar > main.cc
/* * File: main.cc * $Id: main.cc,v 1.3 2002/07/09 03:04:58 alec Exp $ * * Author: Alec Panoviciu (alecu@email.com) * * Comments: * * Revision history: * * $Log: main.cc,v $ * Revision 1.3 2002/07/09 03:04:58 alec * OWN_STRINGS bu*beep*it finally vanished * gcc 3.1&mingw - related cleanups * * Revision 1.2 2002/06/05 21:44:44 alec * release-ready * * Revision 1.1 2002/05/31 12:16:29 alec * *** empty log message *** * */ /* * This file is Public Domain software. Use it as you wish and in good * health. */ #include#include #include using namespace std; #include "c_parser.hh" using namespace cppcc; int main (int argc, char *argv[]) { argc--, argv++; istream *ifs; if (argc == 0) ifs = &cin; else ifs = new ifstream(argv[0]); /* CScanner s(ifs); s.setMarker(); cerr << "got \"" << s.la()->id << "\"\n"; s.unchecked_consume(); cerr << "got \"" << s.la()->id << "\"\n"; s.unchecked_consume(); cerr << "got \"" << s.la()->id << "\"\n"; s.unchecked_consume(); s.setMarker(); cerr << "got \"" << s.la()->id << "\"\n"; s.unchecked_consume(); cerr << "got \"" << s.la()->id << "\"\n"; s.unchecked_consume(); cerr << "got \"" << s.la()->id << "\"\n"; s.unchecked_consume(); s.rewindToMarker(); cerr << "got \"" << s.la()->id << "\"\n"; s.unchecked_consume(); cerr << "got \"" << s.la()->id << "\"\n"; s.unchecked_consume(); cerr << "got \"" << s.la()->id << "\"\n"; s.unchecked_consume(); s.rewindToMarker(); cerr << "got \"" << s.la()->id << "\"\n"; */ CParser parser(ifs); try { parser.file(); } catch (ScanException &scex) { cerr << argv[0] << ": " << (string) scex << endl; return 1; } catch (ParseException &pex) { cerr << argv[0] << ": " << (string) pex << "( before: " << parser.scanner.la(0)->image() << " " << parser.scanner.la(1)->image() << ")" << endl; return 1; } /* CScanner scanner(ifs); for (;;) { CToken *token = scanner.la(); if (token->id == CToken::eof) break; scanner.unchecked_consume(); } */ return 0; }