No Clock  1.0.2
Constructors / Destructors

Create or destroy expressions. More...

Functions

expression * expression_alloc (void)
 Allocate and initialize an expression. More...
 
void expression_clean (expression *e)
 Clean an expression. More...
 
expression * expression_copy (const expression *e)
 Copy an expression. More...
 
void expression_free (expression *e)
 Free an expression. More...
 
expression * expression_from_boolean (bool boolean)
 Create an expression from a boolean. More...
 
expression * expression_from_identifier (const char *identifier)
 Create an expression from an identifier. More...
 
expression * expression_from_number (long int number)
 Create an expression from a number. More...
 
void expression_init (expression *e)
 Initialize an expression. More...
 

Detailed Description

Create or destroy expressions.

Since
version 1.0.0

Blank expressions can be created with expression_alloc(). Any expression created via expression_alloc() can be destroyed with expression_free(). An expression can be copied with expression_copy().

It is also possible to directly create constant expressions from:

Warning
It is strongly advised not to use expression_init() and expression_clean() unless you know what you are doing!

Function Documentation

expression * expression_alloc ( void  )
related

Allocate and initialize an expression.

Since
version 1.0.0
Returns
A pointer to the newly allocated expression.
Note
It is not needed to initialize the resulting expression using expression_init().
void expression_clean ( expression *  e)
related

Clean an expression.

Since
version 1.0.0
Parameters
eA pointer to the expression to clean.
Note
This function is already called by expression_free().
expression * expression_copy ( const expression *  e)
related

Copy an expression.

Since
version 1.0.0
Parameters
eA pointer to the expression to copy.
Returns
A pointer to the copy.
void expression_free ( expression *  e)
related

Free an expression.

Since
version 1.0.0
Parameters
eA pointer to the expression to free.
expression * expression_from_boolean ( bool  boolean)
related

Create an expression from a boolean.

Since
version 1.0.0
Parameters
booleanInput boolean.
Returns
The resulting expression.
expression * expression_from_identifier ( const char *  identifier)
related

Create an expression from an identifier.

Since
version 1.0.0
Parameters
identifierInput identifier.
Returns
The resulting expression.
expression * expression_from_number ( long int  number)
related

Create an expression from a number.

Since
version 1.0.0
Parameters
numberInput number.
Returns
The resulting expression.
void expression_init ( expression *  e)
related

Initialize an expression.

Since
version 1.0.0
Parameters
eA pointer to the expression to initialize.
Note
This function is already called by expression_alloc().