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>
   246     template <
typename T>
   256     template <
typename T>
   260       build<T> (other.
as<T> ());
   264     template <
typename T>
   273     self_type& operator=(
const self_type&);
   277     template <
typename T>
   281       void *yyp = yybuffer_.yyraw;
   282       return static_cast<T*
> (yyp);
   286     template <
typename T>
   290       const void *yyp = yybuffer_.yyraw;
   291       return static_cast<const T*
> (yyp);
   337     typedef YYSTYPE semantic_type;
   345       syntax_error (
const location_type& l, 
const std::string& m);
   380     enum { empty_symbol = -2 };
   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;
   482     make_END (
const location_type& l);
   486     make_DIGRAPH (
const location_type& l);
   490     make_EDGE (
const location_type& l);
   494     make_GRAPH (
const location_type& l);
   498     make_NODE (
const location_type& l);
   502     make_SUBGRAPH (
const location_type& l);
   506     make_LBRACE (
const location_type& l);
   510     make_RBRACE (
const location_type& l);
   514     make_LBRACKET (
const location_type& l);
   518     make_RBRACKET (
const location_type& l);
   522     make_EQ (
const location_type& l);
   526     make_ARROW (
const location_type& l);
   530     make_COLON (
const location_type& l);
   534     make_COMMA (
const location_type& l);
   538     make_SEMI (
const location_type& l);
   542     make_ID (
const string_t& 
v, 
const location_type& l);
   551     virtual int parse ();
   557     void set_debug_stream (
std::ostream &);
   564     void set_debug_level (debug_level_type l);
   570     virtual void error (
const location_type& loc, 
const std::string& msg);
   586     virtual std::string yysyntax_error_ (state_type yystate,
   587                                          const symbol_type& yyla) 
const;
   592     state_type yy_lr_goto_state_ (state_type yystate, 
int yysym);
   596     static bool yy_pact_value_is_default_ (
int yyvalue);
   600     static bool yy_table_value_is_error_ (
int yyvalue);
   606     static token_number_type yytranslate_ (token_type t);
   611   static const signed char yypact_[];
   616   static const unsigned char yydefact_[];
   619   static const signed char yypgoto_[];
   622   static const signed char yydefgoto_[];
   627   static const signed char yytable_[];
   629   static const unsigned char yycheck_[];
   633   static const unsigned char yystos_[];
   636   static const unsigned char yyr1_[];
   639   static const unsigned char yyr2_[];
   643     static std::string yytnamerr_ (
const char *n);
   647     static const char* 
const yytname_[];
   650   static const unsigned short int yyrline_[];
   652     virtual void yy_reduce_print_ (
int r);
   654     virtual void yystack_print_ ();
   663     template <
typename Base>
   671     template <
typename Base>
   698       symbol_number_type type_get () 
const;
   701       enum { empty_state = -1 };
   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>
   996     return Base::type_get () == empty_symbol;
   999   template <
typename Base>
  1004     super_type::move(s);
  1005       switch (this->type_get ())
  1040   parser::by_type::by_type ()
  1041     : 
type (empty_symbol)
  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 basic_symbol< by_type > symbol_type
"External" symbols: returned by the scanner. 
 
void copy(const self_type &other)
Copy the content of other to this. 
 
state_type kind_type
The symbol type as needed by the constructor. 
 
token_type token() const
The token. 
 
void move(self_type &other)
Move the content of other to this. 
 
T & as()
Accessor to a built T. 
 
location_type location
The location. 
 
static symbol_type make_SUBGRAPH(const location_type &l)
 
static symbol_type make_SEMI(const location_type &l)
 
static symbol_type make_RBRACKET(const location_type &l)
 
void move(by_type &that)
Steal the symbol type from that. 
 
static symbol_type make_ID(const string_t &v, const location_type &l)
 
static symbol_type make_LBRACKET(const location_type &l)
 
token::yytokentype token_type
(External) token type, as returned by yylex. 
 
int debug_level_type
Type for debugging levels. 
 
variant()
Empty construction. 
 
semantic_type value
The semantic value. 
 
Type access provider for token (enum) based symbols. 
 
stack_type yystack_
The stack. 
 
semantic_type value
The semantic value. 
 
Syntax errors thrown from user actions. 
 
static const signed char yytable_ninf_
 
symbol_number_type type_get() const
The (internal) type number (corresponding to type). 
 
stack< stack_symbol_type > stack_type
Stack type. 
 
variant< sizeof(union_type)> semantic_type
Symbol semantic values. 
 
boost::flyweight< std::string, boost::flyweights::no_tracking, boost::flyweights::intermodule_holder > symbol
An internalized string. 
 
T & build()
Instantiate an empty T in here. 
 
location_type location
The location. 
 
void clear()
Record that this symbol is empty. 
 
static symbol_type make_LBRACE(const location_type &l)
 
"Internal" symbol: element of the stack. 
 
void swap(self_type &other)
Swap the content with other, of same type. 
 
variant< S > self_type
Type of *this. 
 
static symbol_type make_ARROW(const location_type &l)
 
Provide a variadic mul on top of a binary mul(), and one(). 
 
State and public interface for Dot parsing. 
 
state_type state
The state. 
 
static symbol_type make_GRAPH(const location_type &l)
 
std::vector< string_t > states_t
 
An auxiliary type to compute the largest semantic type. 
 
std::ostream & dot(const Aut &aut, std::ostream &out=std::cout, format fmt={}, bool mathjax=false)
Print an automaton in Graphviz's Dot format. 
 
A char[S] buffer to store and retrieve objects. 
 
T & build(const T &t)
Instantiate a T in here from t. 
 
by_type()
Default constructor. 
 
syntax_error(const location_type &l, const std::string &m)
 
static symbol_type make_COLON(const location_type &l)
 
Type access provider for state based symbols. 
 
#define YY_ATTRIBUTE_PURE
 
variant(const T &t)
Construct and fill. 
 
Base super_type
Alias to Base. 
 
~variant()
Destruction, allowed only if empty. 
 
T * yyas_()
Accessor to raw memory as T. 
 
Define the vcsn::detail::dot::stack class. 
 
static const signed char yypact_ninf_
 
void swap(config::value &first, config::value &second)
 
static symbol_type make_DIGRAPH(const location_type &l)
 
static symbol_type make_NODE(const location_type &l)
 
unsigned char token_number_type
Internal symbol number for tokens (subsumed by symbol_number_type). 
 
std::vector< std::pair< string_t, string_t > > transitions_t
 
const T * yyas_() const
Const accessor to raw memory as T. 
 
int state_type
State numbers. 
 
static symbol_type make_COMMA(const location_type &l)
 
const T & as() const
Const accessor to a built T (for printer). 
 
static symbol_type make_EQ(const location_type &l)
 
static symbol_type make_END(const location_type &l)
 
static token_number_type yytranslate_(token_type t)
Convert a scanner token number t to a symbol number. 
 
token_type kind_type
The symbol type as needed by the constructor. 
 
static int debug_level()
Debug level set in the user's environment. 
 
transitions_t transitions
 
void destroy()
Destroy the stored T. 
 
static symbol_type make_RBRACE(const location_type &l)
 
static symbol_type make_EDGE(const location_type &l)
 
long double yyalign_me
Strongest alignment constraints. 
 
basic_symbol< by_state > super_type
Superclass. 
 
basic_symbol()
Default constructor. 
 
int symbol_number_type
Symbol type: an internal symbol number.