20 namespace atlas{
namespace interpreter{
27 :val(std::move(val)),tp(std::move(t)),is_constant(is_const){}
28 #ifdef incompletecpp11 65 shared_share address_of(
id_type id);
68 {
return table.find(
id)!=table.end();}
69 bool is_defined_type(
id_type id)
const;
76 size_t size()
const{
return table.size();}
77 void print(std::ostream&)
const;
89 :val(std::move(val)),tp(std::move(t)){}
90 #ifdef incompletecpp11 96 {val=std::move(x.
val);tp=std::move(x.
tp);
return*
this;}
110 #ifdef incompletecpp11 112 {
typedef std::vector<overload_data>Base;
117 :Base(){assert(x.size()==0);}
119 variant_list&
operator=(
const variant_list&x)=
delete;
132 const variant_list&variants(
id_type id)
const;
133 size_t size()
const{
return table.size();}
135 void print(std::ostream&)
const;
141 #line 1247 "global.w" 149 static const char*
name(){
return "integer";}
164 static const char*
name(){
return "integer";}
171 #line 1281 "global.w" 179 void print(std::ostream&
out)
const{out<<
'"'<<val<<
'"';}
181 static const char*
name(){
return "string";}
197 static const char*
name(){
return "Boolean";}
203 #line 1359 "global.w" 211 virtual void print(std::ostream&
out)
const;
213 static const char*
name(){
return "vector";}
220 #line 1381 "global.w" 227 virtual void print(std::ostream&
out)
const;
229 static const char*
name(){
return "matrix";}
251 virtual void print(std::ostream&
out)
const;
254 static const char*
name(){
return "rational vector";}
261 #line 1691 "global.w" 271 #line 1182 "global.w" 273 #line 1318 "global.w" 294 #line 1697 "global.w" 297 #line 2257 "global.w" 303 #line 2939 "global.w" 305 #line 3175 "global.w" 308 #line 1210 "global.w" 312 {
return str(static_cast<unsigned int>(c));}
313 #line 1328 "global.w" std::shared_ptr< const rational_vector_value > shared_rational_vector
Definition: global.h:259
size_t size() const
Definition: global.h:76
void global_set_identifier(const raw_id_pat &raw_pat, expr_p raw, int overload)
Definition: global.cpp:2091
char * loc
Definition: common.c:89
std::ostream * output_stream
Definition: global.cpp:21
void swap(type_expr &t) noexcept
Definition: axis-types.cpp:143
Id_table * global_id_table
Definition: global.cpp:17
vector_value * clone() const
Definition: global.h:212
std::map< id_type, id_data > map_type
Definition: global.h:54
rational_vector_value(const rational_vector_value &v)
Definition: global.h:256
int_value(const int_value &v)
Definition: global.h:151
int_Vector val
Definition: global.h:205
void type_define_identifier(id_type id, type_p t, raw_id_pat ip, const YYLTYPE &loc)
Definition: global.cpp:2131
type_expr & type()
Definition: global.h:48
std::vector< overload_data > variant_list
Definition: global.h:122
std::ostream & operator<<(std::ostream &out, const raw_type_list &l)
Definition: axis-types.cpp:218
map_type table
Definition: global.h:55
Definition: parse_types.h:51
overload_data(shared_function &&val, func_type &&t)
Definition: global.h:88
Hash_table::id_type id_type
Definition: parse_types.h:22
rational_vector_value(RatWeight &&v)
Definition: global.h:242
rational_vector_value * clone() const
Definition: global.h:252
const shared_function & value() const
Definition: global.h:103
void global_declare_identifier(id_type id, type_p t)
Definition: global.cpp:2099
uA p
Definition: lists.cpp:26
static const char * name()
Definition: global.h:149
int val
Definition: global.h:143
int verbosity
Definition: global.cpp:25
bool clean
Definition: global.cpp:23
void global_forget_overload(id_type id, type_p t)
Definition: global.cpp:2119
void show_overloads(id_type id)
Definition: global.cpp:2179
Definition: axis-types.h:116
void sizeof_vector_wrapper(expression_base::level l)
Definition: global.cpp:2264
void global_set_identifiers(const raw_let_list &d)
Definition: global.cpp:2094
void sizeof_string_wrapper(expression_base::level l)
Definition: global.cpp:2258
std::unique_ptr< expression_base > expression_ptr
Definition: axis-types.h:206
std::shared_ptr< const string_value > shared_string
Definition: global.h:186
static const char * name()
Definition: global.h:164
void type_of_expr(expr_p raw)
Definition: global.cpp:2170
rat_value(Rational v)
Definition: global.h:160
const shared_share & value() const
Definition: global.h:46
void print(std::ostream &out) const
Definition: global.h:147
const func_type & type() const
Definition: global.h:104
string_value(const string_value &v)
Definition: global.h:183
std::shared_ptr< rational_vector_value > own_rational_vector
Definition: global.h:260
bool_value * clone() const
Definition: global.h:196
rational_vector_value(const int_Vector &v, int d)
Definition: global.h:244
void id_mat_wrapper(expression_base::level l)
Definition: global.cpp:2297
const shared_bool global_false
Definition: global.cpp:27
matrix_value * clone() const
Definition: global.h:228
static const char * name()
Definition: global.h:229
std::shared_ptr< matrix_value > own_matrix
Definition: global.h:235
~matrix_value()
Definition: global.h:226
void mm_prod_wrapper(expression_base::level l)
Definition: global.cpp:2283
void virtual_module_size_wrapper(expression_base::level l)
Definition: atlas-types.cpp:3312
const shared_bool global_true
Definition: global.cpp:28
void show_ids()
Definition: global.cpp:2191
rat_value * clone() const
Definition: global.h:163
matrix_value(int_Matrix &&v)
Definition: global.h:225
void transpose_mat_wrapper(expression_base::level l)
Definition: global.cpp:2291
overload_table * global_overload_table
Definition: global.cpp:19
static const char * name()
Definition: global.h:181
bool is_const() const
Definition: global.h:50
vector_value(I begin, I end)
Definition: global.h:209
~vector_value()
Definition: global.h:210
~bool_value()
Definition: global.h:194
bool is_constant
Definition: global.h:24
std::shared_ptr< const vector_value > shared_vector
Definition: global.h:218
Definition: axis-types.h:51
string_value(std::string &&s)
Definition: global.h:176
Rational val
Definition: global.h:158
vector_value(const vector_value &v)
Definition: global.h:215
string_value * clone() const
Definition: global.h:180
rational_vector_value(int_Vector &&v, int d)
Definition: global.h:246
Definition: parser.tab.h:139
std::shared_ptr< int_value > own_int
Definition: global.h:155
size_t size() const
Definition: global.h:133
std::map< id_type, variant_list > map_type
Definition: global.h:124
func_type tp
Definition: global.h:86
int_value * clone() const
Definition: global.h:148
Definition: axis-types.h:91
RatWeight val
Definition: global.h:238
vector_value(std::vector< int > &&v)
Definition: global.h:208
std::string str(T n)
Definition: global.h:310
std::shared_ptr< const int_value > shared_int
Definition: global.h:154
type_expr analyse_types(const expr &e, expression_ptr &p)
Definition: global.cpp:2056
type_expr tp
Definition: global.h:24
std::shared_ptr< const bool_value > shared_bool
Definition: global.h:202
#define out(c)
Definition: cweave.c:205
bool_value(const bool_value &v)
Definition: global.h:199
const type_expr & type() const
Definition: global.h:47
void initialise_evaluator()
Definition: global.cpp:1886
static const char * name()
Definition: global.h:213
shared_bool whether(bool b)
Definition: global.h:314
int_value(int v)
Definition: global.h:145
bool present(id_type id) const
Definition: global.h:67
rational_vector_value(const RatWeight &v)
Definition: global.h:240
void(* wrapper_function)(expression_base::level)
Definition: global.h:262
rational_vector_value(I begin, I end, int d)
Definition: global.h:248
RationalVector & normalize()
Definition: ratvec.cpp:135
shared_function val
Definition: global.h:86
void swap(id_data &x)
Definition: global.h:44
vector_value(const std::vector< int > &v)
Definition: global.h:207
matrix_value(const matrix_value &v)
Definition: global.h:231
Id_table()
Definition: global.h:59
std::shared_ptr< rat_value > own_rat
Definition: global.h:170
void print(std::ostream &out) const
Definition: global.h:162
void global_forget_identifier(id_type id)
Definition: global.cpp:2113
static const char * name()
Definition: global.h:197
~string_value()
Definition: global.h:178
std::shared_ptr< vector_value > own_vector
Definition: global.h:219
id_data & operator=(id_data &&x)=default
char * name
Definition: common.c:103
void print(std::ostream &out) const
Definition: global.h:179
unsigned long n
Definition: axis.cpp:77
static const char * name()
Definition: global.h:254
simple_list< T, Alloc >::const_iterator end(const simple_list< T, Alloc > &l)
Definition: sl_list.h:650
void print(char *s,...)
Definition: common.c:861
bool_value(bool v)
Definition: global.h:193
string_value(const std::string &s)
Definition: global.h:175
int_Matrix val
Definition: global.h:222
void matrix_ncols_wrapper(expression_base::level l)
Definition: global.cpp:2276
std::shared_ptr< const matrix_value > shared_matrix
Definition: global.h:234
std::shared_ptr< const rat_value > shared_rat
Definition: global.h:169
overload_table()
Definition: global.h:130
void print(std::ostream &out) const
Definition: global.h:195
std::shared_ptr< string_value > own_string
Definition: global.h:187
const expr & e
Definition: axis.cpp:95
string_value(I begin, I end)
Definition: global.h:177
rat_value(const rat_value &v)
Definition: global.h:166
~rat_value()
Definition: global.h:161
Definition: parse_types.h:156
~rational_vector_value()
Definition: global.h:250
std::string val
Definition: global.h:173
void sizeof_ratvec_wrapper(expression_base::level l)
Definition: global.cpp:2270
level
Definition: axis-types.h:188
std::shared_ptr< shared_value > shared_share
Definition: global.h:22
shared_share val
Definition: global.h:24
void install_function(wrapper_function f, const char *name, const char *type_string)
Definition: global.cpp:2246
bool val
Definition: global.h:191
std::shared_ptr< const value_base > shared_value
Definition: axis-types.h:130
id_data(shared_share &&val, type_expr &&t, bool is_const)
Definition: global.h:26
matrix_value(const int_Matrix &v)
Definition: global.h:224
std::shared_ptr< const function_base > shared_function
Definition: global.h:80
Vertex v
Definition: graph.cpp:116
~int_value()
Definition: global.h:146
map_type table
Definition: global.h:126