(command.CommandList children: [ (command.ShFunction name: p body: (BraceGroup children: [ (command.Sentence child: (C {<echo>} { (braced_var_sub token: <Id.VSub_Name BASH_SOURCE> bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 1>}) suffix_op: (suffix_op.Unary tok: <Id.VOp1_DPound '##'> arg_word: {<Id.Lit_Other '*'> <Id.Lit_Slash '/'>} ) ) <Id.Lit_Colon ':'> (braced_var_sub token: <Id.VSub_Name BASH_LINENO> bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 0>}) ) } ) terminator: <Id.Op_Semi _> ) (command.Sentence child:(C {<echo>} {(SQ <'==='>)}) terminator:<Id.Op_Semi _>) ] ) ) (C {<p>}) (command.CommandList children: [ (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:x) op:assign_op.Equal rhs:{<6>} spids:[49])] ) ] ) (command.CommandList children: [ (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:x) op:assign_op.Equal rhs:{<7>} spids:[56])] ) ] ) (command.CommandList children: [ (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:x) op:assign_op.Equal rhs:{<8>} spids:[63])] ) ] ) (command.CommandList children: [ (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:x) op:assign_op.Equal rhs:{<9>} spids:[70])] ) ] ) (command.CommandList children: [ (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:x) op: assign_op.Equal rhs: {<10>} spids: [77] ) ] ) ] ) (command.CommandList children: [ (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:x) op: assign_op.Equal rhs: {<11>} spids: [84] ) ] ) ] ) (command.CommandList children: [ (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:x) op: assign_op.Equal rhs: {<12>} spids: [91] ) ] ) ] ) (command.CommandList children: [ (command.Sentence child:(C {<p>}) terminator:<Id.Op_Semi _>) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:x) op: assign_op.Equal rhs: {<13>} spids: [98] ) ] ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:x) op:assign_op.Equal rhs:{<14>} spids:[101])] ) ] )