(command.CommandList children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} { (DQ (X) (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:64) command_list: (command.CommandList children: [ (command.Subshell command_list: (command.CommandList children: [ (C {(echo)} {(SQ (Token id:Id.Lit_Chars val:'\\t' span_id:73))}) ] ) redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'2>' span_id:77) fd: 2 arg_word: {(/dev/null)} ) ] ) ] ) ) ) } {(Id.Lit_Equals '=')} {(SQ (Token id:Id.Lit_Chars val:'X\\t' span_id:85))} ) terminator: (Token id:Id.Op_Semi val:';' span_id:87) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:echo) op: assign_op.Equal rhs: {(SQ (Token id:Id.Lit_Chars val:echo span_id:94))} spids: [92] ) ] ) ] spids: [58 89] ) ] else_action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} { (DQ (X) (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:106) command_list: (command.CommandList children: [ (command.Subshell command_list: (command.CommandList children: [ (C {(printf)} {(SQ (Token id:Id.Lit_Chars val:'%s\\n' span_id:117))} {(SQ (Token id:Id.Lit_Chars val:'\\t' span_id:121))} ) ] ) redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'2>' span_id:125) fd: 2 arg_word: {(/dev/null)} ) ] ) ] ) ) ) } {(Id.Lit_Equals '=')} {(SQ (Token id:Id.Lit_Chars val:'X\\t' span_id:133))} ) terminator: (Token id:Id.Op_Semi val:';' span_id:135) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:echo) op: assign_op.Equal rhs: {(SQ (Token id:Id.Lit_Chars val:'printf %s\\n' span_id:142))} spids: [140] ) ] ) ] spids: [100 137] ) ] else_action: [ (command.ShFunction name: echo_func body: (command.BraceGroup children: [ (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:159) fd: -1 here_begin: {(EOT)} here_end_span_id: 165 stdin_parts: [($ Id.VSub_Star '$*') ('\n')] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:echo) op: assign_op.Equal rhs: {(SQ (Token id:Id.Lit_Chars val:echo_func span_id:172))} spids: [170] ) ] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(-z)} { (DQ (braced_var_sub token: (Token id:Id.VSub_Name val:ZSH_VERSION span_id:207) suffix_op: (suffix_op.Unary op_id:Id.VTest_Plus arg_word:{(set)}) ) ) } ) terminator: (Token id:Id.Op_Semi val:';' span_id:212) ) ] action: [ (command.Case to_match: {(DQ ($ Id.VSub_Number '$0'))} arms: [ (case_arm pat_list: [ {(gettext.sh)} {(Id.Lit_Star '*') (/gettext.sh)} {(Id.Lit_Star '*') (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\\\' span_id:256) ) (gettext.sh) } ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:progname) op: assign_op.Equal rhs: {($ Id.VSub_Number '$0')} spids: [261] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:package) op: assign_op.Equal rhs: {(gettext-runtime)} spids: [265] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:version) op: assign_op.Equal rhs: {(0.19.7)} spids: [269] ) ] ) (command.ShFunction name: func_usage body: (command.BraceGroup children: [ (C {(echo)} { (DQ ('GNU gettext shell script function library version ') ($ Id.VSub_DollarName '$version') ) } ) (C {(echo)} {(DQ ('Usage: . gettext.sh'))}) ] ) ) (command.ShFunction name: func_version body: (command.BraceGroup children: [ (C {(echo)} { (DQ ($ Id.VSub_DollarName '$progname') (' (GNU ') ($ Id.VSub_DollarName '$package') (') ') ($ Id.VSub_DollarName '$version') ) } ) (C {(echo)} { (DQ ('Copyright (C) 2003-2007 Free Software Foundation, Inc.\n') ( 'License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>\n' ) ('This is free software: you are free to change and redistribute it.\n') ('There is NO WARRANTY, to the extent permitted by law.') ) } ) (C {(echo)} {(DQ ('Written by'))} {(DQ ('Bruno Haible'))}) ] ) ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {($ Id.VSub_Pound '$#')} {(Id.Lit_Equals '=')} {(1)}) terminator: (Token id:Id.Op_Semi val:';' span_id:369) ) ] action: [ (command.Case to_match: {(DQ ($ Id.VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(--help)} {(--hel)} {(--he)} {(--h)}] action: [ (command.Sentence child: (C {(func_usage)}) terminator: (Token id:Id.Op_Semi val:';' span_id:401) ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:403) arg_word: {(0)} ) ] spids: [383 397 407 -1] ) (case_arm pat_list: [ {(--version)} {(--versio)} {(--versi)} {(--vers)} {(--ver)} {(--ve)} {(--v)} ] action: [ (command.Sentence child: (C {(func_version)}) terminator: (Token id:Id.Op_Semi val:';' span_id:440) ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:442) arg_word: {(0)} ) ] spids: [410 436 446 -1] ) ] ) ] spids: [360 371] ) ] ) (command.Simple words: [{(func_usage)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'1>&' span_id:457) fd: 1 arg_word: {(2)} ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:461) arg_word: {(1)} ) ] spids: [246 258 466 -1] ) ] ) ] spids: [199 214] ) ] ) (command.ShFunction name: eval_gettext body: (command.BraceGroup children: [ (command.Pipeline children: [ (C {(gettext)} {(DQ ($ Id.VSub_Number '$1'))}) (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(export)} {(PATH)} { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:504) command_list: (command.CommandList children: [ (C {(envsubst)} {(--variables)} {(DQ ($ Id.VSub_Number '$1'))}) ] ) ) } ) terminator: (Token id:Id.Op_Semi val:';' span_id:515) ) (C {(envsubst)} {(DQ ($ Id.VSub_Number '$1'))}) ] ) ) ] negated: F ) ] ) ) (command.ShFunction name: eval_ngettext body: (command.BraceGroup children: [ (command.Pipeline children: [ (C {(ngettext)} {(DQ ($ Id.VSub_Number '$1'))} {(DQ ($ Id.VSub_Number '$2'))} {(DQ ($ Id.VSub_Number '$3'))} ) (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(export)} {(PATH)} { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:565) command_list: (command.CommandList children: [ (C {(envsubst)} {(--variables)} {(DQ ($ Id.VSub_Number '$1') (' ') ($ Id.VSub_Number '$2'))} ) ] ) ) } ) terminator: (Token id:Id.Op_Semi val:';' span_id:578) ) (C {(envsubst)} {(DQ ($ Id.VSub_Number '$1') (' ') ($ Id.VSub_Number '$2'))}) ] ) ) ] negated: F ) ] ) ) ] )