aboutsummaryrefslogtreecommitdiff
blob: 543012e5dd48e140fedf3885d5b90cbf333a9838 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/*
   Please use git log for copyright holder and year information

   This file is part of libbash.

   libbash is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation, either version 2 of the License, or
   (at your option) any later version.

   libbash is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with libbash.  If not, see <http://www.gnu.org/licenses/>.
*/
gunit java_libbash;

command_list:
"echo a{b,c,d}" -> (LIST (COMMAND (STRING echo) (STRING a (BRACE_EXP (STRING b) (STRING c) (STRING d)))))
"((5+5))" -> (LIST (COMMAND (ARITHMETIC_EXPRESSION (ARITHMETIC (+ 5 5)))))
"(( 4 + asdf ))" -> (LIST (COMMAND (ARITHMETIC_EXPRESSION (ARITHMETIC (+ 4 (VAR_REF asdf))))))
"[[ while=while ]] && echo true" -> (LIST (&& (COMMAND (COMPOUND_COND (KEYWORD_TEST (STRING while = while)))) (COMMAND (STRING echo) (STRING true))))
"[[ while = while ]] && echo true" -> (LIST (&& (COMMAND (COMPOUND_COND (KEYWORD_TEST (= (STRING while) (STRING while))))) (COMMAND (STRING echo) (STRING true))))
"for each in `ls |grep output`; do
echo $each
done" -> (LIST (COMMAND (for each (STRING (COMMAND_SUB `ls |grep output`)) (LIST (COMMAND (STRING echo) (STRING (VAR_REF each)))))))
"wc <(cat /usr/share/dict/linux.words)" -> (LIST (COMMAND (STRING wc) (PROCESS_SUBSTITUTION < (LIST (COMMAND (STRING cat) (STRING / usr / share / dict / linux . words))))))

all_expansions:
"abc $(ab) ${ab} $((ab)) `ab` \"ab\" 'ab'" -> (STRING abc   (COMMAND_SUB $(ab))   (VAR_REF ab)   (ARITHMETIC_EXPRESSION (ARITHMETIC (VAR_REF ab)))   (COMMAND_SUB `ab`)   (DOUBLE_QUOTED_STRING ab)   'ab')