PIPS
bootstrap-local.h
Go to the documentation of this file.
1
/*
2
3
$Id: bootstrap-local.h 23065 2016-03-02 09:05:50Z coelho $
4
5
Copyright 1989-2016 MINES ParisTech
6
7
This file is part of PIPS.
8
9
PIPS is free software: you can redistribute it and/or modify it
10
under the terms of the GNU General Public License as published by
11
the Free Software Foundation, either version 3 of the License, or
12
any later version.
13
14
PIPS is distributed in the hope that it will be useful, but WITHOUT ANY
15
WARRANTY; without even the implied warranty of MERCHANTABILITY or
16
FITNESS FOR A PARTICULAR PURPOSE.
17
18
See the GNU General Public License for more details.
19
20
You should have received a copy of the GNU General Public License
21
along with PIPS. If not, see <http://www.gnu.org/licenses/>.
22
23
*/
24
25
/* should be some properties to accomodate cray codes?? */
26
#define INT_LENGTH 4
27
#define REAL_LENGTH 4
28
#define DOUBLE_LENGTH 8
29
#define COMPLEX_LENGTH 8
30
#define DCOMPLEX_LENGTH 16
31
32
/* context for type checking. */
33
typedef
struct
34
{
35
hash_table
types
;
36
stack
stats
;
37
int
number_of_error
;
38
int
number_of_conversion
;
39
int
number_of_simplication
;
40
}
type_context_t
, *
type_context_p
;
41
42
typedef
basic
(*
typing_function_t
)(
call
,
type_context_p
);
43
44
typedef
void (*
switch_name_function
)(
expression
,
type_context_p
);
45
46
/* The following data structure describes an intrinsic function: its
47
name and its arity and its type, a function to type it (?) and a
48
function to obtain its name if it is different from the entity user
49
name, e.g. because of special characters or name collisions. */
50
51
typedef
struct
IntrinsicDescriptor
52
{
53
string
name
;
54
int
nbargs
;
55
type
(*
intrinsic_type
)(
int
);
56
typing_function_t
type_function
;
57
switch_name_function
name_function
;
58
}
IntrinsicDescriptor
;
expression
struct _newgen_struct_expression_ * expression
Definition:
alias_private.h:21
int
void const char const char const int
Definition:
arithmetique-local.h:585
IntrinsicDescriptor
struct IntrinsicDescriptor IntrinsicDescriptor
The following data structure describes an intrinsic function: its name and its arity and its type,...
type_context_p
struct type_context_t * type_context_p
typing_function_t
basic(* typing_function_t)(call, type_context_p)
Definition:
bootstrap-local.h:42
switch_name_function
void(* switch_name_function)(expression, type_context_p)
Definition:
bootstrap-local.h:44
type
struct _newgen_struct_type_ * type
Definition:
c_parser_private.h:21
call
struct _newgen_struct_call_ * call
Definition:
ri.h:63
basic
struct _newgen_struct_basic_ * basic
Definition:
ri.h:47
IntrinsicDescriptor
The following data structure describes an intrinsic function: its name and its arity and its type,...
Definition:
bootstrap-local.h:52
IntrinsicDescriptor::name
string name
Definition:
bootstrap-local.h:53
IntrinsicDescriptor::intrinsic_type
type(* intrinsic_type)(int)
Definition:
bootstrap-local.h:55
IntrinsicDescriptor::name_function
switch_name_function name_function
Definition:
bootstrap-local.h:57
IntrinsicDescriptor::type_function
typing_function_t type_function
Definition:
bootstrap-local.h:56
IntrinsicDescriptor::nbargs
int nbargs
Definition:
bootstrap-local.h:54
__hash_table
Definition:
hash.c:64
__stack_head
the stack head
Definition:
stack.c:62
type_context_t
context for type checking.
Definition:
bootstrap-local.h:34
type_context_t::number_of_conversion
int number_of_conversion
Definition:
bootstrap-local.h:38
type_context_t::types
hash_table types
Definition:
bootstrap-local.h:35
type_context_t::stats
stack stats
Definition:
bootstrap-local.h:36
type_context_t::number_of_simplication
int number_of_simplication
Definition:
bootstrap-local.h:39
type_context_t::number_of_error
int number_of_error
Definition:
bootstrap-local.h:37
pips
src
Libs
bootstrap
bootstrap-local.h
Generated on Thu Sep 26 2024 22:11:33 for PIPS by
1.9.1