From 720c5a33b6a49cf328fdd7611f49153cf8f60247 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Wed, 8 Apr 2020 14:51:57 +0300 Subject: Separate tests and examples into individual packages Also make cli module to be explicitly enabled via the config.cli configuration variable. --- cli/cli/token.ixx | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 cli/cli/token.ixx (limited to 'cli/cli/token.ixx') diff --git a/cli/cli/token.ixx b/cli/cli/token.ixx new file mode 100644 index 0000000..77ab225 --- /dev/null +++ b/cli/cli/token.ixx @@ -0,0 +1,88 @@ +// file : cli/token.ixx +// author : Boris Kolpackov +// license : MIT; see accompanying LICENSE file + +inline token::token_type token:: +type () const +{ + return type_; +} + +inline std::size_t token:: +line () const +{ + return l_; +} + +inline std::size_t token:: +column () const +{ + return c_; +} + +inline token::keyword_type token:: +keyword () const +{ + return type_ == t_keyword ? keyword_ : k_invalid; +} + +inline std::string const& token:: +identifier () const +{ + return str_; +} + +inline token::punctuation_type token:: +punctuation () const +{ + return type_ == t_punctuation ? punctuation_ : p_invalid; +} + +inline std::string const& token:: +literal () const +{ + return str_; +} + +inline std::string const& token:: +expression () const +{ + return str_; +} + +inline token:: +token (std::size_t l, std::size_t c) + : l_ (l), c_ (c), + type_ (t_eos), + keyword_ (k_invalid), + punctuation_ (p_invalid) +{ +} + +inline token:: +token (keyword_type k, std::size_t l, std::size_t c) + : l_ (l), c_ (c), + type_ (t_keyword), + keyword_ (k), + punctuation_ (p_invalid) +{ +} + +inline token:: +token (punctuation_type p, std::size_t l, std::size_t c) + : l_ (l), c_ (c), + type_ (t_punctuation), + keyword_ (k_invalid), + punctuation_ (p) +{ +} + +inline token:: +token (token_type t, std::string const& s, std::size_t l, std::size_t c) + : l_ (l), c_ (c), + type_ (t), + keyword_ (k_invalid), + punctuation_ (p_invalid), + str_ (s) +{ +} -- cgit v1.1