WML preprocessor. More...
#include "global.hpp"
#include "buffered_istream.hpp"
#include "config.hpp"
#include "filesystem.hpp"
#include "game_config.hpp"
#include "log.hpp"
#include "wesconfig.h"
#include "serialization/binary_or_text.hpp"
#include "serialization/string_utils.hpp"
#include "serialization/parser.hpp"
#include "util.hpp"
#include "version.hpp"
#include <stdexcept>
Go to the source code of this file.
Classes | |
class | preprocessor |
Base class for preprocessing an input. More... | |
class | preprocessor_streambuf |
Target for sending preprocessed output. More... | |
class | preprocessor_file |
Specialized preprocessor for handling a file or a set of files. More... | |
class | preprocessor_data |
Specialized preprocessor for handling any kind of input stream. More... | |
struct | preprocessor_data::token_desc |
Description of a preprocessing chunk. More... | |
struct | preprocessor_deleter |
Macros | |
#define | ERR_PREPROC LOG_STREAM(err, log_preprocessor) |
#define | WRN_PREPROC LOG_STREAM(warn, log_preprocessor) |
#define | LOG_PREPROC LOG_STREAM(info, log_preprocessor) |
#define | DBG_PREPROC LOG_STREAM(debug, log_preprocessor) |
Typedefs | |
typedef std::map< std::string, int > | t_file_number_map |
Functions | |
static std::string | get_filename (const std::string &file_code) |
static std::string | get_file_code (const std::string &filename) |
static std::string | get_location (const std::string &loc) |
std::ostream & | operator<< (std::ostream &stream, const preproc_define &def) |
std::ostream & | operator<< (std::ostream &stream, const preproc_map::value_type &def) |
std::string | lineno_string (const std::string &lineno) |
bool | operator== (preprocessor_data::token_desc::TOKEN_TYPE, char) |
bool | operator== (char lhs, preprocessor_data::token_desc::TOKEN_TYPE rhs) |
bool | operator!= (preprocessor_data::token_desc::TOKEN_TYPE rhs, char lhs) |
bool | operator!= (char lhs, preprocessor_data::token_desc::TOKEN_TYPE rhs) |
std::istream * | preprocess_file (std::string const &fname, preproc_map *defines) |
void | preprocess_resource (const std::string &res_name, preproc_map *defines_map, bool write_cfg, bool write_plain_cfg, std::string target_directory) |
Variables | |
static lg::log_domain | log_preprocessor ("preprocessor") |
static std::string | current_file_str = "CURRENT_FILE" |
static std::string | current_dir_str = "CURRENT_DIRECTORY" |
static t_file_number_map | file_number_map |
static bool | encode_filename = true |
static std::string | preprocessor_error_detail_prefix = "\n " |
WML preprocessor.
Definition in file preprocessor.cpp.
#define DBG_PREPROC LOG_STREAM(debug, log_preprocessor) |
Definition at line 42 of file preprocessor.cpp.
Referenced by preprocessor_data::get_chunk().
#define ERR_PREPROC LOG_STREAM(err, log_preprocessor) |
Definition at line 39 of file preprocessor.cpp.
Referenced by preprocessor_streambuf::error(), and preprocessor_file::preprocessor_file().
#define LOG_PREPROC LOG_STREAM(info, log_preprocessor) |
Definition at line 41 of file preprocessor.cpp.
Referenced by preprocessor_data::get_chunk(), and preprocess_resource().
#define WRN_PREPROC LOG_STREAM(warn, log_preprocessor) |
Definition at line 40 of file preprocessor.cpp.
Referenced by preprocessor_data::get_chunk(), and preprocessor_streambuf::warning().
typedef std::map<std::string, int> t_file_number_map |
Definition at line 50 of file preprocessor.cpp.
|
static |
Definition at line 75 of file preprocessor.cpp.
References encode_filename, utils::escape(), and file_number_map.
Referenced by preprocessor_data::preprocessor_data().
|
static |
Definition at line 58 of file preprocessor.cpp.
References encode_filename, and file_number_map.
Referenced by preprocessor_data::get_chunk(), preprocessor_streambuf::get_current_file(), get_location(), lineno_string(), editor::context_manager::load_map_dialog(), and editor::context_manager::set_window_title().
|
static |
Definition at line 92 of file preprocessor.cpp.
References get_filename(), i, pos, and utils::quoted_split().
Referenced by preprocessor_data::get_chunk(), and preproc_define::write().
std::string lineno_string | ( | const std::string & | lineno | ) |
Definition at line 353 of file preprocessor.cpp.
References get_filename(), i, pos, preprocessor_error_detail_prefix, and utils::quoted_split().
Referenced by schema_validation::at(), preprocessor_streambuf::error(), preprocessor_data::get_chunk(), and preprocessor_streambuf::warning().
bool operator!= | ( | preprocessor_data::token_desc::TOKEN_TYPE | rhs, |
char | lhs | ||
) |
Definition at line 548 of file preprocessor.cpp.
bool operator!= | ( | char | lhs, |
preprocessor_data::token_desc::TOKEN_TYPE | rhs | ||
) |
Definition at line 549 of file preprocessor.cpp.
std::ostream& operator<< | ( | std::ostream & | stream, |
const preproc_define & | def | ||
) |
Definition at line 177 of file preprocessor.cpp.
References preproc_define::location, and preproc_define::value.
std::ostream& operator<< | ( | std::ostream & | stream, |
const preproc_map::value_type & | def | ||
) |
Definition at line 182 of file preprocessor.cpp.
bool operator== | ( | preprocessor_data::token_desc::TOKEN_TYPE | , |
char | |||
) |
Definition at line 543 of file preprocessor.cpp.
bool operator== | ( | char | lhs, |
preprocessor_data::token_desc::TOKEN_TYPE | rhs | ||
) |
Definition at line 547 of file preprocessor.cpp.
std::istream* preprocess_file | ( | std::string const & | fname, |
preproc_map * | defines | ||
) |
Definition at line 1238 of file preprocessor.cpp.
References log_scope.
Referenced by ai::configuration::get_side_config_from_file(), ng::create_engine::init_all_levels(), cutter::load_config(), font::load_font_config(), load_language_list(), editor::map_context::load_scenario(), gui2::load_settings(), main(), preprocess_resource(), wesnothd::server::read_config(), schema_validation::schema_validator::read_config_file(), and game_config::config_cache::read_configs().
void preprocess_resource | ( | const std::string & | res_name, |
preproc_map * | defines_map, | ||
bool | write_cfg, | ||
bool | write_plain_cfg, | ||
std::string | target_directory | ||
) |
Definition at line 1256 of file preprocessor.cpp.
References filesystem::base_name(), filesystem::create_directory_if_missing_recursive(), filesystem::directory_name(), filesystem::DO_REORDER, encode_filename, filesystem::ends_with(), filesystem::ENTIRE_FILE_PATH, filesystem::get_files_in_dir(), filesystem::is_directory(), LOG_PREPROC, filesystem::ostream_file(), preprocess_file(), read(), filesystem::SKIP_MEDIA_DIR, write(), and filesystem::write_file().
Referenced by handle_preprocess_command().
|
static |
Definition at line 47 of file preprocessor.cpp.
Referenced by preprocessor_data::get_chunk().
|
static |
Definition at line 46 of file preprocessor.cpp.
Referenced by preprocessor_data::get_chunk().
|
static |
Definition at line 53 of file preprocessor.cpp.
Referenced by get_file_code(), get_filename(), and preprocess_resource().
|
static |
Definition at line 51 of file preprocessor.cpp.
Referenced by get_file_code(), and get_filename().
|
static |
|
static |
Definition at line 55 of file preprocessor.cpp.
Referenced by lineno_string().