int main(int argc, char *argv[]) { gtk_init(&argc, &argv); SilikoFunctionCallerSetUp(); GtkBuilder *MainWindow = EvalWindowNew(); gtk_widget_show(GTK_WIDGET(gtk_builder_get_object(MainWindow, "EvalWindow"))); gtk_main(); SilikoFunctionCallerTearDown(); return 0; }
int main(int argc, char *argv[]) { SilikoValue value; SilikoSyntaxTreeNode *tree; const char *prompt; const char *response; if (ISATTY()) { prompt = "> "; response = "= "; } else { prompt = ""; response = ""; } SilikoFunctionCallerSetUp(); char *expression = NULL; char *old_expression = NULL; while(-1) { expression = readline(prompt); if(!expression) { free(old_expression); old_expression = NULL; break; } if(*expression && (!old_expression || strcmp(expression, old_expression) != 0)) add_history(expression); free(old_expression); old_expression = NULL; tree = SilikoParseInfix( SilikoStringSourceNew(expression)); value = SilikoSyntaxTreeEvaluate(tree); SilikoSyntaxTreeDelete(tree); char *ResultString = SilikoValueToString(value); printf("%s\n", ResultString); free(ResultString); old_expression = expression; } SilikoFunctionCallerTearDown(); if (ISATTY()) { fputc('\n', stdout); fflush(stdout); } return 0; }