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 1Q9Xsh-00028a-CA for garchives@archives.gentoo.org; Tue, 12 Apr 2011 07:19:23 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 9A0B11C0AA; Tue, 12 Apr 2011 07:19:16 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 3AA0E1C0A9 for ; Tue, 12 Apr 2011 07:19:16 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 9FE8A1BC0F4 for ; Tue, 12 Apr 2011 07:19:15 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id 058478006D for ; Tue, 12 Apr 2011 07:19:15 +0000 (UTC) From: "Petteri Räty" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Petteri Räty" Message-ID: Subject: [gentoo-commits] proj/libbash:master commit in: bashast/, bashast/gunit/, bashast/features_script/ X-VCS-Repository: proj/libbash X-VCS-Files: bashast/bashast.g bashast/features_script/features.sh.ast bashast/gunit/param_main.gunit X-VCS-Directories: bashast/ bashast/gunit/ bashast/features_script/ X-VCS-Committer: betelgeuse X-VCS-Committer-Name: Petteri Räty X-VCS-Revision: fa52bc79f302f87c9811e577ee8810bcdae03fc2 Date: Tue, 12 Apr 2011 07:19:15 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: 2807632e737983480d63c97b3b3f802e commit: fa52bc79f302f87c9811e577ee8810bcdae03fc2 Author: Petteri R=C3=A4ty petteriraty eu> AuthorDate: Mon Apr 11 15:39:59 2011 +0000 Commit: Petteri R=C3=A4ty gentoo org> CommitDate: Tue Apr 12 06:23:30 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/libbash.git;a= =3Dcommit;h=3Dfa52bc79 Fix produced AST for replace at start The root node for ${var/#foo/bar} was the same as for ${var/foo/bar} now the tokens are correct and better named. --- bashast/bashast.g | 8 ++++---- bashast/features_script/features.sh.ast | 2 +- bashast/gunit/param_main.gunit | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/bashast/bashast.g b/bashast/bashast.g index 2099bf6..8ba0400 100644 --- a/bashast/bashast.g +++ b/bashast/bashast.g @@ -52,10 +52,10 @@ tokens{ LIST; REPLACE_FIRST; REPLACE_ALL; + REPLACE_AT_START; + REPLACE_AT_END; STRING; COMMAND; - REPLACE_FIRST; - REPLACE_LAST; FILE_DESCRIPTOR; FILE_DESCRIPTOR_MOVE; REDIR; @@ -254,8 +254,8 @@ parameter_replace_string : (SLASH fname|SLASH)? -> fname?; parameter_replace_operator : SLASH SLASH -> REPLACE_ALL - | SLASH PCT -> REPLACE_LAST - | SLASH POUND -> REPLACE_FIRST + | SLASH PCT -> REPLACE_AT_END + | SLASH POUND -> REPLACE_AT_START | SLASH -> REPLACE_FIRST; //Allowable variable names in the variable expansion var_name: num|name|POUND; diff --git a/bashast/features_script/features.sh.ast b/bashast/features_s= cript/features.sh.ast index 317c41a..070ffdb 100644 --- a/bashast/features_script/features.sh.ast +++ b/bashast/features_script/features.sh.ast @@ -1 +1 @@ -(LIST (function lots_o_echo (CURRSHELL (LIST (COMMAND (STRING echo) (STR= ING (DOUBLE_QUOTED_STRING The number of tests that have faile= d : (VAR_REF failedtests)))) (COMMAND (STRING echo) (STRING (SINGLE_QUO= TED_STRING $ failedtests))) (COMMAND (STRING echo) (VAR_REF failedtests))= ))) (function do_some_arith (CURRSHELL (LIST (COMPOUND_ARITH (* 5 4)) (CO= MPOUND_ARITH (** 5 4)) (COMPOUND_ARITH (+ (VAR_REF failedtests) (/ 5 4)))= (COMPOUND_ARITH (+ (VAR_REF z) (MINUS_SIGN 3)))))) (function arrays (SUB= SHELL (LIST (=3D asdf (ARRAY (STRING a) (STRING b) (STRING c) (STRING d))= ) (COMMAND (STRING echo) (VAR_REF (asdf 3))) (=3D foo (ARRAY (STRING (COM= MAND_SUB (COMMAND (STRING echo) (STRING 6)))) (STRING b) (STRING c) (STRI= NG d))) (=3D (arr (VAR_REF foo)) (STRING 3)) (=3D bar (ARRAY (STRING a) (= STRING b) (=3D 5 (STRING c))))))) (COMMAND (STRING echo) (STRING (BRACE_E= XP (STRING a) (STRING b)))) (COMMAND (STRING echo) (STRING (BRACE_EXP (..= a d)))) (COMMAND (STRING echo) (STRING (BRACE_EXP=20 (BRACE_EXP (STRING a) (STRING b)) (STRING c) (STRING d)))) (COMMAND (STR= ING echo) (STRING a (BRACE_EXP (STRING b) (STRING c)))) (COMMAND (STRING = (COMMAND_SUB (COMMAND (STRING echo) (STRING foobar))))) (| (COMMAND (STRI= NG ls)) (COMMAND (STRING grep) (STRING gunit) (REDIR >> (STRING filelist)= ))) (case (COMMAND_SUB (COMMAND (STRING echo) (STRING asdf))) (CASE_PATTE= RN (STRING gz) (LIST (COMMAND (STRING echo) (STRING yay)))) (CASE_PATTERN= (STRING bzip) (LIST (COMMAND (STRING echo) (STRING three)))) (CASE_PATTE= RN (STRING *) (LIST (COMMAND (STRING echo) (STRING woo))))) (for each (CO= MMAND_SUB (| (COMMAND (STRING ls)) (COMMAND (STRING grep) (STRING log))))= (LIST (COMMAND (STRING echo) (VAR_REF each)) (COMMAND (STRING cat) (STRI= NG each)))) (for (FOR_INIT (+ 5 3)) (FOR_COND (+ 6 2)) (FOR_MOD (+ 3 1)) = (LIST (COMMAND (STRING echo) (STRING yay)))) (select each (COMMAND_SUB (|= (COMMAND (STRING ls)) (COMMAND (STRING grep) (STRING output)))) (LIST (C= OMMAND (STRING echo) (STRING asdf) (STRIN G 2) (REDIR > (STRING / dev / null))))) (if (LIST (COMMAND (STRING echo)= (STRING yay2))) (LIST (COMMAND (STRING echo) (STRING yay)))) (until (LIS= T (COMPOUND_COND (KEYWORD_TEST (a (STRING this / is . afile))))) (LIST (C= OMMAND (STRING touch) (STRING this / is . afile)))) (while (LIST (COMPOUN= D_COND (BUILTIN_TEST (n (STRING foobar))))) (LIST (COMMAND (STRING echo) = (STRING (DOUBLE_QUOTED_STRING file found))))) (if (LIST (COMPOUND_COND = (BUILTIN_TEST (eq 5 6)))) (LIST (COMMAND (STRING echo) (STRING (DOUBLE_QU= OTED_STRING something ' s wrong))))) (COMMAND (STRING echo) (STRING thi= s) (STRING command) (STRING has) (STRING multiple) (STRING arguments)) (C= OMMAND (STRING wc) (PROCESS_SUBSTITUTION < (LIST (COMMAND (STRING cat) (S= TRING / usr / share / dict / linux . words))))) (|| (&& (&& (&& (COMMAND = (STRING cd) (STRING build)) (COMMAND (STRING . / configure))) (COMMAND (S= TRING make))) (COMMAND (STRING make_install))) (COMMAND (STRING echo) (ST= RING fail))) (COMMAND (STRING cd) (STRING / usr / bin)) (| (COMMAND (STRING ls) (STRING - al)) (COMMAND (STRING g= rep) (STRING more))) (=3D asdf (STRING parameters)) (COMMAND (STRING (VAR= _REF (:- asdf (STRING foo))))) (COMMAND (STRING (VAR_REF (OFFSET asdf 8))= )) (COMMAND (STRING (VAR_REF (! asdf *)))) (COMMAND (STRING (VAR_REF (! a= sdf @)))) (COMMAND (STRING (VAR_REF (# foo)))) (COMMAND (STRING (VAR_REF = (REPLACE_FIRST replaice (STRING with) (STRING pattern))))) (COMMAND (STRI= NG (VAR_REF (# asdf (STRING bar))))) (COMMAND (STRING (VAR_REF (## asdf (= STRING bar))))) (COMMAND (STRING (VAR_REF (% asdf (STRING bar))))) (COMMA= ND (STRING (VAR_REF (% asdf (STRING bar))))) (COMMAND (STRING (VAR_REF 1)= ) (VAR_REF @) (VAR_REF *)) (COMMAND (STRING (VAR_REF ?))) (COMMAND (STRIN= G (VAR_REF (REPLACE_ALL PV (STRING .) (STRING _))))) (COMMAND (STRING (VA= R_REF (REPLACE_FIRST PV (STRING foo) (STRING bar))))) (COMMAND (STRING (V= AR_REF (REPLACE_LAST PV (STRING foo) (STRING bar))))) (=3D MY_PN (STRING = (VAR_REF (REPLACE_FIRST PN (STRING asterisk - ))))) (| (COMMAND (STRING cat) (STRING asdf)) (COMMAND (STRING grep) (ST= RING three) (STRING 2) (REDIR >& 1) (REDIR > (STRING / dev / null)))) (CO= MMAND (STRING echo) (STRING asdf) (REDIR >> (STRING APPEND))) (COMMAND (S= TRING echo) (STRING cat) (<<< (STRING word)))) +(LIST (function lots_o_echo (CURRSHELL (LIST (COMMAND (STRING echo) (STR= ING (DOUBLE_QUOTED_STRING The number of tests that have faile= d : (VAR_REF failedtests)))) (COMMAND (STRING echo) (STRING (SINGLE_QUO= TED_STRING $ failedtests))) (COMMAND (STRING echo) (VAR_REF failedtests))= ))) (function do_some_arith (CURRSHELL (LIST (COMPOUND_ARITH (* 5 4)) (CO= MPOUND_ARITH (** 5 4)) (COMPOUND_ARITH (+ (VAR_REF failedtests) (/ 5 4)))= (COMPOUND_ARITH (+ (VAR_REF z) (MINUS_SIGN 3)))))) (function arrays (SUB= SHELL (LIST (=3D asdf (ARRAY (STRING a) (STRING b) (STRING c) (STRING d))= ) (COMMAND (STRING echo) (VAR_REF (asdf 3))) (=3D foo (ARRAY (STRING (COM= MAND_SUB (COMMAND (STRING echo) (STRING 6)))) (STRING b) (STRING c) (STRI= NG d))) (=3D (arr (VAR_REF foo)) (STRING 3)) (=3D bar (ARRAY (STRING a) (= STRING b) (=3D 5 (STRING c))))))) (COMMAND (STRING echo) (STRING (BRACE_E= XP (STRING a) (STRING b)))) (COMMAND (STRING echo) (STRING (BRACE_EXP (..= a d)))) (COMMAND (STRING echo) (STRING (BRACE_EXP=20 (BRACE_EXP (STRING a) (STRING b)) (STRING c) (STRING d)))) (COMMAND (STR= ING echo) (STRING a (BRACE_EXP (STRING b) (STRING c)))) (COMMAND (STRING = (COMMAND_SUB (COMMAND (STRING echo) (STRING foobar))))) (| (COMMAND (STRI= NG ls)) (COMMAND (STRING grep) (STRING gunit) (REDIR >> (STRING filelist)= ))) (case (COMMAND_SUB (COMMAND (STRING echo) (STRING asdf))) (CASE_PATTE= RN (STRING gz) (LIST (COMMAND (STRING echo) (STRING yay)))) (CASE_PATTERN= (STRING bzip) (LIST (COMMAND (STRING echo) (STRING three)))) (CASE_PATTE= RN (STRING *) (LIST (COMMAND (STRING echo) (STRING woo))))) (for each (CO= MMAND_SUB (| (COMMAND (STRING ls)) (COMMAND (STRING grep) (STRING log))))= (LIST (COMMAND (STRING echo) (VAR_REF each)) (COMMAND (STRING cat) (STRI= NG each)))) (for (FOR_INIT (+ 5 3)) (FOR_COND (+ 6 2)) (FOR_MOD (+ 3 1)) = (LIST (COMMAND (STRING echo) (STRING yay)))) (select each (COMMAND_SUB (|= (COMMAND (STRING ls)) (COMMAND (STRING grep) (STRING output)))) (LIST (C= OMMAND (STRING echo) (STRING asdf) (STRIN G 2) (REDIR > (STRING / dev / null))))) (if (LIST (COMMAND (STRING echo)= (STRING yay2))) (LIST (COMMAND (STRING echo) (STRING yay)))) (until (LIS= T (COMPOUND_COND (KEYWORD_TEST (a (STRING this / is . afile))))) (LIST (C= OMMAND (STRING touch) (STRING this / is . afile)))) (while (LIST (COMPOUN= D_COND (BUILTIN_TEST (n (STRING foobar))))) (LIST (COMMAND (STRING echo) = (STRING (DOUBLE_QUOTED_STRING file found))))) (if (LIST (COMPOUND_COND = (BUILTIN_TEST (eq 5 6)))) (LIST (COMMAND (STRING echo) (STRING (DOUBLE_QU= OTED_STRING something ' s wrong))))) (COMMAND (STRING echo) (STRING thi= s) (STRING command) (STRING has) (STRING multiple) (STRING arguments)) (C= OMMAND (STRING wc) (PROCESS_SUBSTITUTION < (LIST (COMMAND (STRING cat) (S= TRING / usr / share / dict / linux . words))))) (|| (&& (&& (&& (COMMAND = (STRING cd) (STRING build)) (COMMAND (STRING . / configure))) (COMMAND (S= TRING make))) (COMMAND (STRING make_install))) (COMMAND (STRING echo) (ST= RING fail))) (COMMAND (STRING cd) (STRING / usr / bin)) (| (COMMAND (STRING ls) (STRING - al)) (COMMAND (STRING g= rep) (STRING more))) (=3D asdf (STRING parameters)) (COMMAND (STRING (VAR= _REF (:- asdf (STRING foo))))) (COMMAND (STRING (VAR_REF (OFFSET asdf 8))= )) (COMMAND (STRING (VAR_REF (! asdf *)))) (COMMAND (STRING (VAR_REF (! a= sdf @)))) (COMMAND (STRING (VAR_REF (# foo)))) (COMMAND (STRING (VAR_REF = (REPLACE_FIRST replaice (STRING with) (STRING pattern))))) (COMMAND (STRI= NG (VAR_REF (# asdf (STRING bar))))) (COMMAND (STRING (VAR_REF (## asdf (= STRING bar))))) (COMMAND (STRING (VAR_REF (% asdf (STRING bar))))) (COMMA= ND (STRING (VAR_REF (% asdf (STRING bar))))) (COMMAND (STRING (VAR_REF 1)= ) (VAR_REF @) (VAR_REF *)) (COMMAND (STRING (VAR_REF ?))) (COMMAND (STRIN= G (VAR_REF (REPLACE_ALL PV (STRING .) (STRING _))))) (COMMAND (STRING (VA= R_REF (REPLACE_AT_START PV (STRING foo) (STRING bar))))) (COMMAND (STRING= (VAR_REF (REPLACE_AT_END PV (STRING foo) (STRING bar))))) (=3D MY_PN (ST= RING (VAR_REF (REPLACE_FIRST PN (STRING aster isk -))))) (| (COMMAND (STRING cat) (STRING asdf)) (COMMAND (STRING grep= ) (STRING three) (STRING 2) (REDIR >& 1) (REDIR > (STRING / dev / null)))= ) (COMMAND (STRING echo) (STRING asdf) (REDIR >> (STRING APPEND))) (COMMA= ND (STRING echo) (STRING cat) (<<< (STRING word)))) diff --git a/bashast/gunit/param_main.gunit b/bashast/gunit/param_main.gu= nit index 7ba3b5b..8bdf402 100644 --- a/bashast/gunit/param_main.gunit +++ b/bashast/gunit/param_main.gunit @@ -52,8 +52,8 @@ var_ref: "$_" -> (VAR_REF _) "${_}" -> (VAR_REF _) "${PV//./_}" -> (VAR_REF (REPLACE_ALL PV (STRING .) (STRING _))) -"${PV/#foo/bar}" -> (VAR_REF (REPLACE_FIRST PV (STRING foo) (STRING bar)= )) -"${PV/%foo/bar}" -> (VAR_REF (REPLACE_LAST PV (STRING foo) (STRING bar))= ) +"${PV/#foo/bar}" -> (VAR_REF (REPLACE_AT_START PV (STRING foo) (STRING b= ar))) +"${PV/%foo/bar}" -> (VAR_REF (REPLACE_AT_END PV (STRING foo) (STRING bar= ))) =20 var_def: "MY_PN=3D${PN/asterisk-}" -> (=3D MY_PN (STRING (VAR_REF (REPLACE_FIRST = PN (STRING asterisk -)))))