40 #ifndef YY_YY_USERS_AKIM_SRC_LRDE_2_LIB_VCSN_DOT_PARSE_HH_INCLUDED 
   41 # define YY_YY_USERS_AKIM_SRC_LRDE_2_LIB_VCSN_DOT_PARSE_HH_INCLUDED 
   43 #line 17 "/Users/akim/src/lrde/2/lib/vcsn/dot/parse.yy" // lalr1.cc:377 
   88 #line 89 "/Users/akim/src/lrde/2/lib/vcsn/dot/parse.hh" // lalr1.cc:377 
  101 # define YYASSERT assert 
  106 # if (defined __GNUC__                                               \ 
  107       && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \ 
  108      || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C 
  109 #  define YY_ATTRIBUTE(Spec) __attribute__(Spec) 
  111 #  define YY_ATTRIBUTE(Spec)  
  115 #ifndef YY_ATTRIBUTE_PURE 
  116 # define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__)) 
  119 #ifndef YY_ATTRIBUTE_UNUSED 
  120 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) 
  123 #if !defined _Noreturn \ 
  124      && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) 
  125 # if defined _MSC_VER && 1200 <= _MSC_VER 
  126 #  define _Noreturn __declspec (noreturn) 
  128 #  define _Noreturn YY_ATTRIBUTE ((__noreturn__)) 
  133 #if ! defined lint || defined __GNUC__ 
  134 # define YYUSE(E) ((void) (E)) 
  139 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ 
  141 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ 
  142     _Pragma ("GCC diagnostic push") \ 
  143     _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ 
  144     _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") 
  145 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ 
  146     _Pragma ("GCC diagnostic pop") 
  148 # define YY_INITIAL_VALUE(Value) Value 
  150 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 
  151 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 
  152 # define YY_IGNORE_MAYBE_UNINITIALIZED_END 
  154 #ifndef YY_INITIAL_VALUE 
  155 # define YY_INITIAL_VALUE(Value)  
  163 #line 11 "/Users/akim/src/lrde/2/lib/vcsn/dot/parse.yy" // lalr1.cc:377 
  164 namespace vcsn { 
namespace detail { 
namespace dot {
 
  165 #line 166 "/Users/akim/src/lrde/2/lib/vcsn/dot/parse.hh" // lalr1.cc:377 
  185     template <
typename T>
 
  189       new (yyas_<T> ()) T (t);
 
  197     template <
typename T>
 
  201       return *
new (yyas_<T> ()) T;
 
  205     template <
typename T>
 
  209       return *
new (yyas_<T> ()) T (t);
 
  213     template <
typename T>
 
  221     template <
typename T>
 
  236     template <
typename T>
 
  240       std::swap (as<T> (), other.
as<T> ());
 
  246     template <
typename T>
 
  256     template <
typename T>
 
  260       build<T> (other.
as<T> ());
 
  264     template <
typename T>
 
  277     template <
typename T>
 
  282       return static_cast<T*
> (yyp);
 
  286     template <
typename T>
 
  291       return static_cast<const T*
> (yyp);
 
  345       syntax_error (
const location_type& l, 
const std::string& m);
 
  391     template <
typename Base>
 
  405   basic_symbol (
typename Base::kind_type t, 
const location_type& l);
 
  416                     const semantic_type& 
v,
 
  417                     const location_type& l);
 
  465       symbol_number_type 
type_get () 
const;
 
  468       token_type 
token () 
const;
 
  522     make_EQ (
const location_type& l);
 
  551     virtual int parse ();
 
  570     virtual void error (
const location_type& loc, 
const std::string& msg);
 
  587                                          const symbol_type& yyla) 
const;
 
  643     static std::string 
yytnamerr_ (
const char *n);
 
  663     template <
typename Base>
 
  671     template <
typename Base>
 
  698       symbol_number_type 
type_get () 
const;
 
  740     void yypush_ (
const char* m, state_type s, symbol_type& sym);
 
  743     void yypop_ (
unsigned int n = 1);
 
  768     const token_number_type
 
  771      0,     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,     2,     2,     2,     2,
 
  777        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  778        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  779        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  780        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  781        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  782        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  783        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  784        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  785        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  786        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  787        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  788        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  789        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  790        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  791        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  792        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  793        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  794        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  795        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
  796        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
 
  797        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
 
  800     const unsigned int user_token_number_max_ = 272;
 
  801     const token_number_type undef_token_ = 2;
 
  803     if (static_cast<int>(t) <= 
yyeof_)
 
  805     else if (static_cast<unsigned int> (t) <= user_token_number_max_)
 
  806       return translate_table[t];
 
  813     : 
std::runtime_error (m)
 
  818   template <
typename Base>
 
  824   template <
typename Base>
 
  831       switch (other.type_get ())
 
  864   template <
typename Base>
 
  872       switch (this->type_get ())
 
  906   template <
typename Base>
 
  913   template <
typename Base>
 
  920   template <
typename Base>
 
  927   template <
typename Base>
 
  935   template <
typename Base>
 
  942   template <
typename Base>
 
  948     symbol_number_type yytype = this->type_get ();
 
  961         value.template destroy< paths_t > ();
 
  969         value.template destroy< states_t > ();
 
  981         value.template destroy< string_t > ();
 
  991   template <
typename Base>
 
  999   template <
typename Base>
 
 1004     super_type::move(s);
 
 1005       switch (this->type_get ())
 
 1083     const unsigned short int 
 1086        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
 
 1087      265,   266,   267,   268,   269,   270,   271,   272
 
 1089     return static_cast<token_type
> (yytoken_number_[
type]);
 
 1189 #line 11 "/Users/akim/src/lrde/2/lib/vcsn/dot/parse.yy" // lalr1.cc:377 
 1191 #line 1192 "/Users/akim/src/lrde/2/lib/vcsn/dot/parse.hh" // lalr1.cc:377 
 1195 #line 63 "/Users/akim/src/lrde/2/lib/vcsn/dot/parse.yy" // lalr1.cc:377 
 1197   #define YY_DECL_(Class) \ 
 1198     parser::symbol_type Class lex(driver& driver_) 
 1199   #define YY_DECL YY_DECL_(yyFlexLexer::) 
 1201 #line 1202 "/Users/akim/src/lrde/2/lib/vcsn/dot/parse.hh" // lalr1.cc:377 
 1204 #endif // !YY_YY_USERS_AKIM_SRC_LRDE_2_LIB_VCSN_DOT_PARSE_HH_INCLUDED 
static const unsigned char yyr1_[]
static symbol_type make_SUBGRAPH(const location_type &l)
static symbol_type make_ID(const string_t &v, const location_type &l)
symbol_number_type type_get() const 
The (internal) type number (corresponding to state). 
int symbol_number_type
Symbol type: an internal symbol number. 
void yypop_(unsigned int n=1)
Pop n symbols the three stacks. 
int debug_level_type
Type for debugging levels. 
static const signed char yytable_[]
std::ostream & debug_stream() const 
The current debugging stream. 
std::string type(const automaton &a)
The implementation type of a. 
void swap(self_type &other)
Swap the content with other, of same type. 
Define the vcsn::rat::location class. 
boost::flyweight< std::string, boost::flyweights::no_tracking, boost::flyweights::intermodule_holder > symbol
An internalized string. 
unsigned char token_number_type
Internal symbol number for tokens (subsumed by symbol_number_type). 
stack_symbol_type & operator=(const stack_symbol_type &that)
Assignment, needed by push_back. 
static symbol_type make_END(const location_type &l)
const T * yyas_() const 
Const accessor to raw memory as T. 
debug_level_type debug_level() const 
The current debugging level. 
State and public interface for Dot parsing. 
variant(const T &t)
Construct and fill. 
basic_symbol< by_type > symbol_type
"External" symbols: returned by the scanner. 
transitions_t transitions
basic_symbol()
Default constructor. 
state_type state
The state. 
static const unsigned short int yyrline_[]
self_type & operator=(const self_type &)
Prohibit blind copies. 
by_state()
Default constructor. 
variant< S > self_type
Type of *this. 
static const signed char yycheck_[]
void yypush_(const char *m, stack_symbol_type &s)
Push a new state on the stack. 
parser(driver &driver__yyarg)
Build a parser object. 
static symbol_type make_DIGRAPH(const location_type &l)
state_type yy_lr_goto_state_(state_type yystate, int yysym)
Compute post-reduction state. 
void yy_print_(std::ostream &yyo, const basic_symbol< Base > &yysym) const 
Display a symbol type, value and location. 
static symbol_type make_LBRACKET(const location_type &l)
An auxiliary type to compute the largest semantic type. 
#define YY_ATTRIBUTE_PURE
"Internal" symbol: element of the stack. 
static symbol_type make_EDGE(const location_type &l)
static const signed char yytable_ninf_
static symbol_type make_SEMI(const location_type &l)
basic_symbol & operator=(const basic_symbol &other)
Assignment operator. 
~basic_symbol()
Destroy the symbol. 
stack_type yystack_
The stack. 
char dummy3[sizeof(string_t)]
Number of nonterminal symbols. 
char yyraw[S]
A buffer large enough to store any of the semantic values. 
variant< sizeof(union_type)> semantic_type
Symbol semantic values. 
token::yytokentype token_type
(External) token type, as returned by yylex. 
Type access provider for token (enum) based symbols. 
static symbol_type make_LBRACE(const location_type &l)
T & as()
Accessor to a built T. 
void set_debug_level(debug_level_type l)
Set the current debugging level. 
static symbol_type make_COLON(const location_type &l)
vcsn::rat::location location_type
Symbol locations. 
union vcsn::detail::dot::variant::@2 yybuffer_
long double yyalign_me
Strongest alignment constraints. 
by_type()
Default constructor. 
token_type kind_type
The symbol type as needed by the constructor. 
static token_number_type yytranslate_(token_type t)
Convert a scanner token number t to a symbol number. 
static const unsigned char yydefact_[]
void set_debug_stream(std::ostream &)
Set the current debugging stream. 
static bool yy_pact_value_is_default_(int yyvalue)
Whether the given yypact_ value indicates a defaulted state. 
parser & operator=(const parser &)
syntax_error(const location_type &l, const std::string &m)
static const signed char yypact_[]
T & build(const T &t)
Instantiate a T in here from t. 
static const signed char yydefgoto_[]
static symbol_type make_EQ(const location_type &l)
Define the vcsn::detail::dot::stack class. 
static symbol_type make_RBRACKET(const location_type &l)
Base super_type
Alias to Base. 
static const unsigned char yystos_[]
stack< stack_symbol_type > stack_type
Stack type. 
static symbol_type make_COMMA(const location_type &l)
static symbol_type make_ARROW(const location_type &l)
static symbol_type make_RBRACE(const location_type &l)
state_type kind_type
The symbol type as needed by the constructor. 
void move(basic_symbol &s)
Destructive move, s is emptied into this. 
const T & as() const 
Const accessor to a built T (for printer). 
location_type location
The location. 
static const signed char yypact_ninf_
virtual int parse()
Parse. 
void destroy()
Destroy the stored T. 
void clear()
Destroy contents, and record that is empty. 
static std::string yytnamerr_(const char *n)
Convert the symbol name n to a form suitable for a diagnostic. 
void move(by_type &that)
Steal the symbol type from that. 
virtual void yy_reduce_print_(int r)
Report on the debug stream that the rule r is going to be reduced. 
int state_type
State numbers. 
Syntax errors thrown from user actions. 
void move(self_type &other)
Move the content of other to this. 
std::vector< std::pair< string_t, string_t >> transitions_t
token_type token() const 
The token. 
char dummy2[sizeof(states_t)]
virtual void error(const location_type &loc, const std::string &msg)
Report a syntax error. 
virtual std::string yysyntax_error_(state_type yystate, const symbol_type &yyla) const 
Generate an error message. 
void move(by_state &that)
Steal the symbol type from that. 
static const unsigned char yyr2_[]
virtual void yystack_print_()
Print the state stack on the debug stream. 
std::ostream & dot(const Aut &aut, std::ostream &out=std::cout, format fmt={})
Print an automaton in Graphviz's Dot format. 
static symbol_type make_GRAPH(const location_type &l)
void clear()
Record that this symbol is empty. 
A char[S] buffer to store and retrieve objects. 
std::vector< string_t > states_t
void clear()
Record that this symbol is empty. 
T & build()
Instantiate an empty T in here. 
semantic_type value
The semantic value. 
stack_symbol_type()
Construct an empty symbol. 
Provide a variadic mul on top of a binary mul(), and one(). 
bool empty() const 
Whether empty. 
variant()
Empty construction. 
basic_symbol< by_state > super_type
Superclass. 
void yy_destroy_(const char *yymsg, basic_symbol< Base > &yysym) const 
Reclaim the memory associated to a symbol. 
void copy(const self_type &other)
Copy the content of other to this. 
static bool yy_table_value_is_error_(int yyvalue)
Whether the given yytable_ value indicates a syntax error. 
~variant()
Destruction, allowed only if empty. 
symbol_number_type type_get() const 
The (internal) type number (corresponding to type). 
Termination state number. 
T * yyas_()
Accessor to raw memory as T. 
char dummy1[sizeof(paths_t)]
static const signed char yypgoto_[]
static const char *const yytname_[]
For a symbol, its name in clear. 
Type access provider for state based symbols. 
static symbol_type make_NODE(const location_type &l)