/* * Copyright 2006 Haiku, Inc. All Rights Reserved. * Copyright 1997, 1998 R3 Software Ltd. All Rights Reserved. * Distributed under the terms of the MIT License. * * Authors: * Timothy Wayper * Stephan Aßmus */ #include #include "CalcApplication.h" #include "ExpressionParser.h" int main(int argc, char* argv[]) { if (argc == 1) { // run GUI CalcApplication* app = new CalcApplication(); app->Run(); delete app; } else { // evaluate expression from command line BString expression; int32 i = 1; while (i < argc) { expression << argv[i]; i++; } try { ExpressionParser parser; BString result = parser.Evaluate(expression.String()); printf("%s\n", result.String()); } catch (ParseException& e) { printf("%s at %" B_PRId32 "\n", e.message.String(), e.position + 1); return 1; } } return 0; }