aboutsummaryrefslogtreecommitdiffhomepage
path: root/parser.h
diff options
context:
space:
mode:
authorGravatar ridiculousfish <corydoras@ridiculousfish.com>2013-12-26 13:24:10 -0800
committerGravatar ridiculousfish <corydoras@ridiculousfish.com>2013-12-26 13:24:10 -0800
commit6536ffe178922750756e860561c2205513067b3b (patch)
tree10c92338e601287d8fb576461dc82a96f4433820 /parser.h
parent562946d055080ad52b8c13b9c9f6a02e7b8c029b (diff)
Facilities for turning on new AST-based parser.
Diffstat (limited to 'parser.h')
-rw-r--r--parser.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/parser.h b/parser.h
index 80b2303f..2f9291f0 100644
--- a/parser.h
+++ b/parser.h
@@ -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