Esempio n. 1
0
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);
		}