xo-interpreter: setting up for gc in interactive interpreter
This commit is contained in:
parent
37b132821f
commit
8c11c108ca
12 changed files with 154 additions and 42 deletions
|
|
@ -177,14 +177,18 @@ namespace xo {
|
|||
++eol;
|
||||
|
||||
this->current_line_ = span_type(sol, eol);
|
||||
this->current_pos_ = 0;
|
||||
|
||||
log && log(xtag("current_line", print::printspan(current_line_)));
|
||||
log && log(xtag("current_line", print::printspan(current_line_)),
|
||||
xtag("current_pos", current_pos_));
|
||||
}
|
||||
|
||||
template <typename CharT>
|
||||
const CharT *
|
||||
input_state<CharT>::skip_leading_whitespace(const span_type & input)
|
||||
{
|
||||
scope log(XO_DEBUG(debug_flag_));
|
||||
|
||||
const CharT * ix = input.lo();
|
||||
|
||||
if (this->current_line().is_null()) {
|
||||
|
|
|
|||
|
|
@ -166,7 +166,10 @@ namespace xo {
|
|||
/** @defgroup tokenizer-instance-vars tokenizer instance variables **/
|
||||
///@{
|
||||
|
||||
/** track input state (line#,pos,..) for error messages **/
|
||||
/** track input state (line#,pos,..) for error messages.
|
||||
* There's an ordering problem here:
|
||||
* 1. input_state_.skip_leading_whitespace() advances current line when it sees newline.
|
||||
**/
|
||||
input_state_type input_state_;
|
||||
/** Accumulate partial token here.
|
||||
* This will happen if input sent to @ref tokenizer::scan
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue