(CommandList children: [ (FuncDef name: source_em body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:current_script) op: Equal rhs: {(DQ ($ VSub_Name '$em_script'))} spids: [12] ) ] spids: [10] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:em_script) op: Equal rhs: {($ VSub_Number '$1')} spids: [18] ) ] spids: [18] ) (C {(.)} {($ VSub_Name '$em_script')}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:em_script) op: Equal rhs: {($ VSub_Name '$current_script')} spids: [27] ) ] spids: [27] ) ] spids: [7] ) spids: [3 6] ) (FuncDef name: fragment body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} { (BracedVarSub token: <VSub_Name BASH_VERSINFO> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 3)})) spids: [43 48] ) } {(-ge)} {(3)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:lineno) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w: { (BracedVarSub token: <VSub_Name BASH_LINENO> bracket_op: (ArrayIndex expr: (ArithWord w:{(Lit_Digits 0)}) ) spids: [64 69] ) } ) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [63 74] ) } spids: [62] ) ] spids: [60] ) (SimpleCommand words: [ {(echo)} { (DQ ('#line ') ($ VSub_Name '$lineno') (' ') (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) ($ VSub_Name '$em_script') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ) } ] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(e) (${ VSub_Name EMULATION_NAME) (.c)} spids: [79] ) ] ) ] spids: [-1 57] ) ] spids: [-1 97] ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(e) (${ VSub_Name EMULATION_NAME) (.c)} spids: [102] ) ] ) ] spids: [36] ) spids: [32 35] ) ] )