aboutsummaryrefslogtreecommitdiff
path: root/build2/lexer
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2016-10-19 11:54:25 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2016-11-04 09:26:30 +0200
commit93f38c7b1e4bf3c7bf14af6785146c81614cbac5 (patch)
tree8cc42dc40c45d31c57d2528aa0433a7c380b9f4d /build2/lexer
parent8e91d7935932066d17cf6dfb24705c5a62aa42f6 (diff)
Various minor buildfile lexer/parser changes
Diffstat (limited to 'build2/lexer')
-rw-r--r--build2/lexer14
1 files changed, 7 insertions, 7 deletions
diff --git a/build2/lexer b/build2/lexer
index f7f7b82..abaf273 100644
--- a/build2/lexer
+++ b/build2/lexer
@@ -40,11 +40,13 @@ namespace build2
// Extendable/inheritable enum-like class.
//
- struct lexer_mode
+ struct lexer_mode: lexer_mode_base
{
+ using base_type = lexer_mode_base;
+
enum
{
- normal,
+ normal = base_type::value_next,
variable,
value,
eval,
@@ -54,11 +56,9 @@ namespace build2
value_next
};
- using value_type = uint16_t;
-
- lexer_mode (value_type v = normal): v_ (v) {}
- operator value_type () const {return v_;}
- value_type v_;
+ lexer_mode () = default;
+ lexer_mode (value_type v): base_type (v) {}
+ lexer_mode (base_type v): base_type (v) {}
};
class lexer: protected butl::char_scanner