The following content is copied from my weekly report email in gentoo-soc mail list
This year I will work on the libbash runtime project. A short introduction for this project:
Libbash will enable programs to use Abstract Syntax Trees(AST) to parse and interpret *shell* scripts directly instead of using regular expressions. Most of bash 3.2 syntax will be supported. This will be a great benefit to programs both outside and inside Gentoo, including Portage/Paludis and repoman.
For more information, I wrote an introduction explaining its potential usage and benchmark. There’s also a home page for this project. You can find out the rationale, plan and detailed progress there(most content comes from my GSoC proposal).
As the first weekly report, I’d like to briefly talk about our current progress. I’ve been contributing to this project since March , so we have done a lot of things. Here’s a summary:
- Parser grammar improvement
- Build system improvement(C++ hidden visibility, developer flags, gcov, etc.)
- Shell arithmetic
- Variable(string, array) definition and reference
- Variable expansion
- Shell pattern matching
- Compound statement(if, for, while, until, case)
- Shell test expression
- Command execution and substitution
- Shell function
- Several shell built-ins(source, let, etc.)
- Utilities(ast_printer, reimplemented version of Paludis instruo, etc.)
For more detailed information, please visit our home page, my blog or our git repository.
Here are some resources we have:
- CI server(not public accessible yet)
- Agilefant server(for Scrum)
- Test coverage report
- Callgrind and massif target
- Github repository (latest commits)
- Canonical repository (reviewed commits)
- Home page
- #gentoo-libbash IRC channel
Now we can generate correct metadata for 2934 ebuilds(There are 27289 in total). We will get more and more during the summer.