Skip to content

Commit

Permalink
finish pa1 report
Browse files Browse the repository at this point in the history
  • Loading branch information
wkzcml-1 committed Feb 28, 2022
1 parent 527a304 commit c4998f5
Showing 1 changed file with 32 additions and 1 deletion.
33 changes: 32 additions & 1 deletion reports/pa1/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,38 @@ Date: 2022/2/11

### 四. 简易调试器构建(2)

##### 4.1
##### 4.1 实现扩展表达式

* 由于我之前写的条理不够清晰,所以这部分我表达式是重写了一份

* 主要思想如下:

1. 首先利用栈对表达式的括号进行匹配
2. 对表达式进行预处理,如果识别出'*','+','-'判断其左部是否是个表达式,否则这些token则为单目运算符,需要改变token属性

3. 先判断当前处理表达式长度是否为1,如果是1则说明该表达式可能是10进制数,16进制数,或者是寄存器,调用相应接口实现取数

4. 判断表达式两边是否有括号匹配,如果匹配直接去括号

5. 尝试取主操作符,按照优先级从低到高,位置从左到右返回主操作符位置(注:此阶段并不考虑单目运算符)
6. 若无法匹配以上情况,只可能当前运算是单目运算,先取得运算符右边的值之后进行相应操作



##### 4.2 监视点

* 此阶段即为链表操作,感觉还可以



##### 4.3 编写shell脚本

```makefile
FILENUMS := $(shell find $(NEMU_HOME) -name "*.[c|h]" | wc --lines)
.PHONY: count
count:
@echo "Total num is $(FILENUMS)."
```



Expand Down

0 comments on commit c4998f5

Please sign in to comment.