Removed unneeded #includes from various files.
[rpn.git] / src / Main.cpp
blob03773c6ffac6fc65ec3ad3040db2bfbcf4d764a7
1 /*******************************************************************************
2 * Reverse Polish Notation calculator. *
3 * Copyright (c) 2007-2009, Samuel Fredrickson <kinghajj@gmail.com> *
4 * All rights reserved. *
5 * *
6 * Redistribution and use in source and binary forms, with or without *
7 * modification, are permitted provided that the following conditions are met: *
8 * * Redistributions of source code must retain the above copyright *
9 * notice, this list of conditions and the following disclaimer. *
10 * * Redistributions in binary form must reproduce the above copyright *
11 * notice, this list of conditions and the following disclaimer in the *
12 * documentation and/or other materials provided with the distribution. *
13 * *
14 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ``AS IS'' AND ANY EXPRESS *
15 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED *
16 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *
17 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY *
18 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES *
19 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR *
20 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER *
21 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT *
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY *
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH *
24 * DAMAGE. *
25 ******************************************************************************/
27 /*******************************************************************************
28 * Main.cpp - the entry point to the program. *
29 ******************************************************************************/
31 #include "rpn.h"
32 using namespace std;
33 using namespace RPN;
35 #ifdef RPN_PSP
36 // Tell the PSP about the program.
37 PSP_MODULE_INFO("PSPRPN", 0, 1, 1);
38 #endif
40 int main(int argc, char *argv[])
42 Calculator calculator;
44 #ifdef RPN_CONSOLE
45 Arguments arguments;
46 setupArguments(arguments);
47 bool run = processArguments(vectorize(argv, argc), arguments, calculator);
48 #else
49 bool run = true;
50 #endif
52 Port::Setup();
54 if(run)
55 while(calculator.IsRunning() && Port::CanRun())
57 string s;
58 Print('[');
59 calculator.Display();
60 Print("]> ");
61 s = Port::GetLine();
62 calculator.Eval(s);
65 Port::Post();
67 return 0;