From 249c86b76e37e6057d27956337d5e84d61563498 Mon Sep 17 00:00:00 2001 From: André Aparício Date: Tue, 7 Aug 2012 15:53:36 +0100 Subject: Parser: Support appending strings with special characters --- bashast/bashast.g | 4 ++-- scripts/var_def.bash | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/bashast/bashast.g b/bashast/bashast.g index 4438b8c..9fd3fdb 100644 --- a/bashast/bashast.g +++ b/bashast/bashast.g @@ -431,8 +431,8 @@ variable_definition_atom -> ^(EQUALS ^(name explicit_arithmetic) string_expr?) | name EQUALS value? -> ^(EQUALS name value?) | name PLUS EQUALS array_value -> ^(PLUS_ASSIGN name array_value) - | name PLUS EQUALS string_expr_part? - -> ^(EQUALS name ^(STRING ^(VAR_REF name) string_expr_part?)); + | name PLUS EQUALS string_expr_part* + -> ^(EQUALS name ^(STRING ^(VAR_REF name) string_expr_part*)); value : string_expr | array_value; diff --git a/scripts/var_def.bash b/scripts/var_def.bash index dc47b6c..b3ffca7 100644 --- a/scripts/var_def.bash +++ b/scripts/var_def.bash @@ -82,6 +82,8 @@ FOO005=abc echo $FOO005 FOO005+=def echo $FOO005 +FOO005+=-foo-bar +echo $FOO005 function foo() { local -i foo=1 local -a bar=(1 2 3) -- cgit v1.2.3-65-gdbad