Euphoria
|
tracery.cc
Go to the documentation of this file.
std::string add_postfix_ed(const std::string &s)
useful for converting walk -> walked
Definition: tracery.cc:525
void register_on_grammar(Grammar *g)
Definition: tracery.cc:567
std::string add_prefix_with_a_or_an(const std::string &s)
Definition: tracery.cc:478
std::string capitalize_all(const std::string &s)
Definition: tracery.cc:440
std::string add_postfix_plural(const std::string &s)
Definition: tracery.cc:503
std::string capitalize(const std::string &s)
Definition: tracery.cc:468
std::shared_ptr< Modifier > make_modifier(T func)
Definition: tracery.cc:561
Definition: tracery.cc:18
std::string read_tracery_ident(TextfileParser *parser)
Definition: tracery.cc:230
Result from_json(Symbol *rule, const jsonh::Value &value, const jsonh::Document *doc)
Definition: tracery.cc:32
const T & get_random_item_in_vector(Random *r, const std::vector< T > &v)
Definition: random.h:68
String utility functions.
Definition: result.h:11
Definition: stringbuilder.h:9
std::string to_string()
Complete the builder and return the resulting string.
Definition: stringbuilder.cc:67
StringBuilder & add_string(const std::string &str)
Definition: stringbuilder.cc:43
std::string peek_string(int advance=0)
like PeekChar but returns human readable strings for some chars
Definition: textfileparser.cc:109
static TextfileParser from_string(const std::string &str)
Definition: textfileparser.cc:96
char peek_char(int advance=0)
advance = 0 - next char, 1-the one after that, negative values are not allowed
Definition: textfileparser.cc:102
Definition: tracery.cc:100
Definition: tracery.cc:106
void add_action_rule(const std::string &action_key, const std::string &action_symbol)
Definition: tracery.cc:114
CallSymbolNode()=default
Result flatten(GeneratorArgument *generator) const override
Definition: tracery.cc:122
std::vector< std::string > modifiers
Definition: tracery.cc:108
std::vector< ActionRule > action_rules
Definition: tracery.cc:109
std::map< std::string, std::string > overridden_rules
Definition: tracery.cc:26
const tracery::Grammar * grammar
Definition: tracery.cc:25
Definition: tracery.h:104
Grammar & register_modifier(const std::string &name, std::shared_ptr< Modifier > m)
Definition: tracery.cc:647
Result flatten(Random *random, const std::string &rule) const
Definition: tracery.cc:667
std::map< std::string, std::shared_ptr< Modifier > > modifiers
Definition: tracery.h:106
Result get_string_from_symbol(const std::string &rule, GeneratorArgument *generator) const
Definition: tracery.cc:628
Grammar()
Result load_from_string(const std::string &filename, const std::string &data)
Definition: tracery.cc:591
Result apply_modifier(const std::string &name, const std::string &data) const
Definition: tracery.cc:655
Result flatten(GeneratorArgument *) const override
Definition: tracery.cc:90
LiteralStringNode(const std::string &t)
Definition: tracery.cc:85
Definition: tracery.h:65
virtual ~Modifier()
Definition: tracery.h:51
virtual ~Node()
Definition: tracery.h:18
Result & operator<<(const std::string &t)
Definition: tracery.cc:166
@ general_rule_parse_error
Definition: tracery.h:28
Definition: tracery.h:79
std::vector< std::shared_ptr< Node > > syntax
Definition: tracery.h:80
Result flatten(GeneratorArgument *gen) const
Definition: tracery.cc:367
Definition: tracery.h:92
Result add_rule(const std::string &rule)
Definition: tracery.cc:393
Result flatten(GeneratorArgument *gen) const
Definition: tracery.cc:406
FunctionModifier(TFunc f)
Definition: tracery.cc:550
Result apply_modifier(const std::string &input) override
Definition: tracery.cc:552
#define EMPTY_STRING(str, err)
#define EXPECT_CHAR(chr, err)