(command.CommandList children: [ (C {(Id.KW_Set set)} {(-o)} {(nounset)}) (C {(Id.KW_Set set)} {(-o)} {(pipefail)}) (C {(Id.KW_Set set)} {(-o)} {(errexit)}) (command.ShFunction name: filter-py body: (command.BraceGroup children: [(C {(grep)} {(-E)} {(-v)} {(SQ <'__init__.py$|_test.py$'>)})] ) ) (command.ShFunction name: oil-osh-files body: (command.BraceGroup children: [ (command.Pipeline children: [ (command.BraceGroup children: [ (command.Sentence child: (C {(ls)} (word.BracedTree parts: [ (word_part.BracedTuple words: [{(bin)} {(osh)} {(core)}] ) (/) (Id.Lit_Star '*') (.py) ] ) {(native/) (Id.Lit_Star '*') (.c)} (word.BracedTree parts: [(osh/) (word_part.BracedTuple words:[{(osh)} {(types)}]) (.asdl)] ) {(core/runtime.asdl)} ) terminator: <Id.Op_Semi ';'> ) ] ) (C {(filter-py)}) (C {(grep)} {(-E)} {(-v)} {(SQ <'_gen.py$|test_lib.py'>)}) ] negated: F ) ] ) ) (command.ShFunction 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 ($ Id.VSub_At '$@'))} ) ] ) ) (command.ShFunction 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 ($ Id.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.ShFunction name: all body: (command.BraceGroup children: [ (C {(echo)} {(SQ <'BUILD AUTOMATION'>)}) (command.Pipeline children: [ (C {(wc)} {(-l)} (word.BracedTree parts: [ (build/) (Id.Lit_Star '*') (.) (word_part.BracedTuple words:[{(mk)} {(sh)} {(py)}]) ] ) {(Makefile)} {(Id.Lit_Star '*') (.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.BracedTree parts: [ (test/) (Id.Lit_Star '*') (.) (word_part.BracedTuple 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.BracedTree parts: [ (benchmarks/) (Id.Lit_Star '*') (.) (word_part.BracedTuple words:[{(sh)} {(py)} {(R)}]) ] ) ) (C {(sort)} {(--numeric)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <'SPEC TESTS'>)}) (command.Pipeline children: [ (C {(wc)} {(-l)} {(spec/) (Id.Lit_Star '*') (.test.sh)}) (C {(sort)} {(--numeric)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <'GOLD TESTS'>)}) (command.Pipeline children: [(C {(wc)} {(-l)} {(gold/) (Id.Lit_Star '*') (.sh)}) (C {(sort)} {(--numeric)})] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <ASDL>)}) (command.Pipeline children: [ (C {(wc)} {(-l)} (word.BracedTree parts: [ (asdl/) (word_part.BracedTuple words: [{(asdl_) (Id.Lit_Star '*')} {(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_) (Id.Lit_Star '*') (.py)} {(Id.Lit_Star '*') (/) (Id.Lit_Star '*') (_gen.py)} ) (C {(sort)} {(--numeric)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <'GENERATED CODE'>)}) (command.Pipeline children: [ (C {(wc)} {(-l)} (word.BracedTree parts: [ (_devbuild/gen/) (Id.Lit_Star '*') (.) (word_part.BracedTuple words:[{(py)} {(h)}]) ] ) ) (C {(sort)} {(--numeric)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <TOOLS>)}) (command.Pipeline children: [ (C {(ls)} {(tools/) (Id.Lit_Star '*') (.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/) (Id.Lit_Star '*') (.js)} (word.BracedTree parts: [ (web/) (Id.Lit_Star '*') (/) (Id.Lit_Star '*') (.) (word_part.BracedTuple 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.BracedTree parts: [ (word_part.BracedTuple words: [{(build)} {(test)} {(asdl)} {(tools)}] ) (/) (Id.Lit_Star '*') (_test.py) ] ) ) (C {(sort)} {(--numeric)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <'OIL UNIT TESTS'>)}) (command.Pipeline children: [ (C {(wc)} {(-l)} (word.BracedTree parts: [ (word_part.BracedTuple words: [{(osh)} {(core)} {(native)} {(tools)}] ) (/) (Id.Lit_Star '*') (_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:<Id.ControlFlow_Return return>) (C {(echo)} {(SQ <DOCS>)}) (command.Pipeline children: [ (C {(wc)} {(-l)} {(README.md)} {(doc/) (Id.Lit_Star '*')}) (C {(sort)} {(--numeric)}) ] negated: F ) (C {(echo)}) ] ) ) (command.ShFunction 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.BracedTree parts: [ (osh/) (word_part.BracedTuple words: [{(Id.Lit_Star '*') (_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.BracedTree parts: [(core/) (word_part.BracedTuple words:[{(braces)} {(word_compile)}]) (.py)] ) ) (C {(sort)} {(-n)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <'Common Algorithms'>)}) (command.Pipeline children: [ (C {(wc)} {(-l)} (word.BracedTree parts: [(core/) (word_part.BracedTuple words:[{(tdop)} {(lexer)}]) (.py)] ) ) (C {(sort)} {(-n)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <Utilities>)}) (command.Pipeline children: [ (C {(wc)} {(-l)} (word.BracedTree parts: [(core/) (word_part.BracedTuple words:[{(alloc)} {(ui)} {(reader)}]) (.py)] ) ) (C {(sort)} {(-n)}) ] negated: F ) (C {(echo)}) ] ) ) (command.ShFunction name: parser-port body: (command.BraceGroup children: [ (command.Pipeline children: [ (C {(wc)} {(-l)} {(core/tdop.py)} {(osh/) (Id.Lit_Star '*') (_parse.py)}) (C {(sort)} {(-n)}) ] negated: F ) ] ) ) (command.ShFunction name: runtime body: (command.BraceGroup children: [ (C {(echo)} {(SQ <Runtime>)}) (command.Pipeline children: [ (C {(wc)} {(-l)} (word.BracedTree parts: [(core/) (word_part.BracedTuple 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.BracedTree parts: [ (core/) (Id.Lit_Star '*') (_) (word_part.BracedTuple words:[{(exec)} {(eval)}]) (.py) ] ) ) (C {(sort)} {(-n)}) ] negated: F ) (C {(echo)}) (C {(echo)} {(SQ <Builtins>)}) (C {(wc)} {(-l)} (word.BracedTree parts: [(core/) (word_part.BracedTuple words:[{(builtin)} {(test_builtin)}]) (.py)] ) ) (C {(echo)}) (C {(echo)} {(SQ <Libraries>)}) (command.Pipeline children: [ (C {(wc)} {(-l)} (word.BracedTree parts: [ (core/) (word_part.BracedTuple words: [{(args)} {(glob_)} {(legacy)} {(libstr)}] ) (.py) ] ) ) (C {(sort)} {(-n)}) ] negated: F ) (C {(echo)}) ] ) ) (command.ShFunction name: instructions body: (command.BraceGroup children: [ (C {(local)} {(Id.Lit_VarLike 'bin=') (_tmp/oil)}) (command.Pipeline children: [ (C {(objdump)} {(-d)} {($ Id.VSub_DollarName '$bin')}) (C {(cut)} {(-f3)}) (C {(grep)} {(-oE)} {(DQ ('^[a-z]+'))}) (C {(sort)}) (C {(uniq)} {(-c)}) (C {(sort)} {(-n)}) ] negated: F ) ] ) ) (command.ShFunction name: hist body: (command.BraceGroup children: [ (command.Pipeline children: [(C {(sort)}) (C {(uniq)} {(-c)}) (C {(sort)} {(-n)})] negated: F ) ] ) ) (command.ShFunction 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.ShFunction 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.ShFunction name: top-level body: (command.BraceGroup children: [ (command.Pipeline children: [ (C {(grep)} {(SQ <'^[a-zA-Z]'>)} (word.BracedTree parts: [(word_part.BracedTuple words:[{(core)} {(osh)}]) (/) (Id.Lit_Star '*') (.py)] ) ) (C {(grep)} {(-v)} {(SQ <_test.py>)}) (C {(egrep)} {(-v)} {(SQ <':import|from|class|def'>)}) ] negated: F ) ] ) ) (command.ShFunction name: _python-symbols body: (command.BraceGroup children: [ (C {(local)} {(Id.Lit_VarLike 'main=') ($ Id.VSub_Number '$1')}) (C {(local)} {(Id.Lit_VarLike 'name=') ($ Id.VSub_Number '$2')}) (C {(local)} {(Id.Lit_VarLike 'out=') (_tmp/) (${ Id.VSub_Name name) (-python-symbols.txt)}) (command.Pipeline children: [ (command.Simple words: [{($ Id.VSub_DollarName '$main')}] more_env: [(env_pair name:CALLGRAPH val:{(1)} spids:[1303])] ) (C {(tee)} {($ Id.VSub_DollarName '$out')}) ] negated: F ) (C {(wc)} {(-l)} {($ Id.VSub_DollarName '$out')}) (C {(echo)}) (C {(echo)} {(DQ ('Wrote ') ($ Id.VSub_DollarName '$out'))}) ] ) ) (command.ShFunction name: oil-python-symbols body: (command.BraceGroup children:[(C {(_python-symbols)} {(bin/oil.py)} {(oil)})]) ) (command.ShFunction name: opy-python-symbols body: (command.BraceGroup children:[(C {(_python-symbols)} {(bin/opy_.py)} {(opy)})]) ) (command.ShFunction name: old-style-classes body: (command.BraceGroup children: [ (command.Pipeline children: [(C {(oil-python-symbols)}) (C {(grep)} {(-v)} {(SQ <'<'>)})] negated: F ) ] ) ) (C {(DQ ($ Id.VSub_At '$@'))}) ] )