rable 0.1.9

A Rust implementation of the Parable bash parser — complete GNU Bash 5.3-compatible parsing with Python bindings
Documentation
# Oracle-derived tests: array_normalization
# Generated by fuzzing against bash-oracle
# 20 test cases

=== array_normalization 1
arr=([0]=a[1]=b [2]= } )
---
(command (word "arr=([0]=a[1]=b [2]= })"))
---

=== array_normalization 2
arr=(new time )
---
(command (word "arr=(new time)"))
---

=== array_normalization 3
arr=($(cmd ) fi )
---
(command (word "arr=($(cmd) fi)"))
---

=== array_normalization 4
arr=( ! $( cm&&d ))
---
(command (word "arr=(! $(cm && d))"))
---

=== array_normalization 5
a=1 b= atr=(x )
---
(command (word "a=1") (word "b=") (word "atr=(x)"))
---

=== array_normalization 6
arr=(a ) echo test
---
(command (word "arr=(a)") (word "echo") (word "test"))
---

=== array_normalization 7
arr=($(> cm& ))
---
(command (word "arr=($(> cm &))"))
---

=== array_normalization 8
arr+=( case one wo three)e
---
(command (word "arr+=(case one wo three)e"))
---

=== array_normalization 9
arr=([key1]=val1 [key2]=val2 while )
---
(command (word "arr=([key1]=val1 [key2]=val2 while)"))
---

=== array_normalization 10
arr=([0]=a [1]=b# [2]=c)
---
(command (word "arr=([0]=a [1]=b# [2]=c)"))
---

=== array_normalization 11
_arr=( x)
---
(command (word "_arr=(x)"))
---

=== array_normalization 12
arr=( ab) <<< input
---
(command (word "arr=(ab)") (redirect "<<<" "input"))
---

=== array_normalization 13
srr=([k]="a \
b" else )
---
(command (word "srr=([k]=\"a b\" else)"))
---

=== array_normalization 14
a7rr=(ab ) > /dev/null
---
(command (word "a7rr=(ab)") (redirect ">" "/dev/null"))
---

=== array_normalization 15
arr=($foo case  $bar coproc )
---
(command (word "arr=($foo case $bar coproc)"))
---

=== array_normalization 16
arr=(a ); > /dev/null
---
(semi (command (word "arr=(a)")) (command (redirect ">" "/dev/null")))
---

=== array_normalization 17
a=1 b=2 arr=(x y function )
---
(command (word "a=1") (word "b=2") (word "arr=(x y function)"))
---

=== array_normalization 18
arr=({fooault} $ } :-default} $ } {#bar})
---
(command (word "arr=({fooault} $ } :-default} $ } {#bar})"))
---

=== array_normalization 19
$( arr=(
 K   foo # comment
) )
---
(command (word "$(arr=(K foo))"))
---

=== array_normalization 20
( arr=(a#	b	c) )
---
(subshell (command (word "arr=(a# b c)")))
---