|
Классы |
struct | cls_2::syn_state_trans_t |
struct | cls_2::syn_state_t |
class | cls_2::file_scope_tag_t |
class | cls_2::_parser_t |
class | cls_2::input_stream_t |
| Базовый класс для входного потока. Подробнее...
|
class | cls_2::error_stream_t |
class | cls_2::msg_storage_t |
class | cls_2::tag_formatter_t |
class | cls_2::parser_context_t |
| Контекст, на котором должен производиться разбор. Подробнее...
|
class | cls_2::tag_t |
| Base class for tag. Подробнее...
|
class | cls_2::parser_t |
class | cls_2::def_msg_storage_t |
class | cls_2::def_tag_formatter_t< Writter > |
class | cls_2::es_file_line_num_t |
| Класс потока ошибок, который отображает имя файла и текущий номер строки. Подробнее...
|
class | cls_2::es_tag_stack_t |
| Класс потока ошибок, который отображает содержимое стека разбираемых тегов. Подробнее...
|
class | cls_2::input_stream_file_t |
class | cls_2::lex_t |
| Лексический анализатор. Подробнее...
|
class | cls_2::simple_tag_formatter_t< Writter > |
class | cls_2::tfactory_t |
class | cls_2::tfactory_constraint_t |
class | cls_2::tag_by_factory_t |
class | cls_2::tag_no_value_t |
| Tag which do not accept token "NONSPACE" or "STRING". Подробнее...
|
class | cls_2::tag_text_t |
class | cls_2::tag_vector_of_tags_t< Tag > |
| Tag to parse multiple instances of one tag. Подробнее...
|
class | cls_2::tag_vector_of_tags_t< Tag >::const_iterator |
| Класс константного итератора. Подробнее...
|
class | cls_2::to_cls_format_t |
| Вспомогательный класс для облегчения преобразования значений в формат CLS. Подробнее...
|
class | cls_2::scalar_constraint_t< T > |
class | cls_2::scalar_format_t< T > |
class | cls_2::scalar_format_t< long > |
class | cls_2::scalar_format_t< unsigned long > |
class | cls_2::scalar_format_t< int > |
class | cls_2::scalar_format_t< unsigned int > |
class | cls_2::scalar_format_t< double > |
class | cls_2::scalar_format_t< std::string > |
class | cls_2::scalar_nonspace_format_t |
class | cls_2::tag_scalar_t< T, Format > |
| Шаблон тега обрабатывающего одиночные скалярные значения. Подробнее...
|
class | cls_2::tag_scalar_vector_t< T, Format > |
class | cls_2::tag_scalar_vector_t< T, Format >::const_iterator |
| Класс константного итератора. Подробнее...
|
Коды ошибок. |
const int | c_ok = 0 |
| Нет ошибок.
|
const int | c_syntax_error = 1 |
| Синтаксическая ошибка.
|
const int | c_semantic_error = 2 |
| Семантическая ошибка.
|
const int | c_eof = 3 |
| Ошибка преждевременного достижения конца входного потока.
|
const int | c_io_error = 4 |
| Ошибка ввода вывода.
|
const int | c_lex_error = 5 |
| Лексическая ошибка.
|
const int | c_no_input_stream = 6 |
| Отсутствие входного потока при попытке проведения разбора.
|
Определения типов |
typedef int(_parser_t::* | pfn_state_proc_t )(parser_context_t &context) |
typedef void(_parser_t::* | pfn_token_proc_t )(parser_context_t &context, char ch) |
Функции |
bool | check_hex_digits (const char *p) |
bool | check_oct_digits (const char *p) |
bool | check_bin_digits (const char *p) |
bool | check_dec_digits (const char *p) |
bool | check_double_digits (const char *p) |
void | parse_binary (const char *s, long &result) |
bool | parse_digits (const char *pcsz, long &result, char base_mark) |
| Попытка разбора знакового длинного целого.
|
void | parse_binary (const char *s, unsigned long &result) |
bool | parse_digits (const char *pcsz, unsigned long &result, char base_mark) |
| Попытка разбора беззнакового длинного целого.
|
bool | parse_digits (const char *pcsz, double &result) |
bool | is_eol (char ch) |
bool | is_char_must_be_ignored (char ch) |
bool | is_space (char ch) |
bool | is_spec_char (char c) |
| Является ли символ управляющим и нужно ли его преобразовывать в шестнадцатиричное представление.
|
size_t | calc_required_capacity (const char *v) |
void | translate (const char *v, char *r) |
Переменные |
const size_t | c_tag_stack_capacity = 64 |
const size_t | c_cnt_capacity = 256 |
syn_state_t | g_state_start |
syn_state_trans_t | g_state_start_trans [] |
syn_state_t | g_state_finish |
syn_state_trans_t | g_state_finish_trans [] |
syn_state_t | g_state_tag_content |
syn_state_trans_t | g_state_tag_content_trans [] |
syn_state_t | g_state_wait_tag_name |
syn_state_trans_t | g_state_wait_tag_name_trans [] |
syn_state_t | g_state_fill_tag_name |
syn_state_trans_t | g_state_fill_tag_name_trans [] |
syn_state_t | g_state_tag_complete |
syn_state_trans_t | g_state_tag_complete_trans [] |
syn_state_t | g_state_tag_cnt_space |
syn_state_trans_t | g_state_tag_cnt_space_trans [] |
syn_state_t | g_state_tag_cnt_nonspace |
syn_state_trans_t | g_state_tag_cnt_nonspace_trans [] |
syn_state_t | g_state_tag_cnt_string |
syn_state_trans_t | g_state_tag_cnt_string_trans [] |
const size_t | children_tag_list_capacity = 8 |
const int | c_msg_undefined_mandatory_tag = 1 |
const int | c_msg_unfinished_back_slash_seq = 2 |
const int | c_msg_invalid_back_slash_seq = 3 |
const int | c_msg_unclosed_comment = 4 |
const int | c_msg_tag_expected = 5 |
const int | c_msg_syntax_error = 6 |
const int | c_msg_tag_name_expected = 7 |
const int | c_msg_fill_tag_name_error = 8 |
const int | c_msg_enclosed_string = 9 |
const int | c_msg_unexpected_eof = 10 |
const int | c_msg_missmatched_close_block_count = 11 |
const int | c_msg_unknown_tag = 12 |
const int | c_msg_tag_already_defined = 13 |
const int | c_msg_tag_value_must_be_specified = 14 |
const int | c_msg_invalid_value = 15 |
const int | c_msg_unexpected_tok_string = 16 |
const int | c_msg_unexpected_tok_nonspace = 17 |
const int | c_msg_value_out_of_range = 18 |
const int | c_tok_space = 1 |
const int | c_tok_nonspace = 2 |
const int | c_tok_dquote = 3 |
const int | c_tok_open_block = 4 |
const int | c_tok_close_block = 5 |
const int | c_tok_eof = 6 |
const int | c_tok_error = 7 |
const int | c_tok_any = 8 |
char | g_chars_to_ignore [] = "\r" |
char | g_eol_chars [] = "\n" |
const size_t | c_file_buffer_capacity = 2048 |
const char | c_eol_char = '\n' |
const size_t | c_text_capacity = 32 |
char | g_special_chars [] = "{}|\\\"\n\r\t" |