Просмотр исходного кода

only print out ast if DEBUG env var is set.

Lucas Stadler лет назад: 12
Родитель
Сommit
da959447eb
1 измененных файлов с 8 добавлено и 1 удалено
  1. 8 1
      c/mul/main.c

+ 8 - 1
c/mul/main.c

35
}
35
}
36
36
37
int main(int argc, char** argv) {
37
int main(int argc, char** argv) {
38
	int debug_mode = 0;
39
	if (getenv("DEBUG")) {
40
		debug_mode = 1;
41
	}
42
38
	mpc_parser_t* Number = mpc_new("number");
43
	mpc_parser_t* Number = mpc_new("number");
39
	mpc_parser_t* Operator = mpc_new("operator");
44
	mpc_parser_t* Operator = mpc_new("operator");
40
	mpc_parser_t* Expr = mpc_new("expr");
45
	mpc_parser_t* Expr = mpc_new("expr");
58
		mpc_result_t r;
63
		mpc_result_t r;
59
		if (mpc_parse("<stdin>", input, Lang, &r)) {
64
		if (mpc_parse("<stdin>", input, Lang, &r)) {
60
			mpc_ast_t* t = r.output;
65
			mpc_ast_t* t = r.output;
61
			mpc_ast_print(t->children[1]);
66
			if (debug_mode) {
67
				mpc_ast_print(t->children[1]);
68
			}
62
			long result = eval(t->children[1]);
69
			long result = eval(t->children[1]);
63
			printf("%li\n", result);
70
			printf("%li\n", result);
64
			mpc_ast_delete(r.output);
71
			mpc_ast_delete(r.output);