1 |
-----BEGIN PGP SIGNED MESSAGE----- |
2 |
Hash: SHA1 |
3 |
|
4 |
Hello all |
5 |
|
6 |
As of right now, the parser can handle most situations: there are very |
7 |
few features of bash that are not implemented, and hopefully by the end |
8 |
of this week I'll be able to parse any bash script. |
9 |
|
10 |
Right now, I'm working on tying a lot of little things together since |
11 |
I've developed small portions of the AST in isolation from the rest. |
12 |
Once all of the sub-ASTs are integrated into the main grammar, I can |
13 |
begin to make them use each other to allow. With a couple of |
14 |
exceptions, this is the only thing that's truly necessary to have a |
15 |
functioning bash AST parser. |
16 |
|
17 |
Individual goals that have been reached in the past week: |
18 |
|
19 |
* Endlines are now acceptable delimiters in lists, allowing multi-line |
20 |
bash programs |
21 |
* Compound commands are now allowed in pipelines, which allow using |
22 |
conditional statements, arithmetic statements, case statements, etc. |
23 |
* the handling of non-ASCII characters has been fixed. (before, only |
24 |
ASCII characters were allowed in filenames, which severely limited the |
25 |
usefulness of the parser) |
26 |
* the AST for variable assignments has been fixed. |
27 |
* "empty commands" are now allowed: basically, now variable |
28 |
declarations, etc can be on a line w/o a command. |
29 |
* token fixes: A LOT of tokens were conflicting with others. I've |
30 |
removed some of the tokens and made them rules which aggregate tokens |
31 |
into larger tokens. It's messy, but then again, so is bash. And it |
32 |
works, which I was quite pleased to find as this was the major setback I |
33 |
encountered. |
34 |
|
35 |
Nathan |
36 |
-----BEGIN PGP SIGNATURE----- |
37 |
Version: GnuPG/MacGPG2 v2.0.14 (Darwin) |
38 |
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ |
39 |
|
40 |
iEYEARECAAYFAkwf9vQACgkQFpoRlVgtqKY6twCgheSCsQjAgO35sG6eDYmhHedx |
41 |
6rUAniGXPPwqBfnsc2Bt31Q8gb6Lttba |
42 |
=UENz |
43 |
-----END PGP SIGNATURE----- |