> compile NEMU
ysyx_22040000 李心杨 Linux calcite 6.1.69 #1-NixOS SMP PREEMPT_DYNAMIC Wed Dec 20 16:00:29 UTC 2023 x86_64 GNU/Linux 21:25:07 up 21:40, 2 users, load average: 0.81, 0.77, 0.89
This commit is contained in:
parent
74fcff1ca7
commit
4c1ec5b003
4 changed files with 36 additions and 35 deletions
|
@ -71,12 +71,13 @@
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <stdint.h>
|
||||||
extern int yylex(void);
|
extern int yylex(void);
|
||||||
void yyerror(const char *s) {
|
void yyerror(const char *s) {
|
||||||
fprintf(stderr, "Error: %s\n", 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
|
# ifndef YY_CAST
|
||||||
# ifdef __cplusplus
|
# ifdef __cplusplus
|
||||||
|
@ -505,8 +506,8 @@ static const yytype_int8 yytranslate[] =
|
||||||
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
|
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
|
||||||
static const yytype_int8 yyrline[] =
|
static const yytype_int8 yyrline[] =
|
||||||
{
|
{
|
||||||
0, 15, 15, 19, 20, 21, 25, 26, 27, 31,
|
0, 17, 17, 21, 22, 23, 27, 28, 29, 33,
|
||||||
32, 33, 34
|
34, 35, 36
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1074,73 +1075,73 @@ yyreduce:
|
||||||
switch (yyn)
|
switch (yyn)
|
||||||
{
|
{
|
||||||
case 2: /* input: expression */
|
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]); }
|
{ 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;
|
break;
|
||||||
|
|
||||||
case 3: /* expression: term */
|
case 3: /* expression: term */
|
||||||
#line 19 "src/monitor/sdb/addrexp.y"
|
#line 21 "src/monitor/sdb/addrexp.y"
|
||||||
{ yyval = yyvsp[0]; }
|
{ 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;
|
break;
|
||||||
|
|
||||||
case 4: /* expression: expression '+' term */
|
case 4: /* expression: expression '+' term */
|
||||||
#line 20 "src/monitor/sdb/addrexp.y"
|
#line 22 "src/monitor/sdb/addrexp.y"
|
||||||
{ yyval = yyvsp[-2] + yyvsp[0]; }
|
{ 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;
|
break;
|
||||||
|
|
||||||
case 5: /* expression: expression '-' term */
|
case 5: /* expression: expression '-' term */
|
||||||
#line 21 "src/monitor/sdb/addrexp.y"
|
#line 23 "src/monitor/sdb/addrexp.y"
|
||||||
{ yyval = yyvsp[-2] - yyvsp[0]; }
|
{ 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;
|
break;
|
||||||
|
|
||||||
case 6: /* term: factor */
|
case 6: /* term: factor */
|
||||||
#line 25 "src/monitor/sdb/addrexp.y"
|
#line 27 "src/monitor/sdb/addrexp.y"
|
||||||
{ yyval = yyvsp[0]; }
|
{ 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;
|
break;
|
||||||
|
|
||||||
case 7: /* term: term '*' factor */
|
case 7: /* term: term '*' factor */
|
||||||
#line 26 "src/monitor/sdb/addrexp.y"
|
#line 28 "src/monitor/sdb/addrexp.y"
|
||||||
{ yyval = yyvsp[-2] * yyvsp[0]; }
|
{ 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;
|
break;
|
||||||
|
|
||||||
case 8: /* term: term '/' factor */
|
case 8: /* term: term '/' factor */
|
||||||
#line 27 "src/monitor/sdb/addrexp.y"
|
#line 29 "src/monitor/sdb/addrexp.y"
|
||||||
{ yyval = yyvsp[-2] / yyvsp[0]; }
|
{ 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;
|
break;
|
||||||
|
|
||||||
case 9: /* factor: NUMBER */
|
case 9: /* factor: NUMBER */
|
||||||
#line 31 "src/monitor/sdb/addrexp.y"
|
#line 33 "src/monitor/sdb/addrexp.y"
|
||||||
{ yyval = yyvsp[0]; }
|
{ 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;
|
break;
|
||||||
|
|
||||||
case 10: /* factor: HEX_NUMBER */
|
case 10: /* factor: HEX_NUMBER */
|
||||||
#line 32 "src/monitor/sdb/addrexp.y"
|
#line 34 "src/monitor/sdb/addrexp.y"
|
||||||
{ yyval = yyvsp[0]; }
|
{ 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;
|
break;
|
||||||
|
|
||||||
case 11: /* factor: '-' factor */
|
case 11: /* factor: '-' factor */
|
||||||
#line 33 "src/monitor/sdb/addrexp.y"
|
#line 35 "src/monitor/sdb/addrexp.y"
|
||||||
{ yyval = -yyvsp[0]; }
|
{ 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;
|
break;
|
||||||
|
|
||||||
case 12: /* factor: '(' expression ')' */
|
case 12: /* factor: '(' expression ')' */
|
||||||
#line 34 "src/monitor/sdb/addrexp.y"
|
#line 36 "src/monitor/sdb/addrexp.y"
|
||||||
{ yyval = yyvsp[-1]; }
|
{ 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;
|
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;
|
default: break;
|
||||||
}
|
}
|
||||||
|
@ -1333,5 +1334,5 @@ yyreturnlab:
|
||||||
return yyresult;
|
return yyresult;
|
||||||
}
|
}
|
||||||
|
|
||||||
#line 37 "src/monitor/sdb/addrexp.y"
|
#line 39 "src/monitor/sdb/addrexp.y"
|
||||||
|
|
||||||
|
|
|
@ -45,17 +45,17 @@ $(OBJ_DIR)/%.tag.c: %.y
|
||||||
@mkdir -p $(dir $@)
|
@mkdir -p $(dir $@)
|
||||||
@$(YACC) $(YFLAGS) --header=$(<:.y=.h) -o $@ $<
|
@$(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
|
$(OBJ_DIR)/%.tag.o: $(OBJ_DIR)/%.tag.c
|
||||||
@echo + CC $<
|
@echo + CC $<
|
||||||
@mkdir -p $(dir $@)
|
@mkdir -p $(dir $@)
|
||||||
@$(CC) $(CFLAGS) -c -o $@ $<
|
@$(CC) $(CFLAGS) -c -o $@ $<
|
||||||
$(call call_fixdep, $(@:.o=.d), $@)
|
$(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
|
$(OBJ_DIR)/%.yy.o: $(OBJ_DIR)/%.yy.c
|
||||||
@echo + CC $<
|
@echo + CC $<
|
||||||
@mkdir -p $(dir $@)
|
@mkdir -p $(dir $@)
|
||||||
|
|
|
@ -69,7 +69,7 @@ extern int yydebug;
|
||||||
|
|
||||||
/* Value type. */
|
/* Value type. */
|
||||||
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
|
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
|
||||||
typedef int YYSTYPE;
|
typedef uint32_t YYSTYPE;
|
||||||
# define YYSTYPE_IS_TRIVIAL 1
|
# define YYSTYPE_IS_TRIVIAL 1
|
||||||
# define YYSTYPE_IS_DECLARED 1
|
# define YYSTYPE_IS_DECLARED 1
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -326,8 +326,8 @@ void sdb_mainloop() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void init_sdb() {
|
void init_sdb() {
|
||||||
/* Compile the regular expressions. */
|
// /* Compile the regular expressions. */
|
||||||
init_regex();
|
// init_regex();
|
||||||
|
|
||||||
/* Initialize the watchpoint pool. */
|
/* Initialize the watchpoint pool. */
|
||||||
init_wp_pool();
|
init_wp_pool();
|
||||||
|
|
Loading…
Add table
Reference in a new issue