..['mystr', 'mystr', '', ''] ['myarray[1]', 'myarray', '[1]', '1'] ['assoc[name]', 'assoc', '[name]', 'name'] (C (w ) (w )) ls [$x] $y core/a*.py (C (w ) (w ($ x) ) (w ($ y)) (w ) ) cmd_value: (cmd_value.Argv argv:[ls "[-" -- "---]" y yy core/alloc.py core/alloc_test.py] arg_locs:[ (CompoundWord parts:[ (Token id:Lit_Chars length:2 col:0 line:(SourceLine line_num:1 content:"ls [$x] $y core/a*.py" src:(source.MainFile path:"") ) tval:ls ) ] ) (CompoundWord parts:[ (Token id:Lit_LBracket length:1 col:3 line:...0x7f64fe507d08 tval:"[") (SimpleVarSub tok:(Token id:VSub_DollarName length:2 col:4 line:...0x7f64fe507d08 tval:x ) ) (Token id:Lit_RBracket length:1 col:6 line:...0x7f64fe507d08 tval:"]") ] ) ...0x7f64fe5b6ab8 ...0x7f64fe5b6ab8 (CompoundWord parts:[ (SimpleVarSub tok:(Token id:VSub_DollarName length:2 col:8 line:...0x7f64fe507d08 tval:y ) ) ] ) ...0x7f64fe5b6d88 (CompoundWord parts:[ (Token id:Lit_Chars length:4 col:11 line:...0x7f64fe507d08 tval:core) (Token id:Lit_Slash length:1 col:15 line:...0x7f64fe507d08 tval:/) (Token id:Lit_Chars length:1 col:16 line:...0x7f64fe507d08 tval:a) (Token id:Lit_Star length:1 col:17 line:...0x7f64fe507d08 tval:"*") (Token id:Lit_Chars length:3 col:18 line:...0x7f64fe507d08 tval:.py) ] ) ...0x7f64fe5b6290 ] is_last_cmd:F ) local a=1 (C (w ) (w ") ) tval:local ) ] ) ] pairs:[ (AssignArg var_name:a rval:(value.Str s:1) plus_eq:F blame_word:(CompoundWord parts:[ (Token id:Lit_VarLike length:2 col:6 line:...0x7f64fe507f18) (Token id:Lit_Chars length:1 col:8 line:...0x7f64fe507f18 tval:1) ] ) ) ] ) builtin local a=1 (C (w ) (w ) (w ") ) tval:builtin ) ] ) ] pairs:[ (AssignArg var_name:a rval:(value.Str s:1) plus_eq:F blame_word:(CompoundWord parts:[ (Token id:Lit_VarLike length:2 col:14 line:...0x7f64fe507d08) (Token id:Lit_Chars length:1 col:16 line:...0x7f64fe507d08 tval:1) ] ) ) ] ) command local a=1 (C (w ) (w ) (w ") ) tval:command ) ] ) ] pairs:[ (AssignArg var_name:a rval:(value.Str s:1) plus_eq:F blame_word:(CompoundWord parts:[ (Token id:Lit_VarLike length:2 col:14 line:...0x7f64fe507b50) (Token id:Lit_Chars length:1 col:16 line:...0x7f64fe507b50 tval:1) ] ) ) ] ) typeset -"$@" (C (w ) (w (DQ ($ VSub_At)))) cmd_value: (cmd_value.Assign builtin_id:13 argv:[typeset -x] arg_locs:[ (CompoundWord parts:[ (Token id:Lit_Chars length:7 col:0 line:(SourceLine line_num:1 content:"typeset -\"$@\"" src:(source.MainFile path:"") ) tval:typeset ) ] ) (CompoundWord parts:[ (Token id:Lit_Chars length:1 col:8 line:...0x7f64fe507fc8 tval:-) (DoubleQuoted left:(Token id:Left_DoubleQuote length:1 col:9 line:...0x7f64fe507fc8) parts:[ (SimpleVarSub tok:(Token id:VSub_At length:2 col:10 line:...0x7f64fe507fc8) ) ] right:(Token id:Right_DoubleQuote length:1 col:12 line:...0x7f64fe507fc8 ) ) ] ) ] pairs:[ (AssignArg var_name:foo plus_eq:F blame_word:...0x7f64fe57fb00) (AssignArg var_name:spam rval:(value.Str s:eggs) plus_eq:F blame_word:...0x7f64fe57fb00 ) ] ) local a=(1 2) "$@" (C (w ) (w words:[(w ) (w )] right: ) ) (w (DQ ($ VSub_At))) ) cmd_value: (cmd_value.Assign builtin_id:11 argv:[local] arg_locs:[ (CompoundWord parts:[ (Token id:Lit_Chars length:5 col:0 line:(SourceLine line_num:1 content:"local a=(1 2) \"$@\"" src:(source.MainFile path:"") ) tval:local ) ] ) ] pairs:[ (AssignArg var_name:a rval:(value.BashArray strs:[1 2]) plus_eq:F blame_word:(CompoundWord parts:[ (Token id:Lit_VarLike length:2 col:6 line:...0x7f64fe507940) (ShArrayLiteral left:(Token id:Op_LParen length:1 col:8 line:...0x7f64fe507940) words:[ (CompoundWord parts:[ (Token id:Lit_Chars length:1 col:9 line:...0x7f64fe507940 tval:1 ) ] ) (CompoundWord parts:[ (Token id:Lit_Chars length:1 col:11 line:...0x7f64fe507940 tval:2 ) ] ) ] right:(Token id:Right_ShArrayLiteral length:1 col:12 line:...0x7f64fe507940 ) ) ] ) ) (AssignArg var_name:x plus_eq:F blame_word:(CompoundWord parts:[ (DoubleQuoted left:(Token id:Left_DoubleQuote length:1 col:14 line:...0x7f64fe507940 ) parts:[ (SimpleVarSub tok:(Token id:VSub_At length:2 col:15 line:...0x7f64fe507940) ) ] right:(Token id:Right_DoubleQuote length:1 col:17 line:...0x7f64fe507940 ) ) ] ) ) (AssignArg var_name:foo plus_eq:F blame_word:...0x7f64fe5a1bd8) (AssignArg var_name:spam rval:(value.Str s:eggs) plus_eq:F blame_word:...0x7f64fe5a1bd8 ) ] ) readonly "$@" a=(1 2) (C (w ) (w (DQ ($ VSub_At))) (w words:[(w ) (w )] right: ) ) ) cmd_value: (cmd_value.Assign builtin_id:10 argv:[readonly] arg_locs:[ (CompoundWord parts:[ (Token id:Lit_Chars length:8 col:0 line:(SourceLine line_num:1 content:"readonly \"$@\" a=(1 2)" src:(source.MainFile path:"") ) tval:readonly ) ] ) ] pairs:[ (AssignArg var_name:x plus_eq:F blame_word:(CompoundWord parts:[ (DoubleQuoted left:(Token id:Left_DoubleQuote length:1 col:9 line:...0x7f64fe507d60 ) parts:[ (SimpleVarSub tok:(Token id:VSub_At length:2 col:10 line:...0x7f64fe507d60) ) ] right:(Token id:Right_DoubleQuote length:1 col:12 line:...0x7f64fe507d60 ) ) ] ) ) (AssignArg var_name:foo plus_eq:F blame_word:...0x7f64fe58c9e0) (AssignArg var_name:spam rval:(value.Str s:eggs) plus_eq:F blame_word:...0x7f64fe58c9e0 ) (AssignArg var_name:a rval:(value.BashArray strs:[1 2]) plus_eq:F blame_word:(CompoundWord parts:[ (Token id:Lit_VarLike length:2 col:14 line:...0x7f64fe507d60) (ShArrayLiteral left:(Token id:Op_LParen length:1 col:16 line:...0x7f64fe507d60) words:[ (CompoundWord parts:[ (Token id:Lit_Chars length:1 col:17 line:...0x7f64fe507d60 tval:1 ) ] ) (CompoundWord parts:[ (Token id:Lit_Chars length:1 col:19 line:...0x7f64fe507d60 tval:2 ) ] ) ] right:(Token id:Right_ShArrayLiteral length:1 col:20 line:...0x7f64fe507d60 ) ) ] ) ) ] ) declare -rx foo=bar spam=eggs a=(1 2) (C (w ) (w ) (w words:[(w ) (w )] right: ) ) ) cmd_value: (cmd_value.Assign builtin_id:12 argv:[declare -rx] arg_locs:[ (CompoundWord parts:[ (Token id:Lit_Chars length:7 col:0 line:(SourceLine line_num:1 content:"declare -rx foo=bar spam=eggs a=(1 2)" src:(source.MainFile path:"") ) tval:declare ) ] ) (CompoundWord parts:[ (Token id:Lit_Chars length:3 col:8 line:...0x7f64fe507d08 tval:-rx) ] ) ] pairs:[ (AssignArg var_name:foo rval:(value.Str s:bar) plus_eq:F blame_word:(CompoundWord parts:[ (Token id:Lit_VarLike length:4 col:12 line:...0x7f64fe507d08) (Token id:Lit_Chars length:3 col:16 line:...0x7f64fe507d08 tval:bar) ] ) ) (AssignArg var_name:spam rval:(value.Str s:eggs) plus_eq:F blame_word:(CompoundWord parts:[ (Token id:Lit_VarLike length:5 col:20 line:...0x7f64fe507d08) (Token id:Lit_Chars length:4 col:25 line:...0x7f64fe507d08 tval:eggs) ] ) ) (AssignArg var_name:a rval:(value.BashArray strs:[1 2]) plus_eq:F blame_word:(CompoundWord parts:[ (Token id:Lit_VarLike length:2 col:30 line:...0x7f64fe507d08) (ShArrayLiteral left:(Token id:Op_LParen length:1 col:32 line:...0x7f64fe507d08) words:[ (CompoundWord parts:[ (Token id:Lit_Chars length:1 col:33 line:...0x7f64fe507d08 tval:1 ) ] ) (CompoundWord parts:[ (Token id:Lit_Chars length:1 col:35 line:...0x7f64fe507d08 tval:2 ) ] ) ] right:(Token id:Right_ShArrayLiteral length:1 col:36 line:...0x7f64fe507d08 ) ) ] ) ) ] ) declare $binding (C (w ) (w ($ binding))) cmd_value: (cmd_value.Assign builtin_id:12 argv:[declare] arg_locs:[ (CompoundWord parts:[ (Token id:Lit_Chars length:7 col:0 line:(SourceLine line_num:1 content:"declare $binding" src:(source.MainFile path:"") ) tval:declare ) ] ) ] pairs:[ (AssignArg var_name:spam rval:(value.Str s:eggs) plus_eq:F blame_word:(CompoundWord parts:[ (SimpleVarSub tok:(Token id:VSub_DollarName length:8 col:8 line:...0x7f64fe507b50 tval:binding ) ) ] ) ) ] ) declare $binding_with_spaces (C (w ) (w ($ binding_with_spaces))) cmd_value: (cmd_value.Assign builtin_id:12 argv:[declare] arg_locs:[ (CompoundWord parts:[ (Token id:Lit_Chars length:7 col:0 line:(SourceLine line_num:1 content:"declare $binding_with_spaces" src:(source.MainFile path:"") ) tval:declare ) ] ) ] pairs:[ (AssignArg var_name:x rval:(value.Str s:"green eggs and ham") plus_eq:F blame_word:(CompoundWord parts:[ (SimpleVarSub tok:(Token id:VSub_DollarName length:20 col:8 line:...0x7f64fe507d08 tval:binding_with_spaces ) ) ] ) ) ] ) export a=(1 2) (C (w ) (w words:[(w ) (w )] right: ) ) ) cmd_value: (cmd_value.Assign builtin_id:14 argv:[export] arg_locs:[ (CompoundWord parts:[ (Token id:Lit_Chars length:6 col:0 line:(SourceLine line_num:1 content:"export a=(1 2)" src:(source.MainFile path:"") ) tval:export ) ] ) ] pairs:[ (AssignArg var_name:a rval:(value.BashArray strs:[1 2]) plus_eq:F blame_word:(CompoundWord parts:[ (Token id:Lit_VarLike length:2 col:7 line:...0x7f64fe507fc8) (ShArrayLiteral left:(Token id:Op_LParen length:1 col:9 line:...0x7f64fe507fc8) words:[ (CompoundWord parts:[ (Token id:Lit_Chars length:1 col:10 line:...0x7f64fe507fc8 tval:1 ) ] ) (CompoundWord .. ---------------------------------------------------------------------- Ran 4 tests in 0.057s OK parts:[ (Token id:Lit_Chars length:1 col:12 line:...0x7f64fe507fc8 tval:2 ) ] ) ] right:(Token id:Right_ShArrayLiteral length:1 col:13 line:...0x7f64fe507fc8 ) ) ] ) ) ] ) export A=(["k"]=v) (C (w ) (w pairs:[(AssocPair key:(w (DQ )) value:(w ))] right: ) ) ) cmd_value: (cmd_value.Assign builtin_id:14 argv:[export] arg_locs:[ (CompoundWord parts:[ (Token id:Lit_Chars length:6 col:0 line:(SourceLine line_num:1 content:"export A=([\"k\"]=v)" src:(source.MainFile path:"") ) tval:export ) ] ) ] pairs:[ (AssignArg var_name:A rval:(value.BashAssoc d:{k v}) plus_eq:F blame_word:(CompoundWord parts:[ (Token id:Lit_VarLike length:2 col:7 line:...0x7f64fe507ec0) (word_part.BashAssocLiteral left:(Token id:Op_LParen length:1 col:9 line:...0x7f64fe507ec0) pairs:[ (AssocPair key:(CompoundWord parts:[ (DoubleQuoted left:(Token id:Left_DoubleQuote length:1 col:11 line:...0x7f64fe507ec0 ) parts:[ (Token id:Lit_Chars length:1 col:12 line:...0x7f64fe507ec0 tval:k ) ] right:(Token id:Right_DoubleQuote length:1 col:13 line:...0x7f64fe507ec0 ) ) ] ) value:(CompoundWord parts:[ (Token id:Lit_Chars length:1 col:16 line:...0x7f64fe507ec0 tval:v ) ] ) ) ] right:(Token id:Right_ShArrayLiteral length:1 col:17 line:...0x7f64fe507ec0 ) ) ] ) ) ] ) readonly a[x]=1 (C (w ) (w