pa1.2: use flex and bason to implement expr parser

This commit is contained in:
xinyangli 2024-01-12 22:16:35 +08:00
parent 69264e69c6
commit 9cca9de2a8
No known key found for this signature in database
11 changed files with 297 additions and 29 deletions

View file

@ -40,6 +40,28 @@ $(OBJ_DIR)/%.o: %.cc
@$(CXX) $(CFLAGS) $(CXXFLAGS) -c -o $@ $<
$(call call_fixdep, $(@:.o=.d), $@)
$(OBJ_DIR)/%.tag.c: %.y
@echo + YACC $<
@mkdir -p $(dir $@)
@$(YACC) $(YFLAGS) --header=$(<:.y=.h) -o $@ $<
$(OBJ_DIR)/%.yy.c: %.l $(OBJ_DIR)/%.tag.c
@echo + LEX $<
@mkdir -p $(dir $@)
@$(LEX) $(LFLAGS) --header=$(<:.l=_lex.h) -o $@ $<
$(OBJ_DIR)/%.tag.o: $(OBJ_DIR)/%.tag.c
@echo + CC $<
@mkdir -p $(dir $@)
@$(CC) $(CFLAGS) -c -o $@ $<
$(call call_fixdep, $(@:.o=.d), $@)
$(OBJ_DIR)/%.yy.o: $(OBJ_DIR)/%.yy.c
@echo + CC $<
@mkdir -p $(dir $@)
@$(CC) $(CFLAGS) -c -o $@ $<
$(call call_fixdep, $(@:.o=.d), $@)
# Depencies
-include $(OBJS:.o=.d)