(CommandList children: [ (C {(set)} {(-o)} {(nounset)}) (C {(set)} {(-o)} {(pipefail)}) (C {(set)} {(-o)} {(errexit)}) (FuncDef name: filter-py body: (BraceGroup children: [(C {(grep)} {(-E)} {(-v)} {(SQ <'__init__.py$|_test.py$'>)})] spids: [42] ) spids: [38 41] ) (FuncDef name: oil-osh-files body: (BraceGroup children: [ (Pipeline children: [ (BraceGroup children: [ (Sentence child: (C {(ls)} (BracedWordTree parts: [ (BracedAltPart words: [{(bin)} {(osh)} {(core)}] ) (/) (Lit_Other '*') (.py) ] ) {(native/) (Lit_Other '*') (.c)} {(osh/osh.asdl)} {(core/runtime.asdl)} ) terminator: <Op_Semi ';'> ) ] spids: [68] ) (C {(filter-py)}) (C {(grep)} {(-E)} {(-v)} {(SQ <'_gen.py$|test_lib.py'>)}) ] negated: F ) ] spids: [65] ) spids: [61 64] ) (FuncDef name: asdl-cloc body: (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 '$@'))} ) ] spids: [124] ) spids: [120 123] ) (FuncDef name: oil-osh-cloc body: (BraceGroup children: [ (C {(echo)} {(SQ <'OIL AND OSH (non-blank non-comment lines)'>)}) (C {(echo)}) (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)}) ] spids: [162] ) spids: [158 161] ) (FuncDef name: all body: (BraceGroup children: [ (C {(echo)} {(SQ <'BUILD AUTOMATION'>)}) (Pipeline children: [ (C {(wc)} {(-l)} (BracedWordTree parts: [(build/) (Lit_Other '*') (.) (BracedAltPart words:[{(sh)} {(py)}])] ) {(Makefile)} {(configure)} {(install)} ) (C {(filter-py)}) (C {(sort)} {(--numeric)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <'TEST AUTOMATION'>)}) (Pipeline children: [ (C {(wc)} {(-l)} (BracedWordTree parts: [(test/) (Lit_Other '*') (.) (BracedAltPart words:[{(sh)} {(py)} {(R)}])] ) ) (C {(filter-py)}) (C {(sort)} {(--numeric)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <'RELEASE AUTOMATION'>)}) (Pipeline children: [(C {(wc)} {(-l)} {(scripts/release.sh)}) (C {(sort)} {(--numeric)})] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <BENCHMARKS>)}) (Pipeline children: [ (C {(wc)} {(-l)} (BracedWordTree parts: [ (benchmarks/) (Lit_Other '*') (.) (BracedAltPart words:[{(sh)} {(py)} {(R)}]) ] ) ) (C {(sort)} {(--numeric)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <'SPEC TESTS'>)}) (Pipeline children: [ (C {(wc)} {(-l)} {(spec/) (Lit_Other '*') (.test.sh)}) (C {(sort)} {(--numeric)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <'GOLD TESTS'>)}) (Pipeline children: [(C {(wc)} {(-l)} {(gold/) (Lit_Other '*') (.sh)}) (C {(sort)} {(--numeric)})] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <ASDL>)}) (Pipeline children: [ (C {(wc)} {(-l)} (BracedWordTree parts: [ (asdl/) (BracedAltPart words: [{(asdl_) (Lit_Other '*')} {(const)} {(py_meta)} {(encode)} {(format)}] ) (.py) ] ) ) (C {(sort)} {(--numeric)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <'CODE GENERATORS'>)}) (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'>)}) (Pipeline children: [ (C {(wc)} {(-l)} (BracedWordTree parts: [(_devbuild/gen/) (Lit_Other '*') (.) (BracedAltPart words:[{(py)} {(h)}])] ) ) (C {(sort)} {(--numeric)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <TOOLS>)}) (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>)}) (Pipeline children: [ (C {(ls)} {(web/) (Lit_Other '*') (.js)} (BracedWordTree parts: [ (web/) (Lit_Other '*') (/) (Lit_Other '*') (.) (BracedAltPart words:[{(js)} {(py)}]) ] ) ) (C {(xargs)} {(wc)} {(-l)}) (C {(sort)} {(--numeric)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <'OTHER UNIT TESTS'>)}) (Pipeline children: [ (C {(wc)} {(-l)} (BracedWordTree parts: [ (BracedAltPart words: [{(build)} {(test)} {(asdl)} {(tools)}] ) (/) (Lit_Other '*') (_test.py) ] ) ) (C {(sort)} {(--numeric)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <'OIL UNIT TESTS'>)}) (Pipeline children: [ (C {(wc)} {(-l)} (BracedWordTree parts: [ (BracedAltPart words: [{(osh)} {(core)} {(native)} {(tools)}] ) (/) (Lit_Other '*') (_test.py) ] ) ) (C {(sort)} {(--numeric)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <'OIL AND OSH'>)}) (Pipeline children: [(C {(oil-osh-files)}) (C {(xargs)} {(wc)} {(-l)}) (C {(sort)} {(--numeric)})] negated: F ) (C {(echo)}) (ControlFlow token:<ControlFlow_Return return>) (C {(echo)} {(SQ <DOCS>)}) (Pipeline children: [ (C {(wc)} {(-l)} {(README.md)} {(doc/) (Lit_Other '*')}) (C {(sort)} {(--numeric)}) ] negated: F ) (C {(echo)}) ] spids: [229] ) spids: [225 228] ) (FuncDef name: parser body: (BraceGroup children: [ (C {(echo)} {(SQ <'AST and IDs'>)}) (Pipeline children: [(C {(wc)} {(-l)} {(osh/osh.asdl)} {(core/id_kind.py)}) (C {(sort)} {(-n)})] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <'Lexer / Parser'>)}) (Pipeline children: [ (C {(wc)} {(-l)} (BracedWordTree parts: [ (osh/) (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'>)}) (Pipeline children: [ (C {(wc)} {(-l)} (BracedWordTree parts: [(core/) (BracedAltPart words:[{(braces)} {(word_compile)}]) (.py)] ) ) (C {(sort)} {(-n)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <'Common Algorithms'>)}) (Pipeline children: [ (C {(wc)} {(-l)} (BracedWordTree parts: [(core/) (BracedAltPart words:[{(tdop)} {(lexer)}]) (.py)] ) ) (C {(sort)} {(-n)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <Utilities>)}) (Pipeline children: [ (C {(wc)} {(-l)} (BracedWordTree parts: [(core/) (BracedAltPart words:[{(alloc)} {(ui)} {(reader)}]) (.py)] ) ) (C {(sort)} {(-n)}) ] negated: F ) (C {(echo)}) ] spids: [739] ) spids: [735 738] ) (FuncDef name: parser-port body: (BraceGroup children: [ (Pipeline children: [ (C {(wc)} {(-l)} {(core/tdop.py)} {(osh/) (Lit_Other '*') (_parse.py)}) (C {(sort)} {(-n)}) ] negated: F ) ] spids: [902] ) spids: [898 901] ) (FuncDef name: runtime body: (BraceGroup children: [ (C {(echo)} {(SQ <Runtime>)}) (Pipeline children: [ (C {(wc)} {(-l)} (BracedWordTree parts: [(core/) (BracedAltPart words:[{(process)} {(state)}]) (.py)] ) {(core/runtime.asdl)} ) (C {(sort)} {(-n)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <Evaluators>)}) (Pipeline children: [ (C {(wc)} {(-l)} (BracedWordTree parts: [(core/) (Lit_Other '*') (_) (BracedAltPart words:[{(exec)} {(eval)}]) (.py)] ) ) (C {(sort)} {(-n)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <Builtins>)}) (C {(wc)} {(-l)} (BracedWordTree parts: [(core/) (BracedAltPart words:[{(builtin)} {(test_builtin)}]) (.py)] ) ) (C {(echo)}) (C {(echo)} {(SQ <Libraries>)}) (Pipeline children: [ (C {(wc)} {(-l)} (BracedWordTree parts: [ (core/) (BracedAltPart words: [{(args)} {(glob_)} {(legacy)} {(libstr)}] ) (.py) ] ) ) (C {(sort)} {(-n)}) ] negated: F ) (C {(echo)}) ] spids: [928] ) spids: [924 927] ) (FuncDef name: instructions body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:bin) op:Equal rhs:{(_tmp/oil)} spids:[1080])] spids: [1078] ) (Pipeline children: [ (C {(objdump)} {(-d)} {($ VSub_Name '$bin')}) (C {(cut)} {(-f3)}) (C {(grep)} {(-oE)} {(DQ ('^[a-z]+'))}) (C {(sort)}) (C {(uniq)} {(-c)}) (C {(sort)} {(-n)}) ] negated: F ) ] spids: [1070] ) spids: [1066 1069] ) (FuncDef name: hist body: (BraceGroup children: [ (Pipeline children: [(C {(sort)}) (C {(uniq)} {(-c)}) (C {(sort)} {(-n)})] negated: F ) ] spids: [1129] ) spids: [1125 1128] ) (FuncDef name: stdlib-imports body: (BraceGroup children: [ (Pipeline children: [ (C {(oil-osh-files)}) (C {(xargs)} {(grep)} {(--no-filename)} {(SQ <'^import'>)}) (C {(hist)}) ] negated: F ) ] spids: [1153] ) spids: [1149 1152] ) (FuncDef name: imports body: (BraceGroup children: [ (Pipeline children: [ (C {(oil-osh-files)}) (C {(xargs)} {(grep)} {(--no-filename)} {(-w)} {(import)}) (C {(hist)}) ] negated: F ) ] spids: [1181] ) spids: [1177 1180] ) (FuncDef name: top-level body: (BraceGroup children: [ (Pipeline children: [ (C {(grep)} {(SQ <'^[a-zA-Z]'>)} (BracedWordTree parts: [(BracedAltPart words:[{(core)} {(osh)}]) (/) (Lit_Other '*') (.py)] ) ) (C {(grep)} {(-v)} {(SQ <_test.py>)}) (C {(egrep)} {(-v)} {(SQ <':import|from|class|def'>)}) ] negated: F ) ] spids: [1212] ) spids: [1208 1211] ) (C {(DQ ($ VSub_At '$@'))}) ] )