From 4c1ec5b00305760d04bc682e5c3539d8db1d8298 Mon Sep 17 00:00:00 2001 From: tracer-ysyx Date: Fri, 12 Jan 2024 21:25:07 +0800 Subject: [PATCH] =?UTF-8?q?>=20compile=20NEMU=20ysyx=5F22040000=20?= =?UTF-8?q?=E6=9D=8E=E5=BF=83=E6=9D=A8=20Linux=20calcite=206.1.69=20#1-Nix?= =?UTF-8?q?OS=20SMP=20PREEMPT=5FDYNAMIC=20Wed=20Dec=2020=2016:00:29=20UTC?= =?UTF-8?q?=202023=20x86=5F64=20GNU/Linux=20=2021:25:07=20=20up=20=2021:40?= =?UTF-8?q?,=20=202=20users,=20=20load=20average:=200.81,=200.77,=200.89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/monitor/sdb/addrexp.tag.c | 55 ++++++++++--------- nemu/scripts/build.mk | 10 ++-- nemu/src/monitor/sdb/addrexp.h | 2 +- nemu/src/monitor/sdb/sdb.c | 4 +- 4 files changed, 36 insertions(+), 35 deletions(-) diff --git a/nemu/build/obj-riscv32-nemu-interpreter/src/monitor/sdb/addrexp.tag.c b/nemu/build/obj-riscv32-nemu-interpreter/src/monitor/sdb/addrexp.tag.c index 90bafd6..b5f6336 100644 --- a/nemu/build/obj-riscv32-nemu-interpreter/src/monitor/sdb/addrexp.tag.c +++ b/nemu/build/obj-riscv32-nemu-interpreter/src/monitor/sdb/addrexp.tag.c @@ -71,12 +71,13 @@ #include #include + #include extern int yylex(void); void yyerror(const char *s) { fprintf(stderr, "Error: %s\n", s); } -#line 80 "/home/xin/repo/ysyx-workbench/nemu/build/obj-riscv32-nemu-interpreter/src/monitor/sdb/addrexp.tag.c" +#line 81 "/home/xin/repo/ysyx-workbench/nemu/build/obj-riscv32-nemu-interpreter/src/monitor/sdb/addrexp.tag.c" # ifndef YY_CAST # ifdef __cplusplus @@ -505,8 +506,8 @@ static const yytype_int8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int8 yyrline[] = { - 0, 15, 15, 19, 20, 21, 25, 26, 27, 31, - 32, 33, 34 + 0, 17, 17, 21, 22, 23, 27, 28, 29, 33, + 34, 35, 36 }; #endif @@ -1074,73 +1075,73 @@ yyreduce: switch (yyn) { case 2: /* input: expression */ -#line 15 "src/monitor/sdb/addrexp.y" +#line 17 "src/monitor/sdb/addrexp.y" { printf("Final Result: %d\n", yyvsp[0]); } -#line 1080 "/home/xin/repo/ysyx-workbench/nemu/build/obj-riscv32-nemu-interpreter/src/monitor/sdb/addrexp.tag.c" +#line 1081 "/home/xin/repo/ysyx-workbench/nemu/build/obj-riscv32-nemu-interpreter/src/monitor/sdb/addrexp.tag.c" break; case 3: /* expression: term */ -#line 19 "src/monitor/sdb/addrexp.y" +#line 21 "src/monitor/sdb/addrexp.y" { yyval = yyvsp[0]; } -#line 1086 "/home/xin/repo/ysyx-workbench/nemu/build/obj-riscv32-nemu-interpreter/src/monitor/sdb/addrexp.tag.c" +#line 1087 "/home/xin/repo/ysyx-workbench/nemu/build/obj-riscv32-nemu-interpreter/src/monitor/sdb/addrexp.tag.c" break; case 4: /* expression: expression '+' term */ -#line 20 "src/monitor/sdb/addrexp.y" +#line 22 "src/monitor/sdb/addrexp.y" { yyval = yyvsp[-2] + yyvsp[0]; } -#line 1092 "/home/xin/repo/ysyx-workbench/nemu/build/obj-riscv32-nemu-interpreter/src/monitor/sdb/addrexp.tag.c" +#line 1093 "/home/xin/repo/ysyx-workbench/nemu/build/obj-riscv32-nemu-interpreter/src/monitor/sdb/addrexp.tag.c" break; case 5: /* expression: expression '-' term */ -#line 21 "src/monitor/sdb/addrexp.y" +#line 23 "src/monitor/sdb/addrexp.y" { yyval = yyvsp[-2] - yyvsp[0]; } -#line 1098 "/home/xin/repo/ysyx-workbench/nemu/build/obj-riscv32-nemu-interpreter/src/monitor/sdb/addrexp.tag.c" +#line 1099 "/home/xin/repo/ysyx-workbench/nemu/build/obj-riscv32-nemu-interpreter/src/monitor/sdb/addrexp.tag.c" break; case 6: /* term: factor */ -#line 25 "src/monitor/sdb/addrexp.y" +#line 27 "src/monitor/sdb/addrexp.y" { yyval = yyvsp[0]; } -#line 1104 "/home/xin/repo/ysyx-workbench/nemu/build/obj-riscv32-nemu-interpreter/src/monitor/sdb/addrexp.tag.c" +#line 1105 "/home/xin/repo/ysyx-workbench/nemu/build/obj-riscv32-nemu-interpreter/src/monitor/sdb/addrexp.tag.c" break; case 7: /* term: term '*' factor */ -#line 26 "src/monitor/sdb/addrexp.y" +#line 28 "src/monitor/sdb/addrexp.y" { yyval = yyvsp[-2] * yyvsp[0]; } -#line 1110 "/home/xin/repo/ysyx-workbench/nemu/build/obj-riscv32-nemu-interpreter/src/monitor/sdb/addrexp.tag.c" +#line 1111 "/home/xin/repo/ysyx-workbench/nemu/build/obj-riscv32-nemu-interpreter/src/monitor/sdb/addrexp.tag.c" break; case 8: /* term: term '/' factor */ -#line 27 "src/monitor/sdb/addrexp.y" +#line 29 "src/monitor/sdb/addrexp.y" { yyval = yyvsp[-2] / yyvsp[0]; } -#line 1116 "/home/xin/repo/ysyx-workbench/nemu/build/obj-riscv32-nemu-interpreter/src/monitor/sdb/addrexp.tag.c" +#line 1117 "/home/xin/repo/ysyx-workbench/nemu/build/obj-riscv32-nemu-interpreter/src/monitor/sdb/addrexp.tag.c" break; case 9: /* factor: NUMBER */ -#line 31 "src/monitor/sdb/addrexp.y" +#line 33 "src/monitor/sdb/addrexp.y" { yyval = yyvsp[0]; } -#line 1122 "/home/xin/repo/ysyx-workbench/nemu/build/obj-riscv32-nemu-interpreter/src/monitor/sdb/addrexp.tag.c" +#line 1123 "/home/xin/repo/ysyx-workbench/nemu/build/obj-riscv32-nemu-interpreter/src/monitor/sdb/addrexp.tag.c" break; case 10: /* factor: HEX_NUMBER */ -#line 32 "src/monitor/sdb/addrexp.y" +#line 34 "src/monitor/sdb/addrexp.y" { yyval = yyvsp[0]; } -#line 1128 "/home/xin/repo/ysyx-workbench/nemu/build/obj-riscv32-nemu-interpreter/src/monitor/sdb/addrexp.tag.c" +#line 1129 "/home/xin/repo/ysyx-workbench/nemu/build/obj-riscv32-nemu-interpreter/src/monitor/sdb/addrexp.tag.c" break; case 11: /* factor: '-' factor */ -#line 33 "src/monitor/sdb/addrexp.y" +#line 35 "src/monitor/sdb/addrexp.y" { yyval = -yyvsp[0]; } -#line 1134 "/home/xin/repo/ysyx-workbench/nemu/build/obj-riscv32-nemu-interpreter/src/monitor/sdb/addrexp.tag.c" +#line 1135 "/home/xin/repo/ysyx-workbench/nemu/build/obj-riscv32-nemu-interpreter/src/monitor/sdb/addrexp.tag.c" break; case 12: /* factor: '(' expression ')' */ -#line 34 "src/monitor/sdb/addrexp.y" +#line 36 "src/monitor/sdb/addrexp.y" { yyval = yyvsp[-1]; } -#line 1140 "/home/xin/repo/ysyx-workbench/nemu/build/obj-riscv32-nemu-interpreter/src/monitor/sdb/addrexp.tag.c" +#line 1141 "/home/xin/repo/ysyx-workbench/nemu/build/obj-riscv32-nemu-interpreter/src/monitor/sdb/addrexp.tag.c" break; -#line 1144 "/home/xin/repo/ysyx-workbench/nemu/build/obj-riscv32-nemu-interpreter/src/monitor/sdb/addrexp.tag.c" +#line 1145 "/home/xin/repo/ysyx-workbench/nemu/build/obj-riscv32-nemu-interpreter/src/monitor/sdb/addrexp.tag.c" default: break; } @@ -1333,5 +1334,5 @@ yyreturnlab: return yyresult; } -#line 37 "src/monitor/sdb/addrexp.y" +#line 39 "src/monitor/sdb/addrexp.y" diff --git a/nemu/scripts/build.mk b/nemu/scripts/build.mk index 3cd172f..776b4cd 100644 --- a/nemu/scripts/build.mk +++ b/nemu/scripts/build.mk @@ -45,17 +45,17 @@ $(OBJ_DIR)/%.tag.c: %.y @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) -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.c: %.l $(OBJ_DIR)/%.tag.c - @echo + LEX $< - @mkdir -p $(dir $@) - @$(LEX) $(LFLAGS) -o $@ $< - $(OBJ_DIR)/%.yy.o: $(OBJ_DIR)/%.yy.c @echo + CC $< @mkdir -p $(dir $@) diff --git a/nemu/src/monitor/sdb/addrexp.h b/nemu/src/monitor/sdb/addrexp.h index b5310c4..cfd5e1e 100644 --- a/nemu/src/monitor/sdb/addrexp.h +++ b/nemu/src/monitor/sdb/addrexp.h @@ -69,7 +69,7 @@ extern int yydebug; /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef int YYSTYPE; +typedef uint32_t YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_DECLARED 1 #endif diff --git a/nemu/src/monitor/sdb/sdb.c b/nemu/src/monitor/sdb/sdb.c index 23218d5..dffb84d 100644 --- a/nemu/src/monitor/sdb/sdb.c +++ b/nemu/src/monitor/sdb/sdb.c @@ -326,8 +326,8 @@ void sdb_mainloop() { } void init_sdb() { - /* Compile the regular expressions. */ - init_regex(); + // /* Compile the regular expressions. */ + // init_regex(); /* Initialize the watchpoint pool. */ init_wp_pool();