handle superscript powers

This commit is contained in:
hugogogo
2026-05-06 20:01:41 +02:00
parent 4b6ad34720
commit 16c57c9bea
8 changed files with 130 additions and 44 deletions

View File

@@ -43,6 +43,7 @@ SRCS = main.c \
parser.c \
reducer.c \
errors.c \
printer.c \
print_enums.c
# COMPILATION CONFIG :
@@ -97,16 +98,24 @@ $(NAME): $(OBJS)
$(CC) $(OBJS) -o $@ $(LFLAGS)
run: $(NAME)
@echo $(B_PURPLE)"\n---------------------------------------------\n1. run with flag '-d' as last \n"$(RESET)
./$(NAME) "3.4 * x^2 + 1 * x^1 - 2.0 * x^0 = 5.123 * x^1" -d
@echo $(B_PURPLE)"\n---------------------------------------------\n2. run without flag \n"$(RESET)
./$(NAME) "3 * x^2 + 5 * x^1 - 2 * x^0 = 5 * x^1"
-./$(NAME) "3 * x^2 + 5 * x^1 - 2 * x^0 = 5 * x^1"
@echo $(B_PURPLE)"\n---------------------------------------------\n1. run with flag '-d' as last \n"$(RESET)
-./$(NAME) "3.4 * x^2 + 1 * x^1 - 2.0 * x^0 = 5 * x^1" -d
@echo $(B_PURPLE)"\n---------------------------------------------\n3. run with flag '-d' as first \n"$(RESET)
./$(NAME) -d "3*x^2 + 2*x = 0"
@echo $(B_PURPLE)"\n---------------------------------------------\n4. run with wrong flag '-e' \n"$(RESET)
-./$(NAME) -d -e "3*x^2 + 2*x -7x^4 = x^4"
@echo $(B_PURPLE)"\n---------------------------------------------\n5. run \n"$(RESET)
./$(NAME) -d "3*x^2 + 2*x -7x^3 = x^3"
-./$(NAME) -d "3 * x^2 + 2 * x^2 = 5 * x^1"
@echo $(B_PURPLE)"\n---------------------------------------------\n4. run with wrong flag '-e' SHOULD FAIL \n"$(RESET)
-./$(NAME) -d -e "3 * x^2 + 2 * x - 7 * x^4 = 1 * x^4"
@echo $(B_PURPLE)"\n---------------------------------------------\n3. run with free form \n"$(RESET)
-./$(NAME) -d "3*x^2 + 2x = 0"
@echo $(B_PURPLE)"\n---------------------------------------------\n1. run with float coefficient \n"$(RESET)
-./$(NAME) -d "3.4 * x^2 + 1 * x^1 - 2.0 * x^0 = 5.123 * x^1"
@echo $(B_PURPLE)"\n---------------------------------------------\n1. run with float exponent SHOULD FAILS \n"$(RESET)
-./$(NAME) -d "3.4 * x^2 + 1 * x^1 - 2.0 * x^0 = 5 * x^1.2"
@echo $(B_PURPLE)"\n---------------------------------------------\n4. run with power 4 \n"$(RESET)
-./$(NAME) -d "3x^2 + 2x -7x^4 = x^4"
@echo $(B_PURPLE)"\n---------------------------------------------\n5. run with utf8 \n"$(RESET)
-./$(NAME) -d "3x² + 2x -7x³ = x³"
clean:
$(RM_OBJS)