diff --git a/Makefile b/Makefile index 150b04a..f2d0f83 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,8 @@ CC = gcc -CPPFLAGS = -Isrc/ -D_POSIX_C_SOURCE=200809L +CPPFLAGS = -Isrc/ -D_POSIX_C_SOURCE=200809L -D_USE_CLIMBING=$(USE_CLIMBING) CFLAGS = -Wall -Wextra -pedantic -Werror -std=c99 VPATH = src/ +USE_CLIMBING = 1 SRC = \ src/ast/ast.c \ diff --git a/src/evalexpr.c b/src/evalexpr.c index 50c431b..67432d5 100644 --- a/src/evalexpr.c +++ b/src/evalexpr.c @@ -5,6 +5,10 @@ #include "eval/eval.h" #include "parse/parse.h" +#ifndef _USE_CLIMBING +# define _USE_CLIMBING 0 +#endif + int main(void) { char *line = NULL; @@ -13,7 +17,11 @@ int main(void) while ((getline(&line, &size, stdin)) > 0) { +#if _USE_CLIMBING + struct ast_node *ast = climbing_parse(line); +#else struct ast_node *ast = recursive_parse(line); +#endif if (ast == NULL) {