1 |
Finally I have done with the backtracking removal. Now doing semantic |
2 |
predicate is much easier. With this change, I successfully supported |
3 |
here document, which was the biggest blocker before I started this work. |
4 |
In addition, the performance is better. I used valgrind to get |
5 |
performance comparison. Here is the output of ms_print (post-processing |
6 |
tool for Massif) before and after backtracking removal: before[1], |
7 |
after[2]. I reduced about 38% memory usage and got the library run 20% |
8 |
faster. |
9 |
|
10 |
What I have done in the past week: |
11 |
|
12 |
Completed the work on the new parser and incorporated it to our project |
13 |
Improved parameter expansion parsing and its runtime |
14 |
Improved built-in and keyword test |
15 |
Improved the runtime for case statement |
16 |
Improved arithmetic expansion |
17 |
Improved the local built-in |
18 |
Fixed some minor problems in compound statement and parameter expansion |
19 |
Reimplemented the export built-in |
20 |
Removed several tokens to avoid conflicts |
21 |
Improved here document and here string |
22 |
Fixed single quoted string in command substitution |
23 |
|
24 |
In the following week, I will: |
25 |
|
26 |
Get backtracking removal pushed |
27 |
Fix our instruo implementation (now it crashes with the new grammar) |
28 |
Improve process substitution |
29 |
Support redirection without any command |
30 |
Reimplement the local built-in |
31 |
Fix some minor problems in variable expansion and bash test |
32 |
Remove some composite tokens |
33 |
|
34 |
I started working on this project early and I will start seeking a job |
35 |
soon (I’ll soon graduate from my university). So Petteri and I agreed to |
36 |
end the GSoC on 08.06. As a result, this is the last iteration of this |
37 |
year’s GSoC. I’ll write one more regular report and a final report |
38 |
before the end. I’ll continue my work on this project as soon as I get a |
39 |
job :). |
40 |
|
41 |
[1] http://dev.gentoo.org/~qiaomuf/massif.before |
42 |
[2] http://dev.gentoo.org/~qiaomuf/massif.after |
43 |
|
44 |
-- |
45 |
Best wishes, |
46 |
Mu Qiao |
47 |
GnuPG fingerprint: 92B1 B0C4 8D14 F8C4 EFA5 3ACC 30B3 0DE4 17B1 57E9 |