41 #include "rheolef/basis.h"
42 #include "rheolef/basis_get.h"
59 # if _RHEOLEF_HAVE_ALLOCA_H
91 static const std::string& symbol (
size_t i) {
return symbol_table[i]; }
92 static size_t insert (
const std::string& str) {
97 #pragma GCC diagnostic push
98 #pragma GCC diagnostic ignored "-Weffc++"
99 #define YYMALLOC ::malloc
100 #define YYFREE ::free
101 #include "basis_yacc.cc"
106 #include "basis_lex.cc"
107 #pragma GCC diagnostic pop
113 static void basis_get_pass_2 (std::string& str);
121 internal_build_fio_from_string (
const std::string& str)
123 std::istringstream istrstr;
126 std::string str_eol = str +
";";
127 istrstr.str (str_eol);
136 error_macro (
"invalid basis name: \"" << str <<
"\"");
144 internal_build_fio_from_string (str);
156 internal_build_fio_from_string (str);
165 #define _RHEOLEF_instanciate(T) \
166 template void basis_raw_basic<T>::reset (std::string&); \
170 #undef _RHEOLEF_instanciate
#define _RHEOLEF_instanciate(T)
see the Float page for the full documentation
void reset(std::string &name)
static std::vector< std::string > symbol_table
static family_index_option_type _current_fio
static size_type basis_line_no
static size_type basis_n_error
static yyFlexLexer input_basis
static std::string basis_input_string
This file is part of Rheolef.
void basis_parse_from_string(const std::string &str, family_index_option_type &fio)
std::string itos(std::string::size_type i)
itos: see the rheostream page for the full documentation
void basis_error(const char *msg)