(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:common_objpfx) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [59] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:objpfx) op: assign_op.Equal rhs: {($ Id.VSub_Number '$2')} spids: [62] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_program_prefix) op: assign_op.Equal rhs: {($ Id.VSub_Number '$3')} spids: [65] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:status) op: assign_op.Equal rhs: {(0)} spids: [69] ) ] ) (command.Pipeline children: [ (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:75) fd: -1 here_begin: {(EOF)} here_end_span_id: 314 stdin_parts: [ (' # Single-byte and other ') (Id.Right_DoubleQuote '"') (small) (Id.Right_DoubleQuote '"') (' encodings come here.\n') (' # Keep this list in the same order as gconv-modules.\n') (' #\n') (' # charset name table name comment\n') (' ASCII ANSI_X3.4-1968\n') (' ISO646-GB BS_4730\n') (' ISO646-CA CSA_Z243.4-1985-1\n') (' ISO646-CA2 CSA_Z243.4-1985-2\n') (' ISO646-DE DIN_66003\n') (' ISO646-DK DS_2089\n') (' ISO646-ES ES\n') (' ISO646-ES2 ES2\n') (' ISO646-CN GB_1988-80\n') (' ISO646-IT IT\n') (' ISO646-JP JIS_C6220-1969-RO\n') (' ISO646-JP-OCR-B JIS_C6229-1984-B\n') (' ISO646-YU JUS_I.B1.002\n') (' ISO646-KR KSC5636\n') (' ISO646-HU MSZ_7795.3\n') (' ISO646-CU NC_NC00-10\n') (' ISO646-FR NF_Z_62-010\n') (' ISO646-FR1 NF_Z_62-010_1973\n') (' ISO646-NO NS_4551-1\n') (' ISO646-NO2 NS_4551-2\n') (' ISO646-PT PT\n') (' ISO646-PT2 PT2\n') (' ISO646-SE SEN_850200_B\n') (' ISO646-SE2 SEN_850200_C\n') (' ISO-8859-1\n') (' ISO-8859-2\n') (' ISO-8859-3\n') (' ISO-8859-4\n') (' ISO-8859-5\n') (' ISO-8859-6\n') (' ISO-8859-7\n') (' ISO-8859-8\n') (' ISO-8859-9\n') (' ISO-8859-9E\n') (' ISO-8859-10\n') (' ISO-8859-11\n') (' ISO-8859-13\n') (' ISO-8859-14\n') (' ISO-8859-15\n') (' ISO-8859-16\n') (' T.61-8BIT\n') (' ISO_6937\n') (' #ISO_6937-2 ISO-IR-90 Handling of combining marks is broken\n') (' KOI-8\n') (' KOI8-R\n') (' LATIN-GREEK\n') (' LATIN-GREEK-1\n') (' HP-ROMAN8\n') (' HP-ROMAN9\n') (' HP-TURKISH8\n') (' HP-THAI8\n') (' HP-GREEK8\n') (' EBCDIC-AT-DE\n') (' EBCDIC-AT-DE-A\n') (' EBCDIC-CA-FR\n') (' EBCDIC-DK-NO\n') (' EBCDIC-DK-NO-A\n') (' EBCDIC-ES\n') (' EBCDIC-ES-A\n') (' EBCDIC-ES-S\n') (' EBCDIC-FI-SE\n') (' EBCDIC-FI-SE-A\n') (' EBCDIC-FR\n') (' EBCDIC-IS-FRISS\n') (' EBCDIC-IT\n') (' EBCDIC-PT\n') (' EBCDIC-UK\n') (' EBCDIC-US\n') (' IBM037\n') (' IBM038\n') (' IBM256\n') (' IBM273\n') (' IBM274\n') (' IBM275\n') (' IBM277\n') (' IBM278\n') (' IBM280\n') (' IBM281\n') (' IBM284\n') (' IBM285\n') (' IBM290\n') (' IBM297\n') (' IBM420\n') (' IBM423\n') (' IBM424\n') (' IBM437\n') (' IBM500\n') (' IBM850\n') (' IBM851\n') (' IBM852\n') (' IBM855\n') (' IBM856\n') (' IBM857\n') (' IBM860\n') (' IBM861\n') (' IBM862\n') (' IBM863\n') (' IBM864\n') (' IBM865\n') (' IBM866\n') (' IBM866NAV\n') (' IBM868\n') (' IBM869\n') (' IBM870\n') (' IBM871\n') (' IBM875\n') (' IBM880\n') (' IBM891\n') (' IBM903\n') (' IBM904\n') (' IBM905\n') (' IBM918\n') (' IBM922\n') (' IBM1004\n') (' IBM1026\n') ( ' #IBM1046 Differs from the AIX and JDK converters\n' ) (' IBM1047\n') (' IBM1124\n') (' IBM1129\n') (' IBM1160\n') (' IBM1161\n') (' IBM1132\n') (' IBM1133\n') (' IBM1162\n') (' IBM1163\n') (' IBM1164\n') (' CP1125\n') (' CP1250\n') (' CP1251\n') (' CP1252\n') (' CP1253\n') (' CP1254\n') (' CP1255\n') (' CP1256\n') (' CP1257\n') (' CP1258\n') (' IBM874\n') (' CP737\n') (' CP770\n') (' CP771\n') (' CP772\n') (' CP773\n') (' CP774\n') (' CP775\n') (' MACINTOSH\n') (' IEC_P27-1\n') (' ASMO_449\n') (' ISO-IR-99 ANSI_X3.110-1983\n') (' ISO-IR-139 CSN_369103\n') (' CWI\n') (' DEC-MCS\n') (' ECMA-CYRILLIC\n') (' ISO-IR-153 GOST_19768-74\n') (' GREEK-CCITT\n') (' GREEK7\n') (' GREEK7-OLD\n') (' INIS\n') (' INIS-8\n') (' INIS-CYRILLIC\n') (' ISO_2033 ISO_2033-1983\n') (' ISO_5427\n') (' ISO_5427-EXT\n') (' #ISO_5428 Handling of combining marks is broken\n') (' ISO_10367-BOX\n') (' MAC-IS\n') (' MAC-UK\n') (' CP10007\n') (' NATS-DANO\n') (' NATS-SEFI\n') (' WIN-SAMI-2 SAMI-WS2\n') (' ISO-IR-197\n') (' TIS-620\n') (' KOI8-U\n') ( ' #ISIRI-3342 This charset concept is completely broken\n' ) (' VISCII\n') (' KOI8-T\n') (' GEORGIAN-PS\n') (' GEORGIAN-ACADEMY\n') (' ISO-IR-209\n') (' MAC-SAMI\n') (' ARMSCII-8\n') (' TCVN5712-1\n') (' TSCII\n') (' PT154\n') (' RK1048\n') (' MIK\n') (' BRF\n') (' MAC-CENTRALEUROPE\n') (' KOI8-RU\n') (' #\n') (' # Multibyte encodings come here\n') (' #\n') (' SJIS SHIFT_JIS\n') (' CP932 WINDOWS-31J\n') (' #IBM932 This converter looks quite strange\n') (' #IBM943 This converter looks quite strange\n') (' EUC-KR\n') (' CP949\n') (' JOHAB\n') (' BIG5\n') (' BIG5HKSCS BIG5-HKSCS\n') (' EUC-JP\n') (' EUC-JP-MS\n') (' EUC-CN GB2312\n') (' GBK\n') (' EUC-TW\n') (' GB18030\n') (' EUC-JISX0213\n') (' SHIFT_JISX0213\n') (' #\n') (' # Stateful encodings not testable this way\n') (' #\n') (' #IBM930\n') (' #IBM933\n') (' #IBM935\n') (' #IBM937\n') (' #IBM939\n') (' #ISO-2022-JP\n') (' #ISO-2022-JP-2\n') (' #ISO-2022-JP-3\n') (' #ISO-2022-KR\n') (' #ISO-2022-CN\n') (' #ISO-2022-CN-EXT\n') (' #UTF-7\n') (' #\n') ] ) ] ) (command.WhileUntil keyword: (Token id:Id.KW_While val:while span_id:315) cond: [ (command.Sentence child: (C {(read)} {(charset)} {(charmap)}) terminator: (Token id:Id.Op_Semi val:';' span_id:322) ) ] body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} {(DQ ($ Id.VSub_DollarName '$charset'))} {(Id.Lit_Equals '=')} {(GB18030)} ) terminator: (Token id:Id.Op_Semi val:';' span_id:338) ) ] action: [ (command.Sentence child: (command.Simple words: [{(echo)} {(DQ ('This might take a while'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'1>&' span_id:348) fd: 1 arg_word: {(2)} ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:350) ) ] spids: [327 340] ) ] ) (command.Case to_match: {(${ Id.VSub_Name charset)} arms: [ (case_arm pat_list: [ { (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\#' span_id:363) ) (Id.Lit_Star '*') } ] action: [ (command.ControlFlow token: (Token id:Id.ControlFlow_Continue val:continue span_id:367) ) ] spids: [363 365 368 -1] ) ] ) (command.Simple words: [ {(printf)} {(Id.Lit_Other '%') (s)} {(DQ ('Testing ') (${ Id.VSub_Name charset))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'1>&' span_id:385) fd: 1 arg_word: {(2)} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Simple words: [ {(./tst-table.sh)} {(${ Id.VSub_Name common_objpfx)} {(${ Id.VSub_Name objpfx)} {(DQ (${ Id.VSub_Name test_program_prefix))} {(${ Id.VSub_Name charset)} {(${ Id.VSub_Name charmap)} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Less val:'<' span_id:417) fd: -1 arg_word: {(/dev/null)} ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:420) ) ] action: [ (command.Simple words: [{(echo)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'1>&' span_id:427) fd: 1 arg_word: {(2)} ) ] ) ] spids: [389 422] ) ] else_action: [ (C {(echo)} { (DQ ('failed: ./tst-table.sh ') (${ Id.VSub_Name common_objpfx) (' ') (${ Id.VSub_Name objpfx) (' ') (${ Id.VSub_Name charset) (' ') (${ Id.VSub_Name charmap) ) } ) (command.Simple words: [{(echo)} {(DQ (' *** FAILED ***'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'1>&' span_id:462) fd: 1 arg_word: {(2)} ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:466) arg_word: {(1)} ) ] ) ] ) ) ] negated: F ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:476) arg_word: {($ Id.VSub_QMark '$?')} ) ] )