1 |
Hello everyone, |
2 |
|
3 |
This year I will work on the libbash runtime project. A short |
4 |
introduction for this project: |
5 |
|
6 |
Libbash will enable programs to use Abstract Syntax Trees(AST) to parse |
7 |
and interpret *shell* scripts directly instead of using regular |
8 |
expressions. Most of bash 3.2 syntax will be supported. This will be a |
9 |
great benefit to programs both outside and inside Gentoo, including |
10 |
Portage/Paludis and repoman. |
11 |
|
12 |
For more information, I wrote an introduction[1] explaining its |
13 |
potential usage and benchmark. There's also a home page[2] for this |
14 |
project. You can find out the rationale, plan and detailed progress |
15 |
there(most content comes from my GSoC proposal). |
16 |
|
17 |
As the first weekly report, I'd like to briefly talk about our current |
18 |
progress. I've been contributing to this project since March so we have |
19 |
done a lot of things. Here's a summary: |
20 |
* Parser grammar improvement |
21 |
* Build system improvement(C++ hidden visibility, developer flags, |
22 |
gcov, etc.) |
23 |
* Shell arithmetic |
24 |
* Variable(string, array) definition and reference |
25 |
* Variable expansion |
26 |
* Shell pattern matching |
27 |
* Compound statement(if, for, while, until, case) |
28 |
* Shell test expression |
29 |
* Command execution and substitution |
30 |
* Shell function |
31 |
* Several shell built-ins(source, let, etc.) |
32 |
* Utilities(ast_printer, reimplemented version of Paludis instruo, etc.) |
33 |
For more detailed information, please visit our home page[2], my blog[5] |
34 |
or our git repository[3]. |
35 |
|
36 |
Here are some resources we have: |
37 |
* CI server(not public accessible yet) |
38 |
* Agilefant server(for Scrum) |
39 |
* Test coverage report |
40 |
* Callgrind and massif target |
41 |
* Github repository[4] (latest commits) |
42 |
* Canonical repository[3] (reviewed commits) |
43 |
* Home page[2] |
44 |
* #gentoo-libbash IRC channel |
45 |
|
46 |
Now we can generate correct metadata for 2934 ebuilds(There are 27289 |
47 |
in total). We will get more and more during the summer. |
48 |
|
49 |
[1]http://qiaomuf.wordpress.com/2011/05/05/introduction-to-libbash/ |
50 |
[2]http://dev.gentoo.org/~qiaomuf/libbash.html |
51 |
[3]http://git.overlays.gentoo.org/gitweb/?p=proj/libbash.git;a=summary |
52 |
[4]https://github.com/qiaomuf/libbash |
53 |
[5]http://qiaomuf.wordpress.com |
54 |
|
55 |
-- |
56 |
Best wishes, |
57 |
Mu Qiao |
58 |
GnuPG fingerprint: 92B1 B0C4 8D14 F8C4 EFA5 3ACC 30B3 0DE4 17B1 57E9 |