aboutsummaryrefslogtreecommitdiff
path: root/build2/test/script/parser.cxx
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2016-11-10 00:26:54 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2016-11-15 16:46:10 +0300
commita7efabf301f23364ac2335c80c5e1e712bc43204 (patch)
treedded192f09627702bc8e0566c5c6032825d6920c /build2/test/script/parser.cxx
parent05b1d9e89a94ee5594168073b8dc363fada987f1 (diff)
Add cat, false and true builtins
Diffstat (limited to 'build2/test/script/parser.cxx')
-rw-r--r--build2/test/script/parser.cxx19
1 files changed, 11 insertions, 8 deletions
diff --git a/build2/test/script/parser.cxx b/build2/test/script/parser.cxx
index 10103f3..438e1f2 100644
--- a/build2/test/script/parser.cxx
+++ b/build2/test/script/parser.cxx
@@ -60,8 +60,7 @@ namespace build2
pre_parse_ = true;
lexer l (is, *path_, lexer_mode::script_line);
- lexer_ = &l;
- base_parser::lexer_ = &l;
+ set_lexer (&l);
id_prefix_.clear ();
@@ -948,8 +947,7 @@ namespace build2
path_ = &p;
lexer* ol (lexer_);
- lexer_ = &l;
- base_parser::lexer_ = &l;
+ set_lexer (&l);
string oip (id_prefix_);
id_prefix_ += to_string (dl.line);
@@ -963,8 +961,7 @@ namespace build2
fail (t) << "stray " << t;
id_prefix_ = oip;
- base_parser::lexer_ = ol;
- lexer_ = ol;
+ set_lexer (ol);
path_ = op;
}
catch (const io_error& e)
@@ -2219,8 +2216,7 @@ namespace build2
pre_parse_ = false;
- lexer_ = nullptr;
- base_parser::lexer_ = nullptr;
+ set_lexer (nullptr);
script_ = &s;
runner_ = &r;
@@ -2694,6 +2690,13 @@ namespace build2
return p.first->first;
}
+
+ void parser::
+ set_lexer (lexer* l)
+ {
+ lexer_ = l;
+ base_parser::lexer_ = l;
+ }
}
}
}