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 1QQJJA-0003C2-PZ for garchives@archives.gentoo.org; Sat, 28 May 2011 13:12:01 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 3C4E41C127; Sat, 28 May 2011 13:11:50 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id F26971C127 for ; Sat, 28 May 2011 13:11:49 +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 66A131B4011 for ; Sat, 28 May 2011 13:11:49 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id C55D480505 for ; Sat, 28 May 2011 13:11:48 +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: scripts/, bashast/ X-VCS-Repository: proj/libbash X-VCS-Files: bashast/libbashWalker.g scripts/command_execution.bash scripts/command_execution.bash.result scripts/var_expansion.bash scripts/var_expansion.bash.result X-VCS-Directories: scripts/ bashast/ X-VCS-Committer: betelgeuse X-VCS-Committer-Name: Petteri Räty X-VCS-Revision: a316f3d632b98ade273420121947c9cc51d6be98 Date: Sat, 28 May 2011 13:11:48 +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: 9b1fc053f08215f25b5d8208f30ceea3 commit: a316f3d632b98ade273420121947c9cc51d6be98 Author: Mu Qiao gentoo org> AuthorDate: Sat May 28 07:57:25 2011 +0000 Commit: Petteri R=C3=A4ty gentoo org> CommitDate: Sat May 28 08:27:16 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/libbash.git;a= =3Dcommit;h=3Da316f3d6 Walker: support single quoted string Single quoted string is supported in string expression and basic pattern matching. --- bashast/libbashWalker.g | 17 +++++++++-------- scripts/command_execution.bash | 1 + scripts/command_execution.bash.result | 1 + scripts/var_expansion.bash | 4 ++++ scripts/var_expansion.bash.result | 5 ++++- 5 files changed, 19 insertions(+), 9 deletions(-) diff --git a/bashast/libbashWalker.g b/bashast/libbashWalker.g index 378d5e5..67886a0 100644 --- a/bashast/libbashWalker.g +++ b/bashast/libbashWalker.g @@ -191,6 +191,11 @@ string_part returns[std::string libbash_value, bool = quoted] $libbash_value +=3D libbash_string; $quoted =3D true; })*) + |(SINGLE_QUOTED_STRING) =3D> + ^(SINGLE_QUOTED_STRING (libbash_string=3Dany_string { + $libbash_value +=3D libbash_string; + $quoted =3D true; + })*) |(ARITHMETIC_EXPRESSION) =3D> ^(ARITHMETIC_EXPRESSION value=3Darithmetics { $libbash_value =3D boost::lexical_cast(value); @@ -276,11 +281,7 @@ basic_pattern[boost::xpressive::sregex& pattern, boo= l greedy, bool& do_append] bool negation; std::string pattern_str; } - :(DOUBLE_QUOTED_STRING) =3D> - ^(DOUBLE_QUOTED_STRING (libbash_string=3Ddouble_quoted_string { - append($pattern, as_xpr(libbash_string), do_append); - })*) - |(MATCH_ALL) =3D> MATCH_ALL { + :(MATCH_ALL) =3D> MATCH_ALL { if($greedy) append($pattern, *_, do_append); else @@ -309,9 +310,9 @@ basic_pattern[boost::xpressive::sregex& pattern, bool= greedy, bool& do_append] =20 append($pattern, sregex::compile(pattern_str), do_append); } - |(libbash_string=3Dany_string { - append($pattern, as_xpr(libbash_string), do_append); - }); + |string_part { + append($pattern, as_xpr($string_part.libbash_value), do_append); + }; =20 //double quoted string rule, allows expansions double_quoted_string returns[std::string libbash_value] diff --git a/scripts/command_execution.bash b/scripts/command_execution.b= ash index b1670f2..b9b1c82 100644 --- a/scripts/command_execution.bash +++ b/scripts/command_execution.bash @@ -43,3 +43,4 @@ echo "FOO006=3D$FOO006 in global" declare -F unset_outer unset -f unset_outer declare -F unset_outer +echo '$FOO006 "abc" $(( 1 + 2 )) $(echo hi) ...' diff --git a/scripts/command_execution.bash.result b/scripts/command_exec= ution.bash.result index d941a6d..d7642f5 100644 --- a/scripts/command_execution.bash.result +++ b/scripts/command_execution.bash.result @@ -13,6 +13,7 @@ FOO006=3D in global FOO006=3D0 in global FOO006=3D in global unset_outer +$FOO006 "abc" $(( 1 + 2 )) $(echo hi) ... DEFAULTED=3Dyes FOO001=3Dhello FOO002=3DHello World diff --git a/scripts/var_expansion.bash b/scripts/var_expansion.bash index 0a84737..1419686 100644 --- a/scripts/var_expansion.bash +++ b/scripts/var_expansion.bash @@ -92,3 +92,7 @@ function positional_parameter_test(){ FOO088=3D${*:0} } positional_parameter_test 1 2 3 4 5 +target=3D"abc*abc" +echo ${target/*} +echo ${target/'*'} +echo ${target/"*"} diff --git a/scripts/var_expansion.bash.result b/scripts/var_expansion.ba= sh.result index 5ec7c65..dac4d8e 100644 --- a/scripts/var_expansion.bash.result +++ b/scripts/var_expansion.bash.result @@ -1,3 +1,6 @@ + +abcabc +abcabc ARRAY=3Dhi hello 1 2 3 ARRAY2=3Dhello EAPI=3D3 @@ -89,4 +92,4 @@ FOO085=3D1 2 FOO086=3D5 FOO087=3D4 5 FOO088=3Dfilename 1 2 3 4 5 -target=3Dabc123abc +target=3Dabc*abc