src/mei/mei_node.h File Reference

| programmer's documentation

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Functions
mei_node.h File Reference

Nodal structure of the interpreter. More...

`#include "mei_hash_table.h"`
Include dependency graph for mei_node.h:

Go to the source code of this file.

## Data Structures
struct | const_node_t
| Constants node. More...
struct | id_node_t
| Identifiers node. More...
struct | func_node_t
| Function with single argument node. More...
struct | func2_node_t
| Function with two arguments node. More...
struct | interp1d_node_t
| Function of interpolation 1D. More...
struct | opr_node_t
| Operators node. More...
union | node_type_t
| Type of a node. More...
struct | mei_node_t
| General node definition. More...

## Functions
mei_node_t * | mei_const_node (const double value)
| Build a node for a constant. More...
mei_node_t * | mei_id_node (const char *variable)
| Build a node for a variable. More...
mei_node_t * | mei_func_node (const char *const, mei_node_t *const expr)
| Build a node for a function of a single variable. More...
mei_node_t * | mei_funcx_node (const char *function, const int nops,...)
| Build a node for a function of a several variables. More...
mei_node_t * | mei_interp1d_node (const char *function, const mei_node_t *data, const mei_node_t *col1, const mei_node_t *col2, const mei_node_t *expr)
| Build a node for an 1D interpolation. More...
mei_node_t * | mei_opr_node (const int oper, const int nops,...)
| Build a node for an operators and its operands. More...
char * | mei_label_node (mei_node_t *p)
| Return label of a node. More...
void | mei_free_node (mei_node_t *p)
| Free memory. More...

## Detailed Description

Nodal structure of the interpreter.

## Function Documentation

mei_node_t* mei_const_node | ( | const double | value | ) |

Build a node for a constant.

Parameters

  [in] | value | real value of the constant

Returns
  built node

void mei_free_node | ( | mei_node_t * | n | ) |

Free memory.

Parameters

  [in] | n | node

mei_node_t* mei_func_node | ( | const char * | function,
|  | mei_node_t *const | expr
| ) |  |

Build a node for a function of a single variable.

Parameters

  [in] | function | label of the function
  [in] | expr | node that represents the variable of the function

Returns
  built node

mei_node_t* mei_funcx_node | ( | const char * | function,
|  | const int | nops,
|  |  | ...
| ) |  |

Build a node for a function of a several variables.

Parameters

  [in] | function | label of the function
  [in] | nops | number of variables
  [in] | ... | list of nodes which represent variables of the function

Returns
  built node

mei_node_t* mei_id_node | ( | const char * | variable | ) |

Build a node for a variable.

Parameters

  [in] | variable | label of the variable

Returns
  built node

mei_node_t* mei_interp1d_node | ( | const char * | function,
|  | const mei_node_t * | data,
|  | const mei_node_t * | col1,
|  | const mei_node_t * | col2,
|  | const mei_node_t * | expr
| ) |  |

Build a node for an 1D interpolation.

Parameters

  [in] | function | interp1d
  [in] | data | name of the file which contains data
  [in] | col1 | abscissa for interpolation
  [in] | col2 | ordinate for interpolation
  [in] | expr | node that represents the variable to be interpolate

Returns
  built node

char* mei_label_node | ( | mei_node_t * | n | ) |

Return label of a node.

Parameters

  [in] | n | node

Returns
  label of a node

mei_node_t* mei_opr_node | ( | const int | oper,
|  | const int | nops,
|  |  | ...
| ) |  |

Build a node for an operators and its operands.

Parameters

  [in] | oper | operator
  [in] | nops | number of operand
  [in] | ... | list of nodes which represent operands

Returns
  built node