Vcsn  2.2
Be Rational
vcsn::detail::dot::driver Class Reference

State and public interface for Dot parsing. More...

#include <driver.hh>

Collaboration diagram for vcsn::detail::dot::driver:

Public Member Functions

 driver ()
 
 ~driver ()
 
dyn::automaton parse (std::istream &is, const location_t &l=location_t{})
 Parse this stream. More...
 
void error (const location_t &l, const std::string &m)
 Report an error m at l. More...
 
void invalid (const location_t &l, const std::string &s)
 The string s is invalid at l. More...
 

Public Attributes

std::string errors
 The error messages. More...
 
std::unique_ptr< yyFlexLexerscanner_
 The scanner. More...
 

Private Member Functions

void setup_ (const location_t &l, const std::string &ctx)
 From context_, build edit_. More...
 

Private Attributes

location_t location_
 The inital location. More...
 
std::shared_ptr< vcsn::automaton_editoredit_
 An automaton editor that stores the one being built. More...
 

Friends

class parser
 

Detailed Description

State and public interface for Dot parsing.

Definition at line 20 of file driver.hh.

Constructor & Destructor Documentation

vcsn::detail::dot::driver::driver ( )

Definition at line 21 of file driver.cc.

vcsn::detail::dot::driver::~driver ( )

Definition at line 26 of file driver.cc.

Member Function Documentation

void vcsn::detail::dot::driver::error ( const location_t l,
const std::string &  m 
)

Report an error m at l.

Definition at line 69 of file driver.cc.

References errors.

Referenced by vcsn::detail::dot::parser::error(), and invalid().

void vcsn::detail::dot::driver::invalid ( const location_t l,
const std::string &  s 
)

The string s is invalid at l.

Definition at line 79 of file driver.cc.

References error().

Here is the call graph for this function:

auto vcsn::detail::dot::driver::parse ( std::istream &  is,
const location_t l = location_t{} 
)

Parse this stream.

Definition at line 30 of file driver.cc.

References is, vcsn::detail::dot::parser::parse(), vcsn::require(), and vcsn::detail::dot::parser::set_debug_level().

Here is the call graph for this function:

void vcsn::detail::dot::driver::setup_ ( const location_t l,
const std::string &  ctx 
)
private

From context_, build edit_.

Exceptions
std::exceptionon invalid contexts.

Definition at line 54 of file driver.cc.

References edit_, vcsn::dyn::make_automaton_editor(), and vcsn::dyn::make_context().

Referenced by vcsn::detail::dot::parser::parse().

Here is the call graph for this function:

Friends And Related Function Documentation

friend class parser
friend

Definition at line 49 of file driver.hh.

Member Data Documentation

std::shared_ptr<vcsn::automaton_editor> vcsn::detail::dot::driver::edit_
private

An automaton editor that stores the one being built.

Definition at line 48 of file driver.hh.

Referenced by vcsn::detail::dot::parser::parse(), and setup_().

std::string vcsn::detail::dot::driver::errors

The error messages.

Definition at line 36 of file driver.hh.

Referenced by error().

location_t vcsn::detail::dot::driver::location_
private

The inital location.

Definition at line 46 of file driver.hh.

Referenced by vcsn::detail::dot::parser::parse().

std::unique_ptr<yyFlexLexer> vcsn::detail::dot::driver::scanner_

The scanner.

Definition at line 38 of file driver.hh.

Referenced by vcsn::detail::dot::yylex().


The documentation for this class was generated from the following files: