41#include "rheolef/basis.h"
42#include "rheolef/basis_get.h"
59# if _RHEOLEF_HAVE_ALLOCA_H
91static const std::string& symbol (
size_t i) {
return symbol_table[i]; }
92static size_t insert (
const std::string& str) {
97#pragma GCC diagnostic push
98#pragma GCC diagnostic ignored "-Weffc++"
99#define YYMALLOC ::malloc
101#include "basis_yacc.cc"
106#include "basis_lex.cc"
107#pragma GCC diagnostic pop
113static void basis_get_pass_2 (std::string& str);
121internal_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) \
166template void basis_raw_basic<T>::reset (std::string&); \
170#undef _RHEOLEF_instanciate
field::size_type size_type
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
#define error_macro(message)
This file is part of Rheolef.
void basis_error(const char *msg)
_RHEOLEF_instanciate(Float, sequential) _RHEOLEF_instanciate(Float
void basis_parse_from_string(const std::string &str, family_index_option_type &fio)