int main(int argc, char* argv) { while (true) { try { char* input; printf("calc>"); scanf("%s", input); NullTerminate(input); Lexer* lex = new Lexer(input); Interpreter* interp = new Interpreter(lex); float result; int error = interp->Expression(result); if (!error) { printf("\n%f\n", result); } delete interp; delete lex; } catch (AccessViolationException^ ave) { Console::WriteLine(ave->Message); } catch (NullReferenceException^ nre) { Console::WriteLine(nre->Source); Console::WriteLine(nre->Message); Console::WriteLine(nre->StackTrace); }