(command.CommandList children: [ (C {<Id.KW_Set set>} {<-e>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:common_objpfx) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [61] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tst_rpmatch) op: assign_op.Equal rhs: {($ Id.VSub_Number '$2')} spids: [64] ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:rc) op:assign_op.Equal rhs:{<0>} spids:[68])] ) (command.WhileUntil keyword: <Id.KW_While while> cond: [ (command.Sentence child: (command.Simple words: [{<read>} {<locale>} {<string>} {<result>} {<dummy>}] more_env: [ (env_pair name: IFS val: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\&'>)} spids: [73] ) ] ) terminator: <Id.Op_Semi _> ) ] body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$locale'))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <'#'>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [ {(${ Id.VSub_Name tst_rpmatch)} {($ Id.VSub_DollarName '$locale')} {($ Id.VSub_DollarName '$string')} {($ Id.VSub_DollarName '$result')} ] redirects: [(redir.Redir op:<Id.Redir_Less '<'> fd:-1 arg_word:{</dev/null>})] ) (command.BraceGroup children: [ (command.Sentence child: (C {<echo>} { (DQ ($ Id.VSub_DollarName '$locale') <' '> ($ Id.VSub_DollarName '$string') <' '> ($ Id.VSub_DollarName '$result') <' FAILED'> ) } ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) terminator: <Id.Op_Semi _> ) ] ) ] ) ] spids: [90 108] ) ] ) ] ) redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<EOF>} here_end_span_id: 184 stdin_parts: [ <'#& These are the tests for rpmatch in glibc. Each line contains one test,\n'> <'#& comments start with #& in the first column. The fields are separated\n'> <'#& by ampersand signs and contain: the locale, the string, the expected\n'> <'#& return value of rpmatch(3). If the test fails, test-rpmatch prints\n'> <'#& all these informations\n'> <'C&Yes&1\n'> <'C&yes&1\n'> <'C&YES&1\n'> <'C&YeS&1\n'> <'C&YEs&1\n'> <'C&yEs&1\n'> <'C&yES&1\n'> <'C&yeS&1\n'> <'C&No&0\n'> <'C&no&0\n'> <"#& Uh, that's nonsense\n"> <'C&nonsens&0\n'> <'C&Error&-1\n'> <'de_DE.ISO-8859-1&Yes&1\n'> <'de_DE.ISO-8859-1&Ja&1\n'> <'de_DE.ISO-8859-1&Jammerschade&1\n'> <'de_DE.ISO-8859-1&dejavu&-1\n'> <'de_DE.ISO-8859-1&Nein&0\n'> <'de_DE.ISO-8859-1&Fehler&-1\n'> <'de_DE.ISO-8859-1&jein&1\n'> ] ) ] ) ] )