17 #ifndef COMMON_JSON_PARSER_HH
18 #define COMMON_JSON_PARSER_HH
20 #include<unordered_map>
57 bool check(
char e, std::string oth =
"", std::unordered_map<char,std::string> names_override = {});
58 bool inline check(
char e, std::unordered_map<char,std::string> names_override)
59 {
return check(e,
"", names_override);}
91 static std::string
const&
escape(
char);
92 static std::string
escape(std::string
const&);
93 static std::string
unescape(std::string
const&,
bool quote =
false);
bool error()
Definition: parser.hh:77
parser_t(std::istream &i)
Definition: parser.hh:85
std::list< uint_or_string_t > _error_path
Attempt to give localisation of parsing error (only set if an error occured).
Definition: parser.hh:72
static std::string const & escape(char)
std::istream & _in
Definition: parser.hh:74
position_t position_of(int pos)
bool check(char e, std::unordered_map< char, std::string > names_override)
Definition: parser.hh:58
static std::string unescape(std::string const &, bool quote=false)
static std::string const true_repr
Definition: parser.hh:42
std::string extract_and_unescape_string(bool quote=true)
static std::string const null_repr
Definition: parser.hh:41
std::stringstream _error_message
Error message if on error occured.
Definition: parser.hh:68
static std::string const false_repr
Definition: parser.hh:43
static std::ostream & escape_and_put(std::ostream &, std::string const &)
bool _error
Whether on error occured.
Definition: parser.hh:65
bool check(char e, std::string oth="", std::unordered_map< char, std::string > names_override={})
static std::string escape(std::string const &)
position_t position()
Definition: parser.hh:87
node_t * parse_constant(std::string const &)
std::list< uint_or_string_t > move_error_path()
Definition: parser.hh:81
std::string error_message()
Definition: parser.hh:78
std::ostream & json(automaton_t aut, std::ostream &out)
node_t * parse(std::istream &)
Main namespace of Awali.
Definition: ato.hh:22
int line
Only positive values are allowed.
Definition: parser.hh:32
static position_t tellg_unsupported()
Definition: parser.hh:35
bool is_tellg_unsupported()
Definition: parser.hh:36
int column
Definition: parser.hh:33
static position_t eof()
Definition: parser.hh:37
bool is_eof()
Definition: parser.hh:38