Loading...
Searching...
No Matches
blast-parser-parser.h
Go to the documentation of this file.
// A Bison parser, made by GNU Bison 3.8.2.
// Skeleton interface for Bison LALR(1) parsers in C++
// Copyright (C) 2002-2015, 2018-2021 Free Software Foundation, Inc.
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
// As a special exception, you may create a larger work that contains
// part or all of the Bison parser skeleton and distribute that work
// under terms of your choice, so long as that work isn't itself a
// parser generator using the skeleton or a modified version thereof
// as a parser skeleton. Alternatively, if you modify or redistribute
// the parser skeleton itself, you may (at your option) remove this
// special exception, which will cause the skeleton and the resulting
// Bison output files to be licensed under the GNU General Public
// License without this special exception.
// This special exception was added by the Free Software Foundation in
// version 2.2 of Bison.
// C++ LALR(1) parser skeleton written by Akim Demaille.
// DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
// especially those whose name start with YY_ or yy_. They are
// private implementation details that can be changed or removed.
#ifndef YY_YY_ROSTLAB_BLAST_PARSER_PARSER_H_INCLUDED
# define YY_YY_ROSTLAB_BLAST_PARSER_PARSER_H_INCLUDED
// "%code requires" blocks.
#line 24 "blast-parser-parser.ypp"
#include <string>
#include "rostlab/blast-result.h"
namespace rostlab { namespace blast { class parser_driver; } }
#line 55 "rostlab/blast-parser-parser.h"
# include <cstdlib> // std::abort
# include <iostream>
# include <stdexcept>
# include <string>
# include <vector>
#if defined __cplusplus
# define YY_CPLUSPLUS __cplusplus
#else
# define YY_CPLUSPLUS 199711L
#endif
// Support move semantics when possible.
#if 201103L <= YY_CPLUSPLUS
# define YY_MOVE std::move
# define YY_MOVE_OR_COPY move
# define YY_MOVE_REF(Type) Type&&
# define YY_RVREF(Type) Type&&
# define YY_COPY(Type) Type
#else
# define YY_MOVE
# define YY_MOVE_OR_COPY copy
# define YY_MOVE_REF(Type) Type&
# define YY_RVREF(Type) const Type&
# define YY_COPY(Type) const Type&
#endif
// Support noexcept when possible.
#if 201103L <= YY_CPLUSPLUS
# define YY_NOEXCEPT noexcept
# define YY_NOTHROW
#else
# define YY_NOEXCEPT
# define YY_NOTHROW throw ()
#endif
// Support constexpr when possible.
#if 201703 <= YY_CPLUSPLUS
# define YY_CONSTEXPR constexpr
#else
# define YY_CONSTEXPR
#endif
# include "rostlab/blast-parser-location.h"
#ifndef YY_ATTRIBUTE_PURE
# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
# else
# define YY_ATTRIBUTE_PURE
# endif
#endif
#ifndef YY_ATTRIBUTE_UNUSED
# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
# else
# define YY_ATTRIBUTE_UNUSED
# endif
#endif
/* Suppress unused-variable warnings by "using" E. */
#if ! defined lint || defined __GNUC__
# define YY_USE(E) ((void) (E))
#else
# define YY_USE(E) /* empty */
#endif
/* Suppress an incorrect diagnostic about yylval being uninitialized. */
#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
# if __GNUC__ * 100 + __GNUC_MINOR__ < 407
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
_Pragma ("GCC diagnostic push") \
_Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
# else
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
_Pragma ("GCC diagnostic push") \
_Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
_Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
# endif
# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
_Pragma ("GCC diagnostic pop")
#else
# define YY_INITIAL_VALUE(Value) Value
#endif
#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
# define YY_IGNORE_MAYBE_UNINITIALIZED_END
#endif
#ifndef YY_INITIAL_VALUE
# define YY_INITIAL_VALUE(Value) /* Nothing. */
#endif
#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
# define YY_IGNORE_USELESS_CAST_BEGIN \
_Pragma ("GCC diagnostic push") \
_Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
# define YY_IGNORE_USELESS_CAST_END \
_Pragma ("GCC diagnostic pop")
#endif
#ifndef YY_IGNORE_USELESS_CAST_BEGIN
# define YY_IGNORE_USELESS_CAST_BEGIN
# define YY_IGNORE_USELESS_CAST_END
#endif
# ifndef YY_CAST
# ifdef __cplusplus
# define YY_CAST(Type, Val) static_cast<Type> (Val)
# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
# else
# define YY_CAST(Type, Val) ((Type) (Val))
# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
# endif
# endif
# ifndef YY_NULLPTR
# if defined __cplusplus
# if 201103L <= __cplusplus
# define YY_NULLPTR nullptr
# else
# define YY_NULLPTR 0
# endif
# else
# define YY_NULLPTR ((void*)0)
# endif
# endif
/* Debug traces. */
#ifndef YYDEBUG
# define YYDEBUG 1
#endif
#line 22 "blast-parser-parser.ypp"
namespace rostlab { namespace blast {
#line 191 "rostlab/blast-parser-parser.h"
class parser
{
public:
#ifdef YYSTYPE
# ifdef __GNUC__
# pragma GCC message "bison: do not #define YYSTYPE in C++, use %define api.value.type"
# endif
typedef YYSTYPE value_type;
#else
union value_type
{
#line 47 "blast-parser-parser.ypp"
long int ival;
double dval;
std::string* sval;
#line 215 "rostlab/blast-parser-parser.h"
};
#endif
typedef value_type semantic_type;
typedef location location_type;
struct syntax_error : std::runtime_error
{
syntax_error (const location_type& l, const std::string& m)
: std::runtime_error (m)
, location (l)
{}
syntax_error (const syntax_error& s)
: std::runtime_error (s.what ())
, location (s.location)
{}
~syntax_error () YY_NOEXCEPT YY_NOTHROW;
location_type location;
};
struct token
{
enum token_kind_type
{
YYEMPTY = -2,
END = 0, // "end of file"
YYerror = 256, // error
YYUNDEF = 257, // "invalid token"
BLAST_VERSION = 258, // BLAST_VERSION
REFERENCE = 259, // REFERENCE
STRING = 260, // STRING
INT = 261, // INT
DBL = 262, // DBL
SEARCHING = 263, // SEARCHING
NOHITS = 264, // NOHITS
ONELINE_DESC_HEADER = 265, // ONELINE_DESC_HEADER
SEQ_FOUND_AGAIN = 266, // SEQ_FOUND_AGAIN
SEQ_FOUND_NEW = 267, // SEQ_FOUND_NEW
CONVERGED = 268, // CONVERGED
TAIL = 269, // TAIL
QUERYEQ = 270, // "Query="
DATABASECOLON = 271, // "Database:"
RESFROMROUND = 272, // "Results from round"
SCOREEQ = 273, // "Score ="
EXPECTEQ = 274, // "Expect ="
METHODCOLON = 275, // "Method:"
IDENTITIESEQ = 276, // "Identities ="
POSITIVESEQ = 277, // "Positives ="
GAPSEQ = 278, // "Gaps ="
STRANDEQ = 279, // "Strand ="
FRAMEEQ = 280, // "Frame ="
QUERYCOLON = 281, // "Query:"
SBJCTCOLON = 282 // "Sbjct:"
};
typedef token_kind_type yytokentype;
};
typedef token::token_kind_type token_kind_type;
typedef token_kind_type token_type;
struct symbol_kind
{
enum symbol_kind_type
{
YYNTOKENS = 31,
S_YYEMPTY = -2,
S_YYEOF = 0, // "end of file"
S_YYerror = 1, // error
S_YYUNDEF = 2, // "invalid token"
S_BLAST_VERSION = 3, // BLAST_VERSION
S_REFERENCE = 4, // REFERENCE
S_STRING = 5, // STRING
S_INT = 6, // INT
S_DBL = 7, // DBL
S_SEARCHING = 8, // SEARCHING
S_NOHITS = 9, // NOHITS
S_ONELINE_DESC_HEADER = 10, // ONELINE_DESC_HEADER
S_SEQ_FOUND_AGAIN = 11, // SEQ_FOUND_AGAIN
S_SEQ_FOUND_NEW = 12, // SEQ_FOUND_NEW
S_CONVERGED = 13, // CONVERGED
S_TAIL = 14, // TAIL
S_QUERYEQ = 15, // "Query="
S_DATABASECOLON = 16, // "Database:"
S_RESFROMROUND = 17, // "Results from round"
S_SCOREEQ = 18, // "Score ="
S_EXPECTEQ = 19, // "Expect ="
S_METHODCOLON = 20, // "Method:"
S_IDENTITIESEQ = 21, // "Identities ="
S_POSITIVESEQ = 22, // "Positives ="
S_GAPSEQ = 23, // "Gaps ="
S_STRANDEQ = 24, // "Strand ="
S_FRAMEEQ = 25, // "Frame ="
S_QUERYCOLON = 26, // "Query:"
S_SBJCTCOLON = 27, // "Sbjct:"
S_28_ = 28, // '>'
S_29_ = 29, // '/'
S_30_0_ = 30, // '0'
S_YYACCEPT = 31, // $accept
S_input = 32, // input
S_references = 33, // references
S_query = 34, // query
S_database = 35, // database
S_rounds = 36, // rounds
S_round = 37, // round
S_38_1 = 38, // $@1
S_outcome = 39, // outcome
S_resfromround = 40, // resfromround
S_converged = 41, // converged
S_hits = 42, // hits
S_oneline_descs = 43, // oneline_descs
S_oneline_desc = 44, // oneline_desc
S_num = 45, // num
S_hit = 46, // hit
S_hit_header = 47, // hit_header
S_hsps = 48, // hsps
S_hsp = 49, // hsp
S_hsp_headerfields = 50, // hsp_headerfields
S_hsp_headerfield = 51, // hsp_headerfield
S_alitriples = 52, // alitriples
S_alitriple = 53, // alitriple
S_tail = 54 // tail
};
};
typedef symbol_kind::symbol_kind_type symbol_kind_type;
static const symbol_kind_type YYNTOKENS = symbol_kind::YYNTOKENS;
template <typename Base>
struct basic_symbol : Base
{
typedef Base super_type;
basic_symbol () YY_NOEXCEPT
: value ()
, location ()
{}
#if 201103L <= YY_CPLUSPLUS
basic_symbol (basic_symbol&& that)
: Base (std::move (that))
, value (std::move (that.value))
, location (std::move (that.location))
{}
#endif
basic_symbol (const basic_symbol& that);
basic_symbol (typename Base::kind_type t,
YY_MOVE_REF (location_type) l);
basic_symbol (typename Base::kind_type t,
YY_RVREF (value_type) v,
YY_RVREF (location_type) l);
~basic_symbol ()
{
clear ();
}
void clear () YY_NOEXCEPT
{
Base::clear ();
}
std::string name () const YY_NOEXCEPT
{
return parser::symbol_name (this->kind ());
}
symbol_kind_type type_get () const YY_NOEXCEPT;
bool empty () const YY_NOEXCEPT;
void move (basic_symbol& s);
value_type value;
location_type location;
private:
#if YY_CPLUSPLUS < 201103L
basic_symbol& operator= (const basic_symbol& that);
#endif
};
struct by_kind
{
typedef token_kind_type kind_type;
by_kind () YY_NOEXCEPT;
#if 201103L <= YY_CPLUSPLUS
by_kind (by_kind&& that) YY_NOEXCEPT;
#endif
by_kind (const by_kind& that) YY_NOEXCEPT;
by_kind (kind_type t) YY_NOEXCEPT;
void clear () YY_NOEXCEPT;
void move (by_kind& that);
symbol_kind_type kind () const YY_NOEXCEPT;
symbol_kind_type type_get () const YY_NOEXCEPT;
symbol_kind_type kind_;
};
typedef by_kind by_type;
struct symbol_type : basic_symbol<by_kind>
{};
parser (rostlab::blast::parser_driver& drv_yyarg, void* yyscanner_yyarg);
virtual ~parser ();
#if 201103L <= YY_CPLUSPLUS
parser (const parser&) = delete;
parser& operator= (const parser&) = delete;
#endif
int operator() ();
virtual int parse ();
#if YYDEBUG
std::ostream& debug_stream () const YY_ATTRIBUTE_PURE;
void set_debug_stream (std::ostream &);
typedef int debug_level_type;
debug_level_type debug_level () const YY_ATTRIBUTE_PURE;
void set_debug_level (debug_level_type l);
#endif
virtual void error (const location_type& loc, const std::string& msg);
void error (const syntax_error& err);
static std::string symbol_name (symbol_kind_type yysymbol);
class context
{
public:
context (const parser& yyparser, const symbol_type& yyla);
const symbol_type& lookahead () const YY_NOEXCEPT { return yyla_; }
symbol_kind_type token () const YY_NOEXCEPT { return yyla_.kind (); }
const location_type& location () const YY_NOEXCEPT { return yyla_.location; }
int expected_tokens (symbol_kind_type yyarg[], int yyargn) const;
private:
const parser& yyparser_;
const symbol_type& yyla_;
};
private:
#if YY_CPLUSPLUS < 201103L
parser (const parser&);
parser& operator= (const parser&);
#endif
typedef signed char state_type;
int yy_syntax_error_arguments_ (const context& yyctx,
symbol_kind_type yyarg[], int yyargn) const;
virtual std::string yysyntax_error_ (const context& yyctx) const;
static state_type yy_lr_goto_state_ (state_type yystate, int yysym);
static bool yy_pact_value_is_default_ (int yyvalue) YY_NOEXCEPT;
static bool yy_table_value_is_error_ (int yyvalue) YY_NOEXCEPT;
static const signed char yypact_ninf_;
static const signed char yytable_ninf_;
static symbol_kind_type yytranslate_ (int t) YY_NOEXCEPT;
static std::string yytnamerr_ (const char *yystr);
static const char* const yytname_[];
// Tables.
// YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
// STATE-NUM.
static const signed char yypact_[];
// YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
// Performed when YYTABLE does not specify something else to do. Zero
// means the default is an error.
static const signed char yydefact_[];
// YYPGOTO[NTERM-NUM].
static const signed char yypgoto_[];
// YYDEFGOTO[NTERM-NUM].
static const signed char yydefgoto_[];
// YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
// positive, shift that token. If negative, reduce the rule whose
// number is the opposite. If YYTABLE_NINF, syntax error.
static const signed char yytable_[];
static const signed char yycheck_[];
// YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
// state STATE-NUM.
static const signed char yystos_[];
// YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM.
static const signed char yyr1_[];
// YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM.
static const signed char yyr2_[];
#if YYDEBUG
// YYRLINE[YYN] -- Source line where rule number YYN was defined.
static const unsigned char yyrline_[];
virtual void yy_reduce_print_ (int r) const;
virtual void yy_stack_print_ () const;
int yydebug_;
std::ostream* yycdebug_;
template <typename Base>
void yy_print_ (std::ostream& yyo, const basic_symbol<Base>& yysym) const;
#endif
template <typename Base>
void yy_destroy_ (const char* yymsg, basic_symbol<Base>& yysym) const;
private:
struct by_state
{
by_state () YY_NOEXCEPT;
typedef state_type kind_type;
by_state (kind_type s) YY_NOEXCEPT;
by_state (const by_state& that) YY_NOEXCEPT;
void clear () YY_NOEXCEPT;
void move (by_state& that);
symbol_kind_type kind () const YY_NOEXCEPT;
enum { empty_state = 0 };
state_type state;
};
struct stack_symbol_type : basic_symbol<by_state>
{
typedef basic_symbol<by_state> super_type;
stack_symbol_type ();
stack_symbol_type (YY_RVREF (stack_symbol_type) that);
stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) sym);
#if YY_CPLUSPLUS < 201103L
stack_symbol_type& operator= (stack_symbol_type& that);
stack_symbol_type& operator= (const stack_symbol_type& that);
#endif
};
template <typename T, typename S = std::vector<T> >
class stack
{
public:
// Hide our reversed order.
typedef typename S::iterator iterator;
typedef typename S::const_iterator const_iterator;
typedef typename S::size_type size_type;
typedef typename std::ptrdiff_t index_type;
stack (size_type n = 200) YY_NOEXCEPT
: seq_ (n)
{}
#if 201103L <= YY_CPLUSPLUS
stack (const stack&) = delete;
stack& operator= (const stack&) = delete;
#endif
const T&
operator[] (index_type i) const
{
return seq_[size_type (size () - 1 - i)];
}
T&
operator[] (index_type i)
{
return seq_[size_type (size () - 1 - i)];
}
void
push (YY_MOVE_REF (T) t)
{
seq_.push_back (T ());
operator[] (0).move (t);
}
void
pop (std::ptrdiff_t n = 1) YY_NOEXCEPT
{
for (; 0 < n; --n)
seq_.pop_back ();
}
void
clear () YY_NOEXCEPT
{
seq_.clear ();
}
index_type
size () const YY_NOEXCEPT
{
return index_type (seq_.size ());
}
const_iterator
begin () const YY_NOEXCEPT
{
return seq_.begin ();
}
const_iterator
end () const YY_NOEXCEPT
{
return seq_.end ();
}
class slice
{
public:
slice (const stack& stack, index_type range) YY_NOEXCEPT
: stack_ (stack)
, range_ (range)
{}
const T&
operator[] (index_type i) const
{
return stack_[range_ - i];
}
private:
const stack& stack_;
index_type range_;
};
private:
#if YY_CPLUSPLUS < 201103L
stack (const stack&);
stack& operator= (const stack&);
#endif
S seq_;
};
typedef stack<stack_symbol_type> stack_type;
stack_type yystack_;
void yypush_ (const char* m, YY_MOVE_REF (stack_symbol_type) sym);
void yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym);
void yypop_ (int n = 1) YY_NOEXCEPT;
enum
{
yylast_ = 81,
yynnts_ = 24,
yyfinal_ = 6
};
// User arguments.
rostlab::blast::parser_driver& drv;
void* yyscanner;
};
#line 22 "blast-parser-parser.ypp"
} } // rostlab::blast
#line 876 "rostlab/blast-parser-parser.h"
#endif // !YY_YY_ROSTLAB_BLAST_PARSER_PARSER_H_INCLUDED
blast-parser-location.h
YY_RVREF
#define YY_RVREF(Type)
Definition blast-parser-parser.h:80
YY_MOVE_REF
#define YY_MOVE_REF(Type)
Definition blast-parser-parser.h:79
YY_NOEXCEPT
#define YY_NOEXCEPT
Definition blast-parser-parser.h:89
YY_ATTRIBUTE_PURE
#define YY_ATTRIBUTE_PURE
Definition blast-parser-parser.h:106
YY_NOTHROW
#define YY_NOTHROW
Definition blast-parser-parser.h:90
blast-result.h
rostlab::blast::location
Two points in a source file.
Definition blast-parser-location.h:167
rostlab::blast::parser::context
Definition blast-parser-parser.h:533
rostlab::blast::parser::context::context
context(const parser &yyparser, const symbol_type &yyla)
rostlab::blast::parser::context::expected_tokens
int expected_tokens(symbol_kind_type yyarg[], int yyargn) const
rostlab::blast::parser::context::lookahead
const symbol_type & lookahead() const YY_NOEXCEPT
Definition blast-parser-parser.h:536
rostlab::blast::parser::context::location
const location_type & location() const YY_NOEXCEPT
Definition blast-parser-parser.h:538
rostlab::blast::parser::context::token
symbol_kind_type token() const YY_NOEXCEPT
Definition blast-parser-parser.h:537
rostlab::blast::parser::stack::slice::slice
slice(const stack &stack, index_type range) YY_NOEXCEPT
Definition blast-parser-parser.h:805
rostlab::blast::parser_driver
Blast (default, -m 0) output parser.
Definition blast-parser-driver.h:59
rostlab::blast::parser::error
void error(const syntax_error &err)
Report a syntax error.
rostlab::blast::parser::debug_stream
std::ostream & debug_stream() const YY_ATTRIBUTE_PURE
The current debugging stream.
rostlab::blast::parser::set_debug_stream
void set_debug_stream(std::ostream &)
Set the current debugging stream.
rostlab::blast::parser::parser
parser(rostlab::blast::parser_driver &drv_yyarg, void *yyscanner_yyarg)
Build a parser object.
rostlab::blast::parser::semantic_type
value_type semantic_type
Backward compatibility (Bison 3.8).
Definition blast-parser-parser.h:219
rostlab::blast::parser::symbol_kind_type
symbol_kind::symbol_kind_type symbol_kind_type
(Internal) symbol kind.
Definition blast-parser-parser.h:353
rostlab::blast::parser::error
virtual void error(const location_type &loc, const std::string &msg)
rostlab::blast::parser::debug_level
debug_level_type debug_level() const YY_ATTRIBUTE_PURE
The current debugging level.
rostlab::blast::parser::token_type
token_kind_type token_type
Backward compatibility alias (Bison 3.6).
Definition blast-parser-parser.h:285
rostlab::blast::parser::by_type
by_kind by_type
Backward compatibility for a private implementation detail (Bison 3.6).
Definition blast-parser-parser.h:479
rostlab::blast::parser::token_kind_type
token::token_kind_type token_kind_type
Token kind, as returned by yylex.
Definition blast-parser-parser.h:282
rostlab::blast::parser::parse
virtual int parse()
rostlab::blast::parser::symbol_name
static std::string symbol_name(symbol_kind_type yysymbol)
rostlab::blast::parser::set_debug_level
void set_debug_level(debug_level_type l)
Set the current debugging level.
rostlab::blast::parser::YYNTOKENS
static const symbol_kind_type YYNTOKENS
The number of tokens.
Definition blast-parser-parser.h:356
rostlab::blast::parser::location_type
location location_type
Symbol locations.
Definition blast-parser-parser.h:222
rostlab::blast::parser::debug_level_type
int debug_level_type
Type for debugging levels.
Definition blast-parser-parser.h:511
rostlab::blast::parser::~parser
virtual ~parser()
rostlab::blast
Definition blast-parser-driver.h:47
rostlab
Definition blast-parser-driver.h:45
rostlab::blast::parser::basic_symbol
Definition blast-parser-parser.h:366
rostlab::blast::parser::basic_symbol::basic_symbol
basic_symbol(typename Base::kind_type t, YY_MOVE_REF(location_type) l)
Constructor for valueless symbols.
rostlab::blast::parser::basic_symbol< by_state >::move
void move(basic_symbol &s)
rostlab::blast::parser::basic_symbol::name
std::string name() const YY_NOEXCEPT
The user-facing name of this symbol.
Definition blast-parser-parser.h:411
rostlab::blast::parser::basic_symbol::type_get
symbol_kind_type type_get() const YY_NOEXCEPT
Backward compatibility (Bison 3.6).
rostlab::blast::parser::basic_symbol< by_state >::value
value_type value
Definition blast-parser-parser.h:426
rostlab::blast::parser::basic_symbol< by_state >::location
location_type location
Definition blast-parser-parser.h:429
rostlab::blast::parser::basic_symbol::basic_symbol
basic_symbol(typename Base::kind_type t, YY_RVREF(value_type) v, YY_RVREF(location_type) l)
Constructor for symbols with semantic value.
rostlab::blast::parser::basic_symbol::super_type
Base super_type
Alias to Base.
Definition blast-parser-parser.h:368
rostlab::blast::parser::basic_symbol::basic_symbol
basic_symbol(const basic_symbol &that)
Copy constructor.
rostlab::blast::parser::basic_symbol::basic_symbol
basic_symbol() YY_NOEXCEPT
Default constructor.
Definition blast-parser-parser.h:371
rostlab::blast::parser::basic_symbol::~basic_symbol
~basic_symbol()
Destroy the symbol.
Definition blast-parser-parser.h:397
rostlab::blast::parser::basic_symbol< by_state >::empty
bool empty() const YY_NOEXCEPT
rostlab::blast::parser::basic_symbol< by_state >::clear
void clear() YY_NOEXCEPT
Definition blast-parser-parser.h:405
rostlab::blast::parser::by_kind
Type access provider for token (enum) based symbols.
Definition blast-parser-parser.h:440
rostlab::blast::parser::by_kind::clear
void clear() YY_NOEXCEPT
Record that this symbol is empty.
rostlab::blast::parser::by_kind::move
void move(by_kind &that)
Steal the symbol kind from that.
rostlab::blast::parser::by_kind::kind
symbol_kind_type kind() const YY_NOEXCEPT
rostlab::blast::parser::by_kind::by_kind
by_kind() YY_NOEXCEPT
Default constructor.
rostlab::blast::parser::by_kind::kind_
symbol_kind_type kind_
Definition blast-parser-parser.h:475
rostlab::blast::parser::by_kind::by_kind
by_kind(const by_kind &that) YY_NOEXCEPT
Copy constructor.
rostlab::blast::parser::by_kind::by_kind
by_kind(kind_type t) YY_NOEXCEPT
Constructor from (external) token numbers.
rostlab::blast::parser::by_kind::type_get
symbol_kind_type type_get() const YY_NOEXCEPT
Backward compatibility (Bison 3.6).
rostlab::blast::parser::by_kind::kind_type
token_kind_type kind_type
The symbol kind as needed by the constructor.
Definition blast-parser-parser.h:442
rostlab::blast::parser::symbol_kind
Symbol kinds.
Definition blast-parser-parser.h:289
rostlab::blast::parser::symbol_kind::symbol_kind_type
symbol_kind_type
Definition blast-parser-parser.h:291
rostlab::blast::parser::symbol_kind::S_tail
@ S_tail
Definition blast-parser-parser.h:348
rostlab::blast::parser::symbol_kind::S_database
@ S_database
Definition blast-parser-parser.h:329
rostlab::blast::parser::symbol_kind::S_30_0_
@ S_30_0_
Definition blast-parser-parser.h:324
rostlab::blast::parser::symbol_kind::S_SEQ_FOUND_AGAIN
@ S_SEQ_FOUND_AGAIN
Definition blast-parser-parser.h:305
rostlab::blast::parser::symbol_kind::S_query
@ S_query
Definition blast-parser-parser.h:328
rostlab::blast::parser::symbol_kind::S_REFERENCE
@ S_REFERENCE
Definition blast-parser-parser.h:298
rostlab::blast::parser::symbol_kind::S_input
@ S_input
Definition blast-parser-parser.h:326
rostlab::blast::parser::symbol_kind::S_SCOREEQ
@ S_SCOREEQ
Definition blast-parser-parser.h:312
rostlab::blast::parser::symbol_kind::S_rounds
@ S_rounds
Definition blast-parser-parser.h:330
rostlab::blast::parser::symbol_kind::S_DBL
@ S_DBL
Definition blast-parser-parser.h:301
rostlab::blast::parser::symbol_kind::S_SBJCTCOLON
@ S_SBJCTCOLON
Definition blast-parser-parser.h:321
rostlab::blast::parser::symbol_kind::S_hits
@ S_hits
Definition blast-parser-parser.h:336
rostlab::blast::parser::symbol_kind::S_STRING
@ S_STRING
Definition blast-parser-parser.h:299
rostlab::blast::parser::symbol_kind::S_resfromround
@ S_resfromround
Definition blast-parser-parser.h:334
rostlab::blast::parser::symbol_kind::S_GAPSEQ
@ S_GAPSEQ
Definition blast-parser-parser.h:317
rostlab::blast::parser::symbol_kind::S_STRANDEQ
@ S_STRANDEQ
Definition blast-parser-parser.h:318
rostlab::blast::parser::symbol_kind::S_INT
@ S_INT
Definition blast-parser-parser.h:300
rostlab::blast::parser::symbol_kind::S_BLAST_VERSION
@ S_BLAST_VERSION
Definition blast-parser-parser.h:297
rostlab::blast::parser::symbol_kind::S_SEQ_FOUND_NEW
@ S_SEQ_FOUND_NEW
Definition blast-parser-parser.h:306
rostlab::blast::parser::symbol_kind::S_round
@ S_round
Definition blast-parser-parser.h:331
rostlab::blast::parser::symbol_kind::S_YYEOF
@ S_YYEOF
Definition blast-parser-parser.h:294
rostlab::blast::parser::symbol_kind::S_hsp_headerfield
@ S_hsp_headerfield
Definition blast-parser-parser.h:345
rostlab::blast::parser::symbol_kind::S_alitriples
@ S_alitriples
Definition blast-parser-parser.h:346
rostlab::blast::parser::symbol_kind::S_28_
@ S_28_
Definition blast-parser-parser.h:322
rostlab::blast::parser::symbol_kind::S_SEARCHING
@ S_SEARCHING
Definition blast-parser-parser.h:302
rostlab::blast::parser::symbol_kind::S_converged
@ S_converged
Definition blast-parser-parser.h:335
rostlab::blast::parser::symbol_kind::S_outcome
@ S_outcome
Definition blast-parser-parser.h:333
rostlab::blast::parser::symbol_kind::S_CONVERGED
@ S_CONVERGED
Definition blast-parser-parser.h:307
rostlab::blast::parser::symbol_kind::S_references
@ S_references
Definition blast-parser-parser.h:327
rostlab::blast::parser::symbol_kind::S_hsp
@ S_hsp
Definition blast-parser-parser.h:343
rostlab::blast::parser::symbol_kind::S_EXPECTEQ
@ S_EXPECTEQ
Definition blast-parser-parser.h:313
rostlab::blast::parser::symbol_kind::S_hsp_headerfields
@ S_hsp_headerfields
Definition blast-parser-parser.h:344
rostlab::blast::parser::symbol_kind::S_oneline_descs
@ S_oneline_descs
Definition blast-parser-parser.h:337
rostlab::blast::parser::symbol_kind::S_29_
@ S_29_
Definition blast-parser-parser.h:323
rostlab::blast::parser::symbol_kind::S_DATABASECOLON
@ S_DATABASECOLON
Definition blast-parser-parser.h:310
rostlab::blast::parser::symbol_kind::S_YYEMPTY
@ S_YYEMPTY
Definition blast-parser-parser.h:293
rostlab::blast::parser::symbol_kind::S_POSITIVESEQ
@ S_POSITIVESEQ
Definition blast-parser-parser.h:316
rostlab::blast::parser::symbol_kind::S_hit
@ S_hit
Definition blast-parser-parser.h:340
rostlab::blast::parser::symbol_kind::S_hit_header
@ S_hit_header
Definition blast-parser-parser.h:341
rostlab::blast::parser::symbol_kind::S_num
@ S_num
Definition blast-parser-parser.h:339
rostlab::blast::parser::symbol_kind::S_RESFROMROUND
@ S_RESFROMROUND
Definition blast-parser-parser.h:311
rostlab::blast::parser::symbol_kind::S_NOHITS
@ S_NOHITS
Definition blast-parser-parser.h:303
rostlab::blast::parser::symbol_kind::S_YYACCEPT
@ S_YYACCEPT
Definition blast-parser-parser.h:325
rostlab::blast::parser::symbol_kind::S_alitriple
@ S_alitriple
Definition blast-parser-parser.h:347
rostlab::blast::parser::symbol_kind::S_oneline_desc
@ S_oneline_desc
Definition blast-parser-parser.h:338
rostlab::blast::parser::symbol_kind::S_YYUNDEF
@ S_YYUNDEF
Definition blast-parser-parser.h:296
rostlab::blast::parser::symbol_kind::S_38_1
@ S_38_1
Definition blast-parser-parser.h:332
rostlab::blast::parser::symbol_kind::S_QUERYCOLON
@ S_QUERYCOLON
Definition blast-parser-parser.h:320
rostlab::blast::parser::symbol_kind::S_YYerror
@ S_YYerror
Definition blast-parser-parser.h:295
rostlab::blast::parser::symbol_kind::S_ONELINE_DESC_HEADER
@ S_ONELINE_DESC_HEADER
Definition blast-parser-parser.h:304
rostlab::blast::parser::symbol_kind::YYNTOKENS
@ YYNTOKENS
Number of tokens.
Definition blast-parser-parser.h:292
rostlab::blast::parser::symbol_kind::S_IDENTITIESEQ
@ S_IDENTITIESEQ
Definition blast-parser-parser.h:315
rostlab::blast::parser::symbol_kind::S_QUERYEQ
@ S_QUERYEQ
Definition blast-parser-parser.h:309
rostlab::blast::parser::symbol_kind::S_FRAMEEQ
@ S_FRAMEEQ
Definition blast-parser-parser.h:319
rostlab::blast::parser::symbol_kind::S_TAIL
@ S_TAIL
Definition blast-parser-parser.h:308
rostlab::blast::parser::symbol_kind::S_hsps
@ S_hsps
Definition blast-parser-parser.h:342
rostlab::blast::parser::symbol_kind::S_METHODCOLON
@ S_METHODCOLON
Definition blast-parser-parser.h:314
rostlab::blast::parser::symbol_type
"External" symbols: returned by the scanner.
Definition blast-parser-parser.h:483
rostlab::blast::parser::syntax_error
Syntax errors thrown from user actions.
Definition blast-parser-parser.h:226
rostlab::blast::parser::syntax_error::syntax_error
syntax_error(const syntax_error &s)
Definition blast-parser-parser.h:232
rostlab::blast::parser::syntax_error::location
location_type location
Definition blast-parser-parser.h:239
rostlab::blast::parser::syntax_error::~syntax_error
~syntax_error() YY_NOEXCEPT YY_NOTHROW
rostlab::blast::parser::syntax_error::syntax_error
syntax_error(const location_type &l, const std::string &m)
Definition blast-parser-parser.h:227
rostlab::blast::parser::token
Token kinds.
Definition blast-parser-parser.h:244
rostlab::blast::parser::token::yytokentype
token_kind_type yytokentype
Backward compatibility alias (Bison 3.6).
Definition blast-parser-parser.h:278
rostlab::blast::parser::token::token_kind_type
token_kind_type
Definition blast-parser-parser.h:246
rostlab::blast::parser::token::INT
@ INT
Definition blast-parser-parser.h:254
rostlab::blast::parser::token::SEARCHING
@ SEARCHING
Definition blast-parser-parser.h:256
rostlab::blast::parser::token::REFERENCE
@ REFERENCE
Definition blast-parser-parser.h:252
rostlab::blast::parser::token::METHODCOLON
@ METHODCOLON
Definition blast-parser-parser.h:268
rostlab::blast::parser::token::CONVERGED
@ CONVERGED
Definition blast-parser-parser.h:261
rostlab::blast::parser::token::BLAST_VERSION
@ BLAST_VERSION
Definition blast-parser-parser.h:251
rostlab::blast::parser::token::STRING
@ STRING
Definition blast-parser-parser.h:253
rostlab::blast::parser::token::SEQ_FOUND_NEW
@ SEQ_FOUND_NEW
Definition blast-parser-parser.h:260
rostlab::blast::parser::token::YYerror
@ YYerror
Definition blast-parser-parser.h:249
rostlab::blast::parser::token::EXPECTEQ
@ EXPECTEQ
Definition blast-parser-parser.h:267
rostlab::blast::parser::token::QUERYCOLON
@ QUERYCOLON
Definition blast-parser-parser.h:274
rostlab::blast::parser::token::END
@ END
Definition blast-parser-parser.h:248
rostlab::blast::parser::token::IDENTITIESEQ
@ IDENTITIESEQ
Definition blast-parser-parser.h:269
rostlab::blast::parser::token::TAIL
@ TAIL
Definition blast-parser-parser.h:262
rostlab::blast::parser::token::SEQ_FOUND_AGAIN
@ SEQ_FOUND_AGAIN
Definition blast-parser-parser.h:259
rostlab::blast::parser::token::RESFROMROUND
@ RESFROMROUND
Definition blast-parser-parser.h:265
rostlab::blast::parser::token::FRAMEEQ
@ FRAMEEQ
Definition blast-parser-parser.h:273
rostlab::blast::parser::token::STRANDEQ
@ STRANDEQ
Definition blast-parser-parser.h:272
rostlab::blast::parser::token::DATABASECOLON
@ DATABASECOLON
Definition blast-parser-parser.h:264
rostlab::blast::parser::token::NOHITS
@ NOHITS
Definition blast-parser-parser.h:257
rostlab::blast::parser::token::QUERYEQ
@ QUERYEQ
Definition blast-parser-parser.h:263
rostlab::blast::parser::token::POSITIVESEQ
@ POSITIVESEQ
Definition blast-parser-parser.h:270
rostlab::blast::parser::token::YYEMPTY
@ YYEMPTY
Definition blast-parser-parser.h:247
rostlab::blast::parser::token::SCOREEQ
@ SCOREEQ
Definition blast-parser-parser.h:266
rostlab::blast::parser::token::GAPSEQ
@ GAPSEQ
Definition blast-parser-parser.h:271
rostlab::blast::parser::token::ONELINE_DESC_HEADER
@ ONELINE_DESC_HEADER
Definition blast-parser-parser.h:258
rostlab::blast::parser::token::DBL
@ DBL
Definition blast-parser-parser.h:255
rostlab::blast::parser::token::YYUNDEF
@ YYUNDEF
Definition blast-parser-parser.h:250
rostlab::blast::parser::token::SBJCTCOLON
@ SBJCTCOLON
Definition blast-parser-parser.h:275
rostlab::blast::parser::value_type
Symbol semantic values.
Definition blast-parser-parser.h:207
rostlab::blast::parser::value_type::sval
std::string * sval
Definition blast-parser-parser.h:212
rostlab::blast::parser::value_type::dval
double dval
Definition blast-parser-parser.h:211
rostlab::blast::parser::value_type::ival
long int ival
Definition blast-parser-parser.h:210