rizin/subprojects/rizin-shell-parser/corpus/cmd_substitution.txt
Khairul Azhar Kasmiran 380a94d619
grammar: Rename tmp_*_stmt to tmp_*_op (#4837)
* Rename `_tmp_stmt` to `_tmp_op`
* Rename `tmp_*_stmt` to `tmp_*_op`
* Update comment
* cautocmpl.c: `"_stmt"` -> `"_op"`
2025-01-14 23:05:22 +08:00

123 lines
2.7 KiB
Text

=======================================
Command substitution used as simple arg $(
=======================================
echo $(p8 10)
---
(statements
(arged_stmt
command: (cmd_identifier)
args: (args
(arg
(cmd_substitution_arg
(arged_stmt
command: (cmd_identifier)
args: (args
(arg
(arg_identifier)))))))))
=======================================
Command substitution with multiple statements
=======================================
echo $(p8 10; p8 4 @ 0xdeadbeef)
---
(statements
(arged_stmt
command: (cmd_identifier)
args: (args
(arg
(cmd_substitution_arg
(arged_stmt
command: (cmd_identifier)
args: (args
(arg
(arg_identifier))))
(tmp_stmt
(arged_stmt
command: (cmd_identifier)
args: (args
(arg
(arg_identifier))))
(tmp_seek_op
(args
(arg
(arg_identifier))))))))))
=======================================
Command substitution used as simple arg `
=======================================
echo `p8 10`
---
(statements
(arged_stmt
command: (cmd_identifier)
args: (args
(arg
(cmd_substitution_arg
(arged_stmt
command: (cmd_identifier)
args: (args
(arg
(arg_identifier)))))))))
=======================================
Nested command substitution
=======================================
echo $(p8 $(echo 10))
---
(statements
(arged_stmt
command: (cmd_identifier)
args: (args
(arg
(cmd_substitution_arg
(arged_stmt
command: (cmd_identifier)
args: (args
(arg
(cmd_substitution_arg
(arged_stmt
command: (cmd_identifier)
args: (args
(arg
(arg_identifier)))))))))))))
=======================================
Nested command substitution 2
=======================================
echo Hello$(echo Wor$(echo ld))
---
(statements
(arged_stmt
(cmd_identifier)
(args
(arg
(concatenation
(arg_identifier)
(cmd_substitution_arg
(arged_stmt
(cmd_identifier)
(args
(arg
(concatenation
(arg_identifier)
(cmd_substitution_arg
(arged_stmt
(cmd_identifier)
(args
(arg
(arg_identifier)))))))))))))))