40 #ifndef YY_YY_USERS_AKIM_SRC_LRDE_VAUCANSON2_LIB_VCSN_DOT_PARSE_HH_INCLUDED 
   41 # define YY_YY_USERS_AKIM_SRC_LRDE_VAUCANSON2_LIB_VCSN_DOT_PARSE_HH_INCLUDED 
   43 #line 17 "/Users/akim/src/lrde/vaucanson2/lib/vcsn/dot/parse.yy" // lalr1.cc:372 
   48   #include <boost/flyweight.hpp> 
   49   #include <boost/flyweight/no_tracking.hpp> 
   68           boost::flyweight<std::string, boost::flyweights::no_tracking>;
 
   90 #line 91 "/Users/akim/src/lrde/vaucanson2/lib/vcsn/dot/parse.hh" // lalr1.cc:372 
  102 # define YYASSERT assert 
  107 # if (defined __GNUC__                                               \ 
  108       && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \ 
  109      || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C 
  110 #  define YY_ATTRIBUTE(Spec) __attribute__(Spec) 
  112 #  define YY_ATTRIBUTE(Spec)  
  116 #ifndef YY_ATTRIBUTE_PURE 
  117 # define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__)) 
  120 #ifndef YY_ATTRIBUTE_UNUSED 
  121 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) 
  124 #if !defined _Noreturn \ 
  125      && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) 
  126 # if defined _MSC_VER && 1200 <= _MSC_VER 
  127 #  define _Noreturn __declspec (noreturn) 
  129 #  define _Noreturn YY_ATTRIBUTE ((__noreturn__)) 
  134 #if ! defined lint || defined __GNUC__ 
  135 # define YYUSE(E) ((void) (E)) 
  140 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ 
  142 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ 
  143     _Pragma ("GCC diagnostic push") \ 
  144     _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ 
  145     _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") 
  146 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ 
  147     _Pragma ("GCC diagnostic pop") 
  149 # define YY_INITIAL_VALUE(Value) Value 
  151 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 
  152 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 
  153 # define YY_IGNORE_MAYBE_UNINITIALIZED_END 
  155 #ifndef YY_INITIAL_VALUE 
  156 # define YY_INITIAL_VALUE(Value)  
  164 #line 11 "/Users/akim/src/lrde/vaucanson2/lib/vcsn/dot/parse.yy" // lalr1.cc:372 
  165 namespace vcsn { 
namespace detail { 
namespace dot {
 
  166 #line 167 "/Users/akim/src/lrde/vaucanson2/lib/vcsn/dot/parse.hh" // lalr1.cc:372 
  186     template <
typename T>
 
  190       new (yyas_<T> ()) T (t);
 
  198     template <
typename T>
 
  202       return *
new (yyas_<T> ()) T;
 
  206     template <
typename T>
 
  210       return *
new (yyas_<T> ()) T (t);
 
  214     template <
typename T>
 
  222     template <
typename T>
 
  237     template <
typename T>
 
  241       std::swap (as<T> (), other.
as<T> ());
 
  247     template <
typename T>
 
  257     template <
typename T>
 
  261       build<T> (other.
as<T> ());
 
  265     template <
typename T>
 
  278     template <
typename T>
 
  283       return static_cast<T*
> (yyp);
 
  287     template <
typename T>
 
  292       return static_cast<const T*
> (yyp);
 
  388     template <
typename Base>
 
  535     virtual int parse ();
 
  627     static std::string 
yytnamerr_ (
const char *n);
 
  647     template <
typename Base>
 
  655     template <
typename Base>
 
  722     void yypop_ (
unsigned int n = 1);
 
  751      0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  752        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  753        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  754        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  755        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  756        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  757        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  758        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  759        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  760        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  761        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  762        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  763        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  764        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  765        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  766        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  767        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  768        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  769        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  770        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  771        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  772        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  773        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  774        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  775        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  776        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
 
  777        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
 
  780     const unsigned int user_token_number_max_ = 272;
 
  783     if (static_cast<int>(t) <= 
yyeof_)
 
  785     else if (static_cast<unsigned int> (t) <= user_token_number_max_)
 
  786       return translate_table[t];
 
  793     : std::runtime_error (m)
 
  798   template <
typename Base>
 
  804   template <
typename Base>
 
  811       switch (other.type_get ())
 
  844   template <
typename Base>
 
  852       switch (this->type_get ())
 
  886   template <
typename Base>
 
  893   template <
typename Base>
 
  900   template <
typename Base>
 
  907   template <
typename Base>
 
  915   template <
typename Base>
 
  933         value.template destroy< paths_t > ();
 
  941         value.template destroy< states_t > ();
 
  953         value.template destroy< string_t > ();
 
  962   template <
typename Base>
 
  968       switch (this->type_get ())
 
 1039     const unsigned short int 
 1042        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
 
 1043      265,   266,   267,   268,   269,   270,   271,   272
 
 1045     return static_cast<token_type> (yytoken_number_[type]);
 
 1139 #line 11 "/Users/akim/src/lrde/vaucanson2/lib/vcsn/dot/parse.yy" // lalr1.cc:372 
 1141 #line 1142 "/Users/akim/src/lrde/vaucanson2/lib/vcsn/dot/parse.hh" // lalr1.cc:372 
 1145 #line 65 "/Users/akim/src/lrde/vaucanson2/lib/vcsn/dot/parse.yy" // lalr1.cc:372 
 1147   #define YY_DECL_(Class) \ 
 1148     parser::symbol_type Class lex(driver& driver_) 
 1149   #define YY_DECL YY_DECL_(yyFlexLexer::) 
 1151 #line 1152 "/Users/akim/src/lrde/vaucanson2/lib/vcsn/dot/parse.hh" // lalr1.cc:372 
 1154 #endif // !YY_YY_USERS_AKIM_SRC_LRDE_VAUCANSON2_LIB_VCSN_DOT_PARSE_HH_INCLUDED 
Type access provider for token (enum) based symbols. 
virtual void yystack_print_()
Print the state stack on the debug stream. 
char yyraw[S]
A buffer large enough to store any of the semantic values. 
Type access provider for state based symbols. 
static symbol_type make_DIGRAPH(const location_type &l)
union vcsn::detail::dot::variant::@1 yybuffer_
void move(by_state &that)
Steal the symbol type from that. 
void move(self_type &other)
Move the content of other to this. 
location_type location
The location. 
variant(const T &t)
Construct and fill. 
static symbol_type make_EDGE(const location_type &l)
static const signed char yytable_ninf_
token_type token() const 
The token. 
static bool yy_pact_value_is_default_(int yyvalue)
Whether the given yypact_ value indicates a defaulted state. 
symbol_number_type type_get() const 
The (internal) type number (corresponding to state). 
stack_symbol_type()
Construct an empty symbol. 
stack_symbol_type & operator=(const stack_symbol_type &that)
Assignment, needed by push_back. 
static const char *const yytname_[]
For a symbol, its name in clear. 
static const signed char yypact_[]
static symbol_type make_NODE(const location_type &l)
char dummy2[sizeof(states_t)]
static symbol_type make_GRAPH(const location_type &l)
static const unsigned char yyr1_[]
T * yyas_()
Accessor to raw memory as T. 
State and public interface for Dot parsing. 
syntax_error(const location_type &l, const std::string &m)
static symbol_type make_COLON(const location_type &l)
vcsn::rat::location location_type
Symbol locations. 
static symbol_type make_RBRACE(const location_type &l)
void move(basic_symbol &s)
Destructive move, s is emptied into this. 
int debug_level_type
Type for debugging levels. 
static const signed char yytable_[]
void destroy()
Destroy the stored T. 
void yy_destroy_(const char *yymsg, basic_symbol< Base > &yysym) const 
Reclaim the memory associated to a symbol. 
static const unsigned char yydefact_[]
static bool yy_table_value_is_error_(int yyvalue)
Whether the given yytable_ value indicates a syntax error. 
long double yyalign_me
Strongest alignment constraints. 
Termination state number. 
static std::string yytnamerr_(const char *n)
Convert the symbol name n to a form suitable for a diagnostic. 
A char[S] buffer to store and retrieve objects. 
void swap(self_type &other)
Swap the content with other, of same type. 
static const signed char yypgoto_[]
T & build()
Instantiate an empty T in here. 
state_type kind_type
The symbol type as needed by the constructor. 
basic_symbol< by_type > symbol_type
"External" symbols: returned by the scanner. 
variant()
Empty construction. 
token_type kind_type
The symbol type as needed by the constructor. 
static symbol_type make_EQ(const location_type &l)
static const unsigned short int yyrline_[]
static const unsigned char yystos_[]
stack< stack_symbol_type > stack_type
Stack type. 
static symbol_type make_COMMA(const location_type &l)
virtual void error(const location_type &loc, const std::string &msg)
Report a syntax error. 
char dummy3[sizeof(string_t)]
static const unsigned char yyr2_[]
void yypush_(const char *m, stack_symbol_type &s)
Push a new state on the stack. 
boost::flyweight< std::string, boost::flyweights::no_tracking > string_t
std::ostream & debug_stream() const 
The current debugging stream. 
void copy(const self_type &other)
Copy the content of other to this. 
state_type yy_lr_goto_state_(state_type yystate, int yysym)
Compute post-reduction state. 
by_state()
Default constructor. 
#define YY_ATTRIBUTE_PURE
self_type & operator=(const self_type &)
Prohibit blind copies. 
~variant()
Destruction, allowed only if empty. 
static symbol_type make_LBRACKET(const location_type &l)
basic_symbol()
Default constructor. 
static symbol_type make_END(const location_type &l)
Number of nonterminal symbols. 
virtual std::string yysyntax_error_(state_type yystate, symbol_number_type yytoken) const 
Generate an error message. 
debug_level_type debug_level() const 
The current debugging level. 
T & as()
Accessor to a built T. 
virtual void yy_reduce_print_(int r)
Report on the debug stream that the rule r is going to be reduced. 
const T & as() const 
Const accessor to a built T (for printer). 
int state_type
State numbers. 
by_type()
Default constructor. 
An auxiliary type to compute the largest semantic type. 
variant< sizeof(union_type)> semantic_type
Symbol semantic values. 
basic_symbol & operator=(const basic_symbol &other)
Assignment operator. 
semantic_type value
The semantic value. 
symbol_number_type type_get() const 
The (internal) type number (corresponding to type). 
const T * yyas_() const 
Const accessor to raw memory as T. 
static const signed char yycheck_[]
static symbol_type make_LBRACE(const location_type &l)
Define the vcsn::rat::location class. 
std::vector< string_t > states_t
basic_symbol< by_state > super_type
Superclass. 
static symbol_type make_ID(const string_t &v, const location_type &l)
void yy_print_(std::ostream &yyo, const basic_symbol< Base > &yysym) const 
Display a symbol type, value and location. 
int symbol_number_type
Internal symbol number. 
Provide a variadic mul on top of a binary mul(), and one(). 
Syntax errors thrown from user actions. 
void set_debug_stream(std::ostream &)
Set the current debugging stream. 
std::vector< std::pair< string_t, string_t >> transitions_t
stack_type yystack_
The stack. 
unsigned char token_number_type
Internal symbol number for tokens (subsumed by symbol_number_type). 
variant< S > self_type
Type of *this. 
static const signed char yydefgoto_[]
token_number_type type
The symbol type. 
char dummy1[sizeof(paths_t)]
void set_debug_level(debug_level_type l)
Set the current debugging level. 
T & build(const T &t)
Instantiate a T in here from t. 
void move(by_type &that)
Steal the symbol type from that. 
transitions_t transitions
static token_number_type yytranslate_(token_type t)
Convert a scanner token number t to a symbol number. 
state_type state
The state. 
void yypop_(unsigned int n=1)
Pop n symbols the three stacks. 
"Internal" symbol: element of the stack. 
static const signed char yypact_ninf_
Define the vcsn::detail::dot::stack class. 
parser(driver &driver__yyarg)
Build a parser object. 
virtual int parse()
Parse. 
parser & operator=(const parser &)
Base super_type
Alias to Base. 
std::ostream & dot(const Aut &aut, std::ostream &out, bool dot2tex=false)
static symbol_type make_RBRACKET(const location_type &l)
static symbol_type make_SEMI(const location_type &l)
static symbol_type make_ARROW(const location_type &l)
token::yytokentype token_type
(External) token type, as returned by yylex.