(CommandList children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-eq)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(EOF)} here_end_span_id: 48 stdin_parts: [ ('Usage: ') ($ VSub_Number '$0') (' temperature[F|C|K]\n') ('where the suffix:\n') (' F indicates input is in Fahrenheit (default)\n') (' C indicates input is in Celsius\n') (' K indicates input is in Kelvin\n') ] ) (Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)}) ] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 28] ) ] spids: [16777215 54] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:unit) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Number '$1')}) (C {(sed)} {(-e)} {(SQ <'s/[-[:digit:]]*//g'>)}) (C {(tr)} {(SQ <'[:lower:]'>)} {(SQ <'[:upper:]'>)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [59 84] ) ) } spids: [57] ) ] spids: [57] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:temp) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Number '$1')}) (C {(sed)} {(-e)} {(SQ <'s/[^-[:digit:]]*//g'>)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [89 101] ) ) } spids: [87] ) ] spids: [87] ) (Case to_match: { (BracedVarSub token: <VSub_Name unit> suffix_op: (StringUnary op_id:VTest_ColonEquals arg_word:{(F)}) spids: [107 111] ) } arms: [ (case_arm pat_list: [{(F)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:farn) op: Equal rhs: {(DQ ($ VSub_Name '$temp'))} spids: [124] ) ] spids: [124] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cels) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ ('scale=2;(') ($ VSub_Name '$farn') (' - 32) / 1.8'))} ) (C {(bc)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [132 144] ) ) } spids: [130] ) ] spids: [130] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:kelv) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ ('scale=2;') ($ VSub_Name '$cels') (' + 273.15'))}) (C {(bc)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [150 162] ) ) } spids: [148] ) ] spids: [148] ) ] spids: [116 118 166 16777215] ) (case_arm pat_list: [{(C)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cels) op: Equal rhs: {($ VSub_Name '$temp')} spids: [178] ) ] spids: [178] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:kelv) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ ('scale=2;') ($ VSub_Name '$cels') (' + 273.15'))}) (C {(bc)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [184 196] ) ) } spids: [182] ) ] spids: [182] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:farn) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ ('scale=2;(1.8 * ') ($ VSub_Name '$cels') (') + 32'))} ) (C {(bc)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [202 214] ) ) } spids: [200] ) ] spids: [200] ) ] spids: [170 172 218 16777215] ) (case_arm pat_list: [{(K)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:kelv) op: Equal rhs: {($ VSub_Name '$temp')} spids: [230] ) ] spids: [230] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cels) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ ('scale=2; ') ($ VSub_Name '$kelv') (' - 273.15'))}) (C {(bc)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [236 248] ) ) } spids: [234] ) ] spids: [234] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:farn) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ ('scale=2; (1.8 * ') ($ VSub_Name '$cels') (') + 32'))} ) (C {(bc)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [254 266] ) ) } spids: [252] ) ] spids: [252] ) ] spids: [222 224 270 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (C {(echo)} {(DQ ('Given temperature unit is not supported'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [274 275 16777215 289] ) ] spids: [105 113 289] ) (C {(echo)} {(DQ ('Fahrenheit = ') ($ VSub_Name '$farn'))}) (C {(echo)} {(DQ ('Celsius = ') ($ VSub_Name '$cels'))}) (C {(echo)} {(DQ ('Kelvin = ') ($ VSub_Name '$kelv'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] )