diff options
author | 2013-12-26 13:24:10 -0800 | |
---|---|---|
committer | 2013-12-26 13:24:10 -0800 | |
commit | 6536ffe178922750756e860561c2205513067b3b (patch) | |
tree | 10c92338e601287d8fb576461dc82a96f4433820 /parser.h | |
parent | 562946d055080ad52b8c13b9c9f6a02e7b8c029b (diff) |
Facilities for turning on new AST-based parser.
Diffstat (limited to 'parser.h')
-rw-r--r-- | parser.h | 12 |
1 files changed, 10 insertions, 2 deletions
@@ -270,6 +270,7 @@ struct profile_item_t }; struct tokenizer_t; +class parse_execution_context_t; class parser_t { @@ -285,6 +286,9 @@ private: /** Position of last error */ int err_pos; + + /** Stack of execution contexts. We own these pointers and must delete them */ + std::vector<parse_execution_context_t *> execution_contexts; /** Description of last error */ wcstring err_buff; @@ -331,7 +335,7 @@ private: void print_errors_stderr(); /** Create a job */ - job_t *job_create(); + job_t *job_create(const io_chain_t &io); public: std::vector<profile_item_t*> profile_items; @@ -370,7 +374,8 @@ public: \return 0 on success, 1 otherwise */ - int eval(const wcstring &cmdStr, const io_chain_t &io, enum block_type_t block_type); + int eval(const wcstring &cmd_str, const io_chain_t &io, enum block_type_t block_type); + int eval_new_parser(const wcstring &cmd, const io_chain_t &io, enum block_type_t block_type); /** Evaluate line as a list of parameters, i.e. tokenize it and perform parameter expansion and cmdsubst execution on the tokens. @@ -531,5 +536,8 @@ public: const wchar_t *get_block_command(int type) const; }; +/* Temporary */ +bool parser_use_ast(void); + #endif |