1 |
commit: 97cf0f6388b74c3810325d17dd7b9f1b3610c02a |
2 |
Author: Mu Qiao <qiaomuf <AT> gentoo <DOT> org> |
3 |
AuthorDate: Mon May 30 07:26:35 2011 +0000 |
4 |
Commit: Petteri Räty <betelgeuse <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Jun 1 05:54:41 2011 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/libbash.git;a=commit;h=97cf0f63 |
7 |
|
8 |
Parser: support special variable $$ |
9 |
|
10 |
--- |
11 |
bashast/bashast.g | 2 ++ |
12 |
bashast/gunit/param_main.gunit | 2 ++ |
13 |
2 files changed, 4 insertions(+), 0 deletions(-) |
14 |
|
15 |
diff --git a/bashast/bashast.g b/bashast/bashast.g |
16 |
index f9d5425..2e892c2 100644 |
17 |
--- a/bashast/bashast.g |
18 |
+++ b/bashast/bashast.g |
19 |
@@ -266,6 +266,7 @@ var_ref |
20 |
| DOLLAR POUND -> ^(VAR_REF POUND) |
21 |
| DOLLAR QMARK -> ^(VAR_REF QMARK) |
22 |
| DOLLAR MINUS -> ^(VAR_REF MINUS) |
23 |
+ | DOLLAR DOLLAR -> ^(VAR_REF DOLLAR) |
24 |
| DOLLAR BANG -> ^(VAR_REF BANG); |
25 |
//Variable expansions |
26 |
var_exp : var_name ( |
27 |
@@ -317,6 +318,7 @@ var_name |
28 |
: num |
29 |
| var_name_no_digit |
30 |
| TIMES |
31 |
+ | DOLLAR |
32 |
| AT; |
33 |
//Inside arithmetic we can't allow digits |
34 |
var_name_no_digit |
35 |
|
36 |
diff --git a/bashast/gunit/param_main.gunit b/bashast/gunit/param_main.gunit |
37 |
index 5fd818e..cfbd92f 100644 |
38 |
--- a/bashast/gunit/param_main.gunit |
39 |
+++ b/bashast/gunit/param_main.gunit |
40 |
@@ -54,6 +54,8 @@ var_ref: |
41 |
"$?" -> (VAR_REF ?) |
42 |
"$_" -> (VAR_REF _) |
43 |
"${_}" -> (VAR_REF _) |
44 |
+"$$" -> (VAR_REF $) |
45 |
+"${$}" -> (VAR_REF $) |
46 |
"${PV//./_}" -> (VAR_REF (REPLACE_ALL PV (STRING .) (STRING _))) |
47 |
"${PV// }" -> (VAR_REF (REPLACE_ALL PV (STRING ))) |
48 |
"${PV//[-._]/}" -> (VAR_REF (REPLACE_ALL PV (STRING (MATCH_ANY - . _)))) |