Gentoo Archives: gentoo-soc

From: Nathan Eloe <powerofazure@×××××.com>
To: gentoo-soc <gentoo-soc@l.g.o>
Subject: [gentoo-soc] libbash: Weekly Progress report #4
Date: Mon, 21 Jun 2010 23:34:26
Message-Id: 4C1FF6F4.7070600@gmail.com
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-----