17 #ifndef AWALI_ALPHABETS_CHAR_HH
18 # define AWALI_ALPHABETS_CHAR_HH
24 #include <awali/common/json/node.cc>
45 static std::ostream&
jsname(std::ostream& o)
47 o <<
'"' <<
"Char" <<
'"';
51 virtual std::string
vname(
bool =
true)
const
168 static const std::string sep{
""};
211 template<
unsigned version = version::fsm_json>
226 template<
unsigned version = version::fsm_json>
242 template<
unsigned version = version::fsm_json>
252 if(s.empty() && allow_empty)
virtual std::string to_string() const
Coerces this node_t to an std::string.
Definition: node.hh:331
node_kind_t const kind
Definition: node.hh:196
helper for manipulations of char letters
Definition: char.hh:32
virtual ~char_letters()=default
static letter_t parse_one_letter(const std::string &s, size_t &p)
Definition: char.hh:189
json::node_t * to_json() const
Definition: char.hh:227
static std::ostream & print(const letter_t &l, std::ostream &o)
Definition: char.hh:173
virtual std::string vname(bool=true) const
Definition: char.hh:51
char letter_t
Definition: char.hh:34
static bool is_letter(const letter_t &)
Definition: char.hh:148
static std::ostream & jsname(std::ostream &o)
Definition: char.hh:45
std::string word_t
Definition: char.hh:35
static constexpr letter_t special_letter()
The reserved letter used to forge the labels for initial and final transitions.
Definition: char.hh:165
static const std::string & separation_mark()
Definition: char.hh:167
static letter_t conv_one_letter(std::istream &i)
Definition: char.hh:196
static bool equals(const letter_t &l1, const letter_t &l2)
Definition: char.hh:136
json::string_t * letter_to_json(letter_t const &l) const
Definition: char.hh:212
static std::string format(const letter_t l)
Definition: char.hh:202
static std::string sname()
Definition: char.hh:40
static letter_t letter_from_json(json::node_t const *p, bool allow_empty=false)
Definition: char.hh:244
static letter_t transpose(letter_t l)
Definition: char.hh:130
static constexpr letter_t one_letter()
The reserved letter used to forge the "one" label (the unit, the identity).
Definition: char.hh:161
@ STRING
Definition: node.hh:97
std::string to_string(identities i)
std::ostream & str_escape(std::ostream &os, const int c)
Definition: escape.hh:30
Main namespace of Awali.
Definition: ato.hh:22
Exceptions thrown during parsing.
Definition: parse_exception.hh:26