(command.CommandList children: [ (C {(set)} {(-o)} {(nounset)}) (C {(set)} {(-o)} {(pipefail)}) (C {(set)} {(-o)} {(errexit)}) (command.FuncDef name: filter-py body: (command.BraceGroup children: [(C {(grep)} {(-E)} {(-v)} {(SQ <'__init__.py$|_test.py$'>)})] ) ) (command.FuncDef name: oil-osh-files body: (command.BraceGroup children: [ (command.Pipeline children: [ (command.BraceGroup children: [ (command.Sentence child: (C {(ls)} (word.BracedWordTree parts: [ (word_part.BracedAltPart words: [{(bin)} {(osh)} {(core)}] ) (/) (Lit_Other '*') (.py) ] ) {(native/) (Lit_Other '*') (.c)} (word.BracedWordTree parts: [(osh/) (word_part.BracedAltPart words:[{(osh)} {(types)}]) (.asdl)] ) {(core/runtime.asdl)} ) terminator: <Op_Semi ';'> ) ] ) (C {(filter-py)}) (C {(grep)} {(-E)} {(-v)} {(SQ <'_gen.py$|test_lib.py'>)}) ] negated: F ) ] ) ) (command.FuncDef name: asdl-cloc body: (command.BraceGroup children: [ (C {(python)} {(-c)} { (SQ <'\n'> <'import sys\n'> <'\n'> <'total = 0\n'> <'for path in sys.argv[1:]:\n'> <' num_lines = 0\n'> <' with open(path) as f:\n'> <' for line in f:\n'> <' line = line.strip()\n'> <' if not line or line.startswith("--"):\n'> <' continue\n'> <' num_lines += 1\n'> <'\n'> <' print "%5d %s" % (num_lines, path)\n'> <' total += num_lines\n'> <'\n'> <'print "%5d %s" % (total, "total")\n'> ) } {(DQ ($ VSub_At '$@'))} ) ] ) ) (command.FuncDef name: oil-osh-cloc body: (command.BraceGroup children: [ (C {(echo)} {(SQ <'OIL AND OSH (non-blank non-comment lines)'>)}) (C {(echo)}) (command.Pipeline children: [(C {(oil-osh-files)}) (C {(xargs)} {(cloc)} {(--quiet)} {(DQ ($ VSub_At '$@'))})] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <'ASDL SCHEMAS (non-blank non-comment lines)'>)}) (C {(asdl-cloc)} {(osh/osh.asdl)} {(core/runtime.asdl)}) ] ) ) (command.FuncDef name: all body: (command.BraceGroup children: [ (C {(echo)} {(SQ <'BUILD AUTOMATION'>)}) (command.Pipeline children: [ (C {(wc)} {(-l)} (word.BracedWordTree parts: [ (build/) (Lit_Other '*') (.) (word_part.BracedAltPart words:[{(mk)} {(sh)} {(py)}]) ] ) {(Makefile)} {(Lit_Other '*') (.mk)} {(configure)} {(install)} ) (C {(filter-py)}) (C {(sort)} {(--numeric)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <'TEST AUTOMATION'>)}) (command.Pipeline children: [ (C {(wc)} {(-l)} (word.BracedWordTree parts: [ (test/) (Lit_Other '*') (.) (word_part.BracedAltPart words:[{(sh)} {(py)} {(R)}]) ] ) ) (C {(filter-py)}) (C {(sort)} {(--numeric)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <'RELEASE AUTOMATION'>)}) (command.Pipeline children: [(C {(wc)} {(-l)} {(scripts/release.sh)}) (C {(sort)} {(--numeric)})] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <BENCHMARKS>)}) (command.Pipeline children: [ (C {(wc)} {(-l)} (word.BracedWordTree parts: [ (benchmarks/) (Lit_Other '*') (.) (word_part.BracedAltPart words:[{(sh)} {(py)} {(R)}]) ] ) ) (C {(sort)} {(--numeric)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <'SPEC TESTS'>)}) (command.Pipeline children: [ (C {(wc)} {(-l)} {(spec/) (Lit_Other '*') (.test.sh)}) (C {(sort)} {(--numeric)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <'GOLD TESTS'>)}) (command.Pipeline children: [(C {(wc)} {(-l)} {(gold/) (Lit_Other '*') (.sh)}) (C {(sort)} {(--numeric)})] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <ASDL>)}) (command.Pipeline children: [ (C {(wc)} {(-l)} (word.BracedWordTree parts: [ (asdl/) (word_part.BracedAltPart words: [{(asdl_) (Lit_Other '*')} {(const)} {(py_meta)} {(encode)} {(format)}] ) (.py) ] ) ) (C {(sort)} {(--numeric)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <'CODE GENERATORS'>)}) (command.Pipeline children: [ (C {(wc)} {(-l)} {(asdl/gen_) (Lit_Other '*') (.py)} {(Lit_Other '*') (/) (Lit_Other '*') (_gen.py)} ) (C {(sort)} {(--numeric)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <'GENERATED CODE'>)}) (command.Pipeline children: [ (C {(wc)} {(-l)} (word.BracedWordTree parts: [ (_devbuild/gen/) (Lit_Other '*') (.) (word_part.BracedAltPart words:[{(py)} {(h)}]) ] ) ) (C {(sort)} {(--numeric)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <TOOLS>)}) (command.Pipeline children: [ (C {(ls)} {(tools/) (Lit_Other '*') (.py)}) (C {(filter-py)}) (C {(xargs)} {(wc)} {(-l)}) (C {(sort)} {(--numeric)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <WEB>)}) (command.Pipeline children: [ (C {(ls)} {(web/) (Lit_Other '*') (.js)} (word.BracedWordTree parts: [ (web/) (Lit_Other '*') (/) (Lit_Other '*') (.) (word_part.BracedAltPart words:[{(js)} {(py)}]) ] ) ) (C {(xargs)} {(wc)} {(-l)}) (C {(sort)} {(--numeric)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <'OTHER UNIT TESTS'>)}) (command.Pipeline children: [ (C {(wc)} {(-l)} (word.BracedWordTree parts: [ (word_part.BracedAltPart words: [{(build)} {(test)} {(asdl)} {(tools)}] ) (/) (Lit_Other '*') (_test.py) ] ) ) (C {(sort)} {(--numeric)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <'OIL UNIT TESTS'>)}) (command.Pipeline children: [ (C {(wc)} {(-l)} (word.BracedWordTree parts: [ (word_part.BracedAltPart words: [{(osh)} {(core)} {(native)} {(tools)}] ) (/) (Lit_Other '*') (_test.py) ] ) ) (C {(sort)} {(--numeric)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <'OIL AND OSH'>)}) (command.Pipeline children: [(C {(oil-osh-files)}) (C {(xargs)} {(wc)} {(-l)}) (C {(sort)} {(--numeric)})] negated: F ) (C {(echo)}) (command.ControlFlow token:<ControlFlow_Return return>) (C {(echo)} {(SQ <DOCS>)}) (command.Pipeline children: [ (C {(wc)} {(-l)} {(README.md)} {(doc/) (Lit_Other '*')}) (C {(sort)} {(--numeric)}) ] negated: F ) (C {(echo)}) ] ) ) (command.FuncDef name: parser body: (command.BraceGroup children: [ (C {(echo)} {(SQ <'AST and IDs'>)}) (command.Pipeline children: [(C {(wc)} {(-l)} {(osh/osh.asdl)} {(core/id_kind.py)}) (C {(sort)} {(-n)})] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <'Lexer / Parser'>)}) (command.Pipeline children: [ (C {(wc)} {(-l)} (word.BracedWordTree parts: [ (osh/) (word_part.BracedAltPart words: [{(Lit_Other '*') (_parse.py)} {(lex.py)} {(parse_lib.py)}] ) ] ) {(core/word.py)} ) (C {(sort)} {(-n)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <'Compiler / Middle End'>)}) (command.Pipeline children: [ (C {(wc)} {(-l)} (word.BracedWordTree parts: [(core/) (word_part.BracedAltPart words:[{(braces)} {(word_compile)}]) (.py)] ) ) (C {(sort)} {(-n)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <'Common Algorithms'>)}) (command.Pipeline children: [ (C {(wc)} {(-l)} (word.BracedWordTree parts: [(core/) (word_part.BracedAltPart words:[{(tdop)} {(lexer)}]) (.py)] ) ) (C {(sort)} {(-n)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <Utilities>)}) (command.Pipeline children: [ (C {(wc)} {(-l)} (word.BracedWordTree parts: [(core/) (word_part.BracedAltPart words:[{(alloc)} {(ui)} {(reader)}]) (.py)] ) ) (C {(sort)} {(-n)}) ] negated: F ) (C {(echo)}) ] ) ) (command.FuncDef name: parser-port body: (command.BraceGroup children: [ (command.Pipeline children: [ (C {(wc)} {(-l)} {(core/tdop.py)} {(osh/) (Lit_Other '*') (_parse.py)}) (C {(sort)} {(-n)}) ] negated: F ) ] ) ) (command.FuncDef name: runtime body: (command.BraceGroup children: [ (C {(echo)} {(SQ <Runtime>)}) (command.Pipeline children: [ (C {(wc)} {(-l)} (word.BracedWordTree parts: [(core/) (word_part.BracedAltPart words:[{(process)} {(state)}]) (.py)] ) {(core/runtime.asdl)} ) (C {(sort)} {(-n)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <Evaluators>)}) (command.Pipeline children: [ (C {(wc)} {(-l)} (word.BracedWordTree parts: [ (core/) (Lit_Other '*') (_) (word_part.BracedAltPart words:[{(exec)} {(eval)}]) (.py) ] ) ) (C {(sort)} {(-n)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <Builtins>)}) (C {(wc)} {(-l)} (word.BracedWordTree parts: [(core/) (word_part.BracedAltPart words:[{(builtin)} {(test_builtin)}]) (.py)] ) ) (C {(echo)}) (C {(echo)} {(SQ <Libraries>)}) (command.Pipeline children: [ (C {(wc)} {(-l)} (word.BracedWordTree parts: [ (core/) (word_part.BracedAltPart words: [{(args)} {(glob_)} {(legacy)} {(libstr)}] ) (.py) ] ) ) (C {(sort)} {(-n)}) ] negated: F ) (C {(echo)}) ] ) ) (command.FuncDef name: instructions body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(lhs_expr.LhsName name:bin) op:Equal rhs:{(_tmp/oil)})] ) (command.Pipeline children: [ (C {(objdump)} {(-d)} {($ VSub_DollarName '$bin')}) (C {(cut)} {(-f3)}) (C {(grep)} {(-oE)} {(DQ ('^[a-z]+'))}) (C {(sort)}) (C {(uniq)} {(-c)}) (C {(sort)} {(-n)}) ] negated: F ) ] ) ) (command.FuncDef name: hist body: (command.BraceGroup children: [ (command.Pipeline children: [(C {(sort)}) (C {(uniq)} {(-c)}) (C {(sort)} {(-n)})] negated: F ) ] ) ) (command.FuncDef name: stdlib-imports body: (command.BraceGroup children: [ (command.Pipeline children: [ (C {(oil-osh-files)}) (C {(xargs)} {(grep)} {(--no-filename)} {(SQ <'^import'>)}) (C {(hist)}) ] negated: F ) ] ) ) (command.FuncDef name: imports body: (command.BraceGroup children: [ (command.Pipeline children: [ (C {(oil-osh-files)}) (C {(xargs)} {(grep)} {(--no-filename)} {(-w)} {(import)}) (C {(hist)}) ] negated: F ) ] ) ) (command.FuncDef name: top-level body: (command.BraceGroup children: [ (command.Pipeline children: [ (C {(grep)} {(SQ <'^[a-zA-Z]'>)} (word.BracedWordTree parts: [(word_part.BracedAltPart words:[{(core)} {(osh)}]) (/) (Lit_Other '*') (.py)] ) ) (C {(grep)} {(-v)} {(SQ <_test.py>)}) (C {(egrep)} {(-v)} {(SQ <':import|from|class|def'>)}) ] negated: F ) ] ) ) (command.FuncDef name: _python-symbols body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:main) op: Equal rhs: {($ VSub_Number '$1')} ) ] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:name) op: Equal rhs: {($ VSub_Number '$2')} ) ] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:out) op: Equal rhs: {(_tmp/) (${ VSub_Name name) (-python-symbols.txt)} ) ] ) (command.Pipeline children: [ (command.SimpleCommand words: [{($ VSub_DollarName '$main')}] more_env: [(env_pair name:CALLGRAPH val:{(1)})] ) (C {(tee)} {($ VSub_DollarName '$out')}) ] negated: F ) (C {(wc)} {(-l)} {($ VSub_DollarName '$out')}) (C {(echo)}) (C {(echo)} {(DQ ('Wrote ') ($ VSub_DollarName '$out'))}) ] ) ) (command.FuncDef name: oil-python-symbols body: (command.BraceGroup children:[(C {(_python-symbols)} {(bin/oil.py)} {(oil)})]) ) (command.FuncDef name: opy-python-symbols body: (command.BraceGroup children:[(C {(_python-symbols)} {(bin/opy_.py)} {(opy)})]) ) (command.FuncDef name: old-style-classes body: (command.BraceGroup children: [ (command.Pipeline children: [(C {(oil-python-symbols)}) (C {(grep)} {(-v)} {(SQ <'<'>)})] negated: F ) ] ) ) (C {(DQ ($ VSub_At '$@'))}) ] )