Euphoria
texttemplate.cc File Reference
#include "core/texttemplate.h"
#include <utility>
#include "assert/assert.h"
#include "core/textfileparser.h"
#include "io/vfs.h"
#include "io/vfs_path.h"
#include "base/stringutils.h"
#include "base/stringbuilder.h"

Go to the source code of this file.

Classes

struct  eu::core::TemplateNode
 
struct  eu::core::TemplateNodeString
 
struct  eu::core::TemplateNodeList
 
struct  eu::core::TemplateNodeScopedList
 
struct  eu::core::TemplateNodeIfdef
 
struct  eu::core::TemplateNodeEval
 
struct  eu::core::TemplateNodeSet
 
struct  eu::core::Token
 
struct  eu::core::TokenReader
 

Namespaces

 eu
 
 eu::core
 

Macros

#define CASE(V)   case TokenType::V: return #V
 

Enumerations

enum class  eu::core::TokenType {
  eu::core::text , eu::core::if_def , eu::core::eval , eu::core::ident ,
  eu::core::end , eu::core::set , eu::core::string , eu::core::include ,
  eu::core::end_of_file
}
 

Functions

std::string eu::core::to_string (TokenType t)
 
std::vector< Token > eu::core::tokenize (const std::string &content, TemplateErrorList *error, const io::FilePath &file)
 
void eu::core::parse_template_list (std::shared_ptr< TemplateNodeList > *nodes, TokenReader *reader, TemplateErrorList *errors, const io::FilePath &file, bool expect_end, io::FileSystem *fs)
 
void eu::core::load_from_filesystem_to_node_list (io::FileSystem *fs, const io::FilePath &path, TemplateErrorList *error, std::shared_ptr< TemplateNodeList > *nodes)
 
std::shared_ptr< TemplateNodeString > eu::core::parse_text (TokenReader *reader, TemplateErrorList *, const io::FilePath &, io::FileSystem *)
 
std::shared_ptr< TemplateNodeEval > eu::core::parse_eval (TokenReader *reader, TemplateErrorList *errors, const io::FilePath &file, io::FileSystem *)
 
std::shared_ptr< TemplateNodeSet > eu::core::parse_set (TokenReader *reader, TemplateErrorList *errors, const io::FilePath &file, io::FileSystem *)
 
std::shared_ptr< TemplateNodeIfdef > eu::core::parse_ifdef (TokenReader *reader, TemplateErrorList *errors, const io::FilePath &file, io::FileSystem *fs)
 
std::shared_ptr< TemplateNodeList > eu::core::parse_include (TokenReader *reader, TemplateErrorList *errors, const io::FilePath &file, io::FileSystem *fs)
 

Macro Definition Documentation

◆ CASE

#define CASE (   V)    case TokenType::V: return #V