pea/TEST.sh parse-one _devbuild/gen/arg_types.py _devbuild/gen/grammar_nt.py _devbuild/gen/hnode_asdl.py _devbuild/gen/id_kind_asdl.py _devbuild/gen/option_asdl.py _devbuild/gen/runtime_asdl.py _devbuild/gen/syntax_asdl.py _devbuild/gen/types_asdl.py asdl/format.py asdl/pybase.py asdl/runtime.py bin/oils_for_unix.py core/alloc.py core/ansi.py core/comp_ui.py core/completion.py core/dev.py core/error.py core/executor.py core/main_loop.py core/optview.py core/process.py core/pyerror.py core/pyos.py core/pyutil.py core/shell.py core/shell_native.py core/state.py core/ui.py core/util.py core/vm.py frontend/args.py frontend/builtin_def.py frontend/consts.py frontend/flag_def.py frontend/flag_spec.py frontend/id_kind_def.py frontend/lexer.py frontend/lexer_def.py frontend/location.py frontend/match.py frontend/option_def.py frontend/parse_lib.py frontend/py_readline.py frontend/reader.py frontend/signal_def.py frontend/typed_args.py oil_lang/expr_eval.py oil_lang/expr_parse.py oil_lang/expr_to_ast.py oil_lang/funcs.py oil_lang/objects.py oil_lang/regex_translate.py osh/arith_parse.py osh/bool_parse.py osh/bool_stat.py osh/braces.py osh/builtin_assign.py osh/builtin_bracket.py osh/builtin_comp.py osh/builtin_lib.py osh/builtin_meta.py osh/builtin_misc.py osh/builtin_printf.py osh/builtin_process.py osh/builtin_process2.py osh/builtin_pure.py osh/builtin_trap.py osh/cmd_eval.py osh/cmd_parse.py osh/glob_.py osh/history.py osh/prompt.py osh/sh_expr_eval.py osh/split.py osh/string_ops.py osh/tdop.py osh/word_.py osh/word_compile.py osh/word_eval.py osh/word_parse.py pgen2/grammar.py pgen2/parse.py pgen2/pnode.py pylib/cgi.py pylib/os_path.py pylib/path_stat.py qsn_/qsn.py qsn_/qsn_native.py tea/tea_main.py tools/osh2oil.py mycpp/mylib.pyi mycpp/os.pyi pyext/fanos.pyi pyext/fastlex.pyi pyext/libc.pyi pyext/line_input.pyi pyext/posix_.pyi pyext/yajl.pyi 0.00 Pea begin 0.94 Parsed 99 files and their type comments {'num_assign': 0, 'num_classes': 0, 'num_files': 99, 'num_funcs': 0, 'num_methods': 0, 'num_strings': 0} 1.48 Collected 4141 constants namespace arg_types { // forward declare class cd; class command; class compadjust; class compgen; class complete; class dirs; class echo; class export_; class hash; class history; class jobs; class json_read; class json_write; class main; class mapfile; class new_var; class printf; class pwd; class read; class readonly; class runproc; class shopt; class tea_main; class trap; class try_; class type; class unset; class wait; class write; } // forward declare arg_types namespace grammar_nt { // forward declare } // forward declare grammar_nt namespace hnode_asdl { // forward declare class color_t; class color_e; class hnode_e; class hnode_t; class hnode__Record; class hnode__Array; class hnode__Leaf; class hnode__External; class hnode; class alloc_members_t; class alloc_members_e; class field; } // forward declare hnode_asdl namespace id_kind_asdl { // forward declare class Id; class Kind_t; class Kind; } // forward declare id_kind_asdl namespace option_asdl { // forward declare class option_i; class builtin_i; } // forward declare option_asdl namespace runtime_asdl { // forward declare class cmd_value_e; class cmd_value_t; class cmd_value__Argv; class cmd_value__Assign; class cmd_value; class part_value_e; class part_value_t; class part_value__String; class part_value__Array; class part_value__ExtGlob; class part_value; class value_e; class value_t; class value__Undef; class value__Str; class value__MaybeStrArray; class value__AssocArray; class value__Int; class value__Bool; class value__Float; class value__List; class value__Dict; class value__Eggex; class value__Block; class value__Obj; class value; class a_index_e; class a_index_t; class a_index__Str; class a_index__Int; class a_index; class scope_t; class scope_e; class lvalue_e; class lvalue_t; class lvalue__Named; class lvalue__Indexed; class lvalue__Keyed; class lvalue__ObjIndex; class lvalue__ObjAttr; class lvalue; class redirect_arg_e; class redirect_arg_t; class redirect_arg__Path; class redirect_arg__CopyFd; class redirect_arg__MoveFd; class redirect_arg__CloseFd; class redirect_arg__HereDoc; class redirect_arg; class wait_status_e; class wait_status_t; class wait_status__Proc; class wait_status__Pipeline; class wait_status__Cancelled; class wait_status; class flow_t; class flow_e; class span_t; class span_e; class emit_i; class state_i; class char_kind_i; class job_state_t; class job_state_e; class flag_type_t; class flag_type_e; class trace_e; class trace_t; class trace__External; class trace__CommandSub; class trace__ForkWait; class trace__Fork; class trace__PipelinePart; class trace__ProcessSub; class trace__HereDoc; class trace; class word_style_t; class word_style_e; class assign_arg; class VTestPlace; class VarSubState; class cell; class redirect; class Proc; class StatusArray; class CommandStatus; class hay_node; } // forward declare runtime_asdl namespace syntax_asdl { // forward declare class parse_result_e; class parse_result_t; class parse_result__EmptyLine; class parse_result__Eof; class parse_result__Node; class parse_result; class source_e; class source_t; class source__Interactive; class source__Headless; class source__Unused; class source__CFlag; class source__Stdin; class source__MainFile; class source__SourcedFile; class source__ArgvWord; class source__Variable; class source__VarRef; class source__Alias; class source__Reparsed; class source__Synthetic; class source; class loc_e; class loc_t; class loc__Missing; class loc__Span; class loc__WordPart; class loc__Word; class loc__Arith; class loc__Command; class loc; class bracket_op_e; class bracket_op_t; class bracket_op__WholeArray; class bracket_op__ArrayIndex; class bracket_op; class suffix_op_e; class suffix_op_t; class suffix_op__Unary; class suffix_op__Static; class suffix_op__PatSub; class suffix_op__Slice; class suffix_op; class word_part_e; class word_part_t; class word_part__AssocArrayLiteral; class word_part__EscapedLiteral; class word_part__TildeSub; class word_part__ArithSub; class word_part__BracedTuple; class word_part__BracedRange; class word_part__ExtGlob; class word_part__Splice; class word_part__FuncCall; class word_part__ExprSub; class word_part; class rhs_word_e; class rhs_word_t; class rhs_word__Empty; class rhs_word; class word_e; class word_t; class word__BracedTree; class word__String; class word; class sh_lhs_expr_e; class sh_lhs_expr_t; class sh_lhs_expr__Name; class sh_lhs_expr__IndexedName; class sh_lhs_expr__UnparsedIndex; class sh_lhs_expr; class arith_expr_e; class arith_expr_t; class arith_expr__UnaryAssign; class arith_expr__BinaryAssign; class arith_expr__Unary; class arith_expr__Binary; class arith_expr__TernaryOp; class arith_expr; class bool_expr_e; class bool_expr_t; class bool_expr__WordTest; class bool_expr__Binary; class bool_expr__Unary; class bool_expr__LogicalNot; class bool_expr__LogicalAnd; class bool_expr__LogicalOr; class bool_expr; class redir_loc_e; class redir_loc_t; class redir_loc__Fd; class redir_loc__VarName; class redir_loc; class redir_param_e; class redir_param_t; class redir_param__HereDoc; class redir_param; class assign_op_t; class assign_op_e; class condition_e; class condition_t; class condition__Shell; class condition__Oil; class condition; class for_iter_e; class for_iter_t; class for_iter__Args; class for_iter__Words; class for_iter__Oil; class for_iter; class command_e; class command_t; class command__NoOp; class command__Simple; class command__ExpandedAlias; class command__Sentence; class command__ShAssignment; class command__ControlFlow; class command__Pipeline; class command__AndOr; class command__DoGroup; class command__Subshell; class command__DParen; class command__DBracket; class command__ForEach; class command__ForExpr; class command__WhileUntil; class command__If; class command__Case; class command__ShFunction; class command__TimeBlock; class command__CommandList; class command__BareDecl; class command__VarDecl; class command__PlaceMutation; class command__Expr; class command__Proc; class command__Func; class command__Data; class command__Enum; class command__Class; class command__Import; class command__For; class command__While; class command__Break; class command__Continue; class command__Return; class command; class variant_type_e; class variant_type_t; class variant_type__Anon; class variant_type__Ref; class variant_type; class class_item_e; class class_item_t; class class_item__Data; class class_item__Method; class class_item; class proc_sig_e; class proc_sig_t; class proc_sig__Open; class proc_sig__Closed; class proc_sig; class glob_part_e; class glob_part_t; class glob_part__Literal; class glob_part__Operator; class glob_part__CharClass; class glob_part; class printf_part_e; class printf_part_t; class printf_part__Literal; class printf_part__Percent; class printf_part; class expr_context_t; class expr_context_e; class type_expr_e; class type_expr_t; class type_expr__Simple; class type_expr__Compound; class type_expr; class place_expr_e; class place_expr_t; class place_expr__Var; class place_expr; class expr_e; class expr_t; class expr__Var; class expr__Const; class expr__RegexLiteral; class expr__Lambda; class expr__Unary; class expr__Binary; class expr__Compare; class expr__FuncCall; class expr__IfExp; class expr__Tuple; class expr__List; class expr__Dict; class expr__Implicit; class expr__ListComp; class expr__DictComp; class expr__GeneratorExp; class expr__Range; class expr__Slice; class expr__Spread; class expr; class class_literal_term_e; class class_literal_term_t; class class_literal_term__Range; class class_literal_term__CharLiteral; class class_literal_term; class char_class_term_e; class char_class_term_t; class char_class_term__Range; class char_class_term; class re_repeat_e; class re_repeat_t; class re_repeat__Op; class re_repeat__Num; class re_repeat__Range; class re_repeat; class re_e; class re_t; class re__CharClassLiteral; class re__CharClass; class re__Splice; class re__Repeat; class re__Seq; class re__Alt; class re__Group; class re__Capture; class re__Backtracking; class re__Primitive; class re__LiteralChars; class re; class BoolParamBox; class IntParamBox; class SourceLine; class Token; class braced_var_sub; class double_quoted; class single_quoted; class simple_var_sub; class command_sub; class sh_array_literal; class ArgList; class assoc_pair; class compound_word; class string_line; class triple_quoted; class redir; class assign_pair; class env_pair; class case_arm; class if_arm; class BraceGroup; class BlockArg; class variant; class import_name; class UntypedParam; class TypedParam; class param; class name_type; class comprehension; class named_arg; class subscript; class attribute; class posix_class; class perl_class; class CharCode; } // forward declare syntax_asdl namespace types_asdl { // forward declare class bool_arg_type_t; class bool_arg_type_e; class redir_arg_type_t; class redir_arg_type_e; class opt_group_i; class lex_mode_t; class lex_mode_e; } // forward declare types_asdl namespace format { // forward declare class ColorOutput; class TextOutput; class HtmlOutput; class AnsiOutput; class _PrettyPrinter; } // forward declare format namespace pybase { // forward declare class Obj; class SimpleObj; class CompoundObj; } // forward declare pybase namespace runtime { // forward declare } // forward declare runtime namespace oils_for_unix { // forward declare } // forward declare oils_for_unix namespace alloc { // forward declare class ctx_Location; class Arena; } // forward declare alloc namespace ansi { // forward declare } // forward declare ansi namespace comp_ui { // forward declare class PromptState; class State; class _IDisplay; class MinimalDisplay; class NiceDisplay; } // forward declare comp_ui namespace completion { // forward declare class _RetryCompletion; class OptionState; class Lookup; class Api; class CompletionAction; class UsersAction; class TestAction; class DynamicWordsAction; class FileSystemAction; class ShellFuncAction; class VariablesAction; class ExternalCommandAction; class _Predicate; class DefaultPredicate; class GlobPredicate; class UserSpec; class RootCompleter; class ReadlineCallback; } // forward declare completion namespace dev { // forward declare class CrashDumper; class ctx_Tracer; class Tracer; } // forward declare dev namespace error { // forward declare class _ErrorWithLocation; class Usage; class Runtime; class Parse; class FailGlob; class RedirectEval; class FatalRuntime; class Strict; class ErrExit; class Expr; } // forward declare error namespace executor { // forward declare class _ProcessSubFrame; class ShellExecutor; } // forward declare executor namespace main_loop { // forward declare class ctx_Descriptors; class Headless; } // forward declare main_loop namespace optview { // forward declare class _Getter; class _View; class Parse; class Exec; } // forward declare optview namespace process { // forward declare class ctx_FileCloser; class _RedirFrame; class _FdFrame; class FdState; class ChildStateChange; class StdinFromPipe; class StdoutToPipe; class SetProcessGroup; class ExternalProgram; class Thunk; class ExternalThunk; class SubProgramThunk; class _HereDocWriterThunk; class Job; class Process; class ctx_Pipe; class Pipeline; class JobState; class Waiter; } // forward declare process namespace pyerror { // forward declare } // forward declare pyerror namespace pyos { // forward declare class ReadError; class PasswdEntry; class TermState; class SignalSafe; } // forward declare pyos namespace pyutil { // forward declare class _ResourceLoader; class _FileResourceLoader; class _ZipResourceLoader; } // forward declare pyutil namespace shell { // forward declare class ShellOptHook; } // forward declare shell namespace shell_native { // forward declare } // forward declare shell_native namespace state { // forward declare class SearchPath; class ctx_Source; class ctx_DebugTrap; class ctx_Option; class ctx_AssignBuiltin; class ctx_OilExpr; class ctx_ErrExit; class ctx_HayNode; class ctx_HayEval; class Hay; class OptHook; class MutableOpts; class _ArgFrame; class DirStack; class DebugFrame; class ctx_Call; class ctx_Temp; class ctx_Shvar; class ctx_Registers; class ctx_ThisDir; class Mem; } // forward declare state namespace ui { // forward declare class ctx_Location; class ErrorFormatter; } // forward declare ui namespace util { // forward declare class UserExit; class HistoryError; class _DebugFile; class NullDebugFile; class DebugFile; } // forward declare util namespace vm { // forward declare class ControlFlow; class _Executor; class _AssignBuiltin; class _Builtin; class ctx_Redirect; class ctx_ProcessSub; class ctx_FlushStdout; } // forward declare vm namespace args { // forward declare class _Attributes; class Reader; class _Action; class _ArgAction; class SetToInt; class SetToFloat; class SetToString; class SetAttachedBool; class SetToTrue; class SetOption; class SetNamedOption; class SetAction; class SetNamedAction; } // forward declare args namespace builtin_def { // forward declare class _Builtin; class _BuiltinDef; } // forward declare builtin_def namespace consts { // forward declare } // forward declare consts namespace flag_def { // forward declare } // forward declare flag_def namespace flag_spec { // forward declare class _FlagSpec; class _FlagSpecAndMore; } // forward declare flag_spec namespace id_kind_def { // forward declare class IdSpec; } // forward declare id_kind_def namespace lexer { // forward declare class LineLexer; class Lexer; } // forward declare lexer namespace lexer_def { // forward declare } // forward declare lexer_def namespace location { // forward declare } // forward declare location namespace match { // forward declare class _MatchOshToken_Slow; class _MatchTokenSlow; class SimpleLexer; } // forward declare match namespace option_def { // forward declare class Option; class _OptionDef; } // forward declare option_def namespace parse_lib { // forward declare class _BaseTrail; class ctx_Alias; class Trail; class ParseContext; } // forward declare parse_lib namespace py_readline { // forward declare class Readline; } // forward declare py_readline namespace reader { // forward declare class _Reader; class DisallowedLineReader; class FileLineReader; class VirtualLineReader; class InteractiveLineReader; } // forward declare reader namespace signal_def { // forward declare } // forward declare signal_def namespace typed_args { // forward declare } // forward declare typed_args namespace expr_eval { // forward declare class OilEvaluator; } // forward declare expr_eval namespace expr_parse { // forward declare class ExprParser; class ctx_PNodeAllocator; } // forward declare expr_parse namespace expr_to_ast { // forward declare class Transformer; } // forward declare expr_to_ast namespace funcs { // forward declare class ParseHay; class EvalHay; class BlockAsStr; class HayFunc; } // forward declare funcs namespace objects { // forward declare class StrArray; class Regex; } // forward declare objects namespace regex_translate { // forward declare 1.48 Wrote forward declarations {'num_assign': 0, 'num_classes': 0, 'num_files': 99, 'num_funcs': 0, 'num_methods': 0, 'num_strings': 0} 1.52 Wrote prototypes {'num_assign': 0, 'num_classes': 685, 'num_files': 99, 'num_funcs': 585, 'num_methods': 2466, 'num_strings': 0} 1.54 Wrote implementation {'num_assign': 4819, 'num_classes': 685, 'num_files': 99, 'num_funcs': 585, 'num_methods': 2466, 'num_strings': 0} 1.54 Done } // forward declare regex_translate namespace arith_parse { // forward declare } // forward declare arith_parse namespace bool_parse { // forward declare class BoolParser; } // forward declare bool_parse namespace bool_stat { // forward declare } // forward declare bool_stat namespace braces { // forward declare class _NotARange; class _RangeParser; class _StackFrame; } // forward declare braces namespace builtin_assign { // forward declare class Export; class Readonly; class NewVar; class Unset; class Shift; } // forward declare builtin_assign namespace builtin_bracket { // forward declare class _StringWordEmitter; class _WordEvaluator; class Test; } // forward declare builtin_bracket namespace builtin_comp { // forward declare class _FixedWordsAction; class _DynamicProcDictAction; class _DynamicStrDictAction; class SpecBuilder; class Complete; class CompGen; class CompOpt; class CompAdjust; } // forward declare builtin_comp namespace builtin_lib { // forward declare class Bind; class History; } // forward declare builtin_lib namespace builtin_meta { // forward declare class Eval; class Source; class Command; class Builtin; class RunProc; class Try; class BoolStatus; class Type; } // forward declare builtin_meta namespace builtin_misc { // forward declare class Times; class Read; class MapFile; class ctx_CdBlock; class Cd; class Pushd; class Popd; class Dirs; class Pwd; class Help; class Cat; } // forward declare builtin_misc namespace builtin_printf { // forward declare class _FormatStringParser; class Printf; } // forward declare builtin_printf namespace builtin_process { // forward declare class Jobs; class Fg; class Bg; class Fork; class ForkWait; } // forward declare builtin_process namespace builtin_process2 { // forward declare class Exec; class Wait; class Umask; } // forward declare builtin_process2 namespace builtin_pure { // forward declare class Boolean; class Alias; class UnAlias; class Set; class Shopt; class Hash; class GetOptsState; class GetOpts; class Echo; class Module; class Use; class Shvar; class PushRegisters; class Fopen; } // forward declare builtin_pure namespace builtin_trap { // forward declare class TrapState; class Trap; } // forward declare builtin_trap namespace cmd_eval { // forward declare class Deps; class ctx_LoopLevel; class ctx_ErrTrap; class CommandEvaluator; } // forward declare cmd_eval namespace cmd_parse { // forward declare class VarChecker; class ctx_VarChecker; class CommandParser; } // forward declare cmd_parse namespace glob_ { // forward declare class _GlobParser; class Globber; } // forward declare glob_ namespace history { // forward declare class Evaluator; } // forward declare history namespace prompt { // forward declare class _PromptEvaluatorCache; class Evaluator; class UserPlugin; } // forward declare prompt namespace sh_expr_eval { // forward declare class UnsafeArith; class ArithEvaluator; class BoolEvaluator; } // forward declare sh_expr_eval namespace split { // forward declare class SplitContext; class _BaseSplitter; class IfsSplitter; } // forward declare split namespace string_ops { // forward declare class GlobReplacer; } // forward declare string_ops namespace tdop { // forward declare class TdopParser; } // forward declare tdop namespace word_ { // forward declare class ctx_EmitDocToken; class ctx_Multiline; } // forward declare word_ namespace word_compile { // forward declare } // forward declare word_compile namespace word_eval { // forward declare class StringWordEvaluator; class TildeEvaluator; class AbstractWordEvaluator; class NormalWordEvaluator; class CompletionWordEvaluator; } // forward declare word_eval namespace word_parse { // forward declare class WordEmitter; class WordParser; } // forward declare word_parse namespace grammar { // forward declare class Grammar; } // forward declare grammar namespace parse { // forward declare class ParseError; class _StackItem; class Parser; } // forward declare parse namespace pnode { // forward declare class PNode; class PNodeAllocator; } // forward declare pnode namespace cgi { // forward declare } // forward declare cgi namespace os_path { // forward declare } // forward declare os_path namespace path_stat { // forward declare } // forward declare path_stat namespace qsn { // forward declare } // forward declare qsn namespace qsn_native { // forward declare } // forward declare qsn_native namespace tea_main { // forward declare } // forward declare tea_main namespace osh2oil { // forward declare class Cursor; class OilPrinter; } // forward declare osh2oil namespace mylib { // forward declare class LineReader; class BufLineReader; class Writer; class BufWriter; class switch; class tagswitch; } // forward declare mylib namespace os { // forward declare } // forward declare os namespace fanos { // forward declare } // forward declare fanos namespace fastlex { // forward declare } // forward declare fastlex namespace libc { // forward declare } // forward declare libc namespace line_input { // forward declare } // forward declare line_input namespace posix_ { // forward declare class stat_result; class statvfs_result; } // forward declare posix_ namespace yajl { // forward declare } // forward declare yajl real 0m1.704s user 0m1.647s sys 0m0.049s