static void dump (const basic_state_machine<CharT> &state_machine_, ostream &stream_) { typename basic_state_machine<CharT>::iterator iter_ = state_machine_.begin (); typename basic_state_machine<CharT>::iterator end_ = state_machine_.end (); for (std::size_t dfa_ = 0, dfas_ = state_machine_.size (); dfa_ < dfas_; ++dfa_) { lexer_state (stream_); stream_ << dfa_ << std::endl << std::endl; dump_ex (iter_, stream_); } }
static void dump (const basic_state_machine<CharT> &state_machine_, ostream &stream_) { typename basic_state_machine<CharT>::iterator iter_ = state_machine_.begin (); typename basic_state_machine<CharT>::iterator end_ = state_machine_.end (); for (std::size_t dfa_ = 0, dfas_ = state_machine_.size (); dfa_ < dfas_; ++dfa_) { const std::size_t states_ = iter_->states; for (std::size_t i_ = 0; i_ < states_; ++i_) { state (stream_); stream_ << i_ << std::endl; if (iter_->end_state) { end_state (stream_); stream_ << iter_->id; dfa (stream_); stream_ << iter_->goto_dfa; stream_ << std::endl; } if (iter_->bol_index != npos) { bol (stream_); stream_ << iter_->bol_index << std::endl; } if (iter_->eol_index != npos) { eol (stream_); stream_ << iter_->eol_index << std::endl; } const std::size_t transitions_ = iter_->transitions; if (transitions_ == 0) { ++iter_; } for (std::size_t t_ = 0; t_ < transitions_; ++t_) { std::size_t goto_state_ = iter_->goto_state; if (iter_->token.any ()) { any (stream_); } else { open_bracket (stream_); if (iter_->token._negated) { negated (stream_); } string charset_; CharT c_ = 0; escape_control_chars (iter_->token._charset, charset_); c_ = *charset_.c_str (); if (!iter_->token._negated && (c_ == '^' || c_ == ']')) { stream_ << '\\'; } stream_ << charset_; close_bracket (stream_); } stream_ << goto_state_ << std::endl; ++iter_; } stream_ << std::endl; } } }