WPILibC++
unspecified
|
lexical analysis More...
Public Member Functions | |
lexer (raw_istream &s) | |
lexer (const lexer &)=delete | |
lexer & | operator= (lexer &)=delete |
int64_t | get_number_integer () const noexcept |
return integer value | |
uint64_t | get_number_unsigned () const noexcept |
return unsigned integer value | |
double | get_number_float () const noexcept |
return floating-point value | |
StringRef | get_string () |
return current string value | |
std::size_t | get_position () const noexcept |
return position of last read token | |
std::string | get_token_string () const |
return the last read token (for errors only). More... | |
const char * | get_error_message () const noexcept |
return syntax error message | |
token_type | scan () |
Static Public Member Functions | |
static const char * | token_type_name (const token_type t) noexcept |
return name of values of type token_type (only used for errors) | |
lexical analysis
This class organizes the lexical analysis during JSON deserialization.
|
strong |
token types for the parser
Enumerator | |
---|---|
uninitialized |
indicating the scanner is uninitialized |
literal_true |
the |
literal_false |
the |
literal_null |
the |
value_string |
a string – use get_string() for actual value |
value_unsigned |
an unsigned integer – use get_number_unsigned() for actual value |
value_integer |
a signed integer – use get_number_integer() for actual value |
value_float |
an floating point number – use get_number_float() for actual value |
begin_array |
the character for array begin |
begin_object |
the character for object begin |
end_array |
the character for array end |
end_object |
the character for object end |
name_separator |
the name separator |
value_separator |
the value separator |
parse_error |
indicating a parse error |
end_of_input |
indicating the end of the input buffer |
literal_or_value |
a literal or the begin of a value (only for diagnostics) |
std::string wpi::json::lexer::get_token_string | ( | ) | const |
return the last read token (for errors only).
Will never contain EOF (an arbitrary value that is not a valid char value, often -1), because 255 may legitimately occur. May contain NUL, which should be escaped.