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/parser.hxx | 91 ---------------------------------------------------------- 1 file changed, 91 deletions(-) delete mode 100644 cli/parser.hxx (limited to 'cli/parser.hxx') diff --git a/cli/parser.hxx b/cli/parser.hxx deleted file mode 100644 index 326768e..0000000 --- a/cli/parser.hxx +++ /dev/null @@ -1,91 +0,0 @@ -// file : cli/parser.hxx -// author : Boris Kolpackov -// license : MIT; see accompanying LICENSE file - -#ifndef CLI_PARSER_HXX -#define CLI_PARSER_HXX - -#include -#include -#include -#include // unique_ptr -#include // size_t -#include - -#include -#include - -class token; -class lexer; - -class parser -{ -public: - typedef std::vector paths; - - parser (paths const& include_paths): include_paths_ (include_paths) {} - - struct invalid_input {}; - - std::unique_ptr - parse (std::istream& is, semantics::path const& path); - -private: - struct error {}; - - void - def_unit (); - - void - source_decl (); - - void - include_decl (); - - bool - decl (token&); - - void - scope_doc (token&); - - void - namespace_def (); - - void - class_def (); - - bool - option_def (token&); - - std::string - doc_string (const char*, std::size_t); - - bool - qualified_name (token&, std::string& name); - - bool - fundamental_type (token&, std::string& name); - -private: - void - recover (token& t); - -private: - paths const include_paths_; - - bool valid_; - semantics::path const* path_; - - lexer* lexer_; - - semantics::cli_unit* root_; - semantics::cli_unit* cur_; - semantics::scope* scope_; - - std::size_t doc_count_; // Scope doc counter, see scope_doc() for details. - - typedef std::map include_map; - include_map include_map_; -}; - -#endif // CLI_PARSER_HXX -- cgit v1.1