(command.CommandList children: [ (C {<set>} {<-o>} {<nounset>}) (C {<set>} {<-o>} {<pipefail>}) (C {<set>} {<-o>} {<errexit>}) (command.ShFunction name: compare-opcodes body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<local>} {<Id.Lit_VarLike 'pat='> (SQ < 'self.emit|self.unaryOp|self.binaryOp|self._nameOp|self._implicitNameOp|INPLACE|CALL_FUNCTION' > ) } ) (command.Pipeline children: [ (C {<egrep>} {(DQ ($ Id.VSub_DollarName pat))} {<'compiler2/pycodegen.py'>}) (C {<egrep>} {<-o>} {(SQ <'[A-Z][A-Z_]+'>)}) (C {<sort>}) (command.Simple words: [{<uniq>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'_tmp/opcodes-emitted.txt'>} ) ] more_env: [] do_fork: T ) ] negated: F stderr_indices: [] ) (command.Simple words: [ {<python2>} {<-c>} { (SQ <'\n'> <'from compiler2 import opcode\n'> <'names = sorted(opcode.opmap)\n'> <'for n in names:\n'> <' print(n)\n'> ) } ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'_tmp/opcodes-defined.txt'>} ) ] more_env: [(env_pair name:PYTHONPATH val:{<.>} spids:[97])] do_fork: T ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Pipeline children: [ (C {<diff>} {<-u>} (word.BracedTree parts: [ <'_tmp/opcodes-'> (word_part.BracedTuple words: [{<defined>} {<emitted>}] ) <.txt> ] ) ) (C {<tee>} {<'_tmp/opcode-diff.txt'>}) ] negated: F stderr_indices: [] ) (C {<true>}) ] ) (command.Pipeline children: [ (C {<grep>} {(SQ <'^+'>)} {<'_tmp/opcode-diff.txt'>}) (C {<grep>} {<-v>} {<SLICE>}) ] negated: F stderr_indices: [] ) (C {<wc>} {<-l>} (word.BracedTree parts: [ <'_tmp/opcodes-'> (word_part.BracedTuple words:[{<defined>} {<emitted>}]) <.txt> ] ) ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (C {(DQ ($ Id.VSub_At '@'))}) ] )