From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1OQqVV-0003vg-IW for garchives@archives.gentoo.org; Mon, 21 Jun 2010 23:34:26 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id B1041E0D26; Mon, 21 Jun 2010 23:34:17 +0000 (UTC) Received: from mail-iw0-f181.google.com (mail-iw0-f181.google.com [209.85.214.181]) by pigeon.gentoo.org (Postfix) with ESMTP id 75F3AE0D26 for ; Mon, 21 Jun 2010 23:34:17 +0000 (UTC) Received: by iwn34 with SMTP id 34so2444283iwn.40 for ; Mon, 21 Jun 2010 16:34:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:subject:x-enigmail-version:content-type :content-transfer-encoding; bh=MQFFYdBesdwGuPL+od3LQ/Cb4U22v15M6vkP12JIl8w=; b=KmcL6rlIev1qk1OBlWf53E5rFYNba6FpvQQ+kNSj64qPYYOrbvY0+7jnJUAYqpp7hV nYXBMUuAWhcMl8W9ae3o4LJc9dSPyKAjpLdO2oqOx6PzVfkCxcr/mCBsuNuTIkzsHzmI 5xUkgYoq1QA1q+QKbDsf8bvcxuzY3itfw/Lrg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject :x-enigmail-version:content-type:content-transfer-encoding; b=ZD8R9e06TDkn5EHqakWATAz79SjpgU/NUEQzGn++P2q+D10EVlGxqHHS+UckFNHm/j M6oFumxa7IsgNY62sOEMi8w3zT1FT12PC/U/SbdFtTCqMZC2wXAnVeExDAncEsjBPNaP 2uzBJBJdUCi4o+LyXZV1hqg+mOyGORM0H8VBo= Received: by 10.231.119.102 with SMTP id y38mr6235230ibq.135.1277163256540; Mon, 21 Jun 2010 16:34:16 -0700 (PDT) Received: from Quiksilver.local (67-43-242-191-cablemodem-roll.fidnet.com [67.43.242.191]) by mx.google.com with ESMTPS id d9sm658484ibl.16.2010.06.21.16.34.14 (version=SSLv3 cipher=RC4-MD5); Mon, 21 Jun 2010 16:34:15 -0700 (PDT) Message-ID: <4C1FF6F4.7070600@gmail.com> Date: Mon, 21 Jun 2010 18:34:12 -0500 From: Nathan Eloe User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.1.10) Gecko/20100512 Thunderbird/3.0.5 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-soc@lists.gentoo.org Reply-to: gentoo-soc@lists.gentoo.org MIME-Version: 1.0 To: gentoo-soc Subject: [gentoo-soc] libbash: Weekly Progress report #4 X-Enigmail-Version: 1.0.1 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Archives-Salt: aaac08c7-36ce-4160-8233-c41ba3bc6f0a X-Archives-Hash: 8d828f2f6b36db8a7b7691f844fd67cb -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello all As of right now, the parser can handle most situations: there are very few features of bash that are not implemented, and hopefully by the end of this week I'll be able to parse any bash script. Right now, I'm working on tying a lot of little things together since I've developed small portions of the AST in isolation from the rest. Once all of the sub-ASTs are integrated into the main grammar, I can begin to make them use each other to allow. With a couple of exceptions, this is the only thing that's truly necessary to have a functioning bash AST parser. Individual goals that have been reached in the past week: * Endlines are now acceptable delimiters in lists, allowing multi-line bash programs * Compound commands are now allowed in pipelines, which allow using conditional statements, arithmetic statements, case statements, etc. * the handling of non-ASCII characters has been fixed. (before, only ASCII characters were allowed in filenames, which severely limited the usefulness of the parser) * the AST for variable assignments has been fixed. * "empty commands" are now allowed: basically, now variable declarations, etc can be on a line w/o a command. * token fixes: A LOT of tokens were conflicting with others. I've removed some of the tokens and made them rules which aggregate tokens into larger tokens. It's messy, but then again, so is bash. And it works, which I was quite pleased to find as this was the major setback I encountered. Nathan -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.14 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkwf9vQACgkQFpoRlVgtqKY6twCgheSCsQjAgO35sG6eDYmhHedx 6rUAniGXPPwqBfnsc2Bt31Q8gb6Lttba =UENz -----END PGP SIGNATURE-----