No Clock  1.0.2
Constructors / Destructors

Create or destroy an instruction. More...

Functions

instruction * instruction_advance (void)
 Build an advance. More...
 
instruction * instruction_alloc (void)
 Allocate an instruction. More...
 
instruction * instruction_async (instruction_list *block)
 Build an async block. More...
 
instruction * instruction_clocked_async (instruction_list *block)
 Build a clocked async block. More...
 
instruction * instruction_clocked_finish (instruction_list *block)
 Build a clocked finish block. More...
 
instruction * instruction_finish (instruction_list *block)
 Build a finish block. More...
 
instruction * instruction_for_loop (char *identifier, expression *left, expression *right, instruction_list *body)
 Build a for loop. More...
 
void instruction_free (instruction *i)
 Free an instruction. More...
 
instruction * instruction_function_call (char *identifier, expression_list *arguments)
 Build a function call instruction. More...
 
instruction * instruction_if_then_else (bool has_else, expression *condition, instruction_list *true_body, instruction_list *false_body)
 Build a branch. More...
 

Detailed Description

Create or destroy an instruction.

An instruction can be created using instruction_alloc() and destroyed using instruction_free().

Function Documentation

instruction * instruction_advance ( void  )
related

Build an advance.

Since
version 1.0.0
Returns
The resulting instruction.
instruction * instruction_alloc ( void  )
related

Allocate an instruction.

Since
version 1.0.0
Returns
The newly allocated instruction.
instruction * instruction_async ( instruction_list *  block)
related

Build an async block.

Since
version 1.0.0
Parameters
blockThe block.
Returns
The resulting instruction.
instruction * instruction_clocked_async ( instruction_list *  block)
related

Build a clocked async block.

Since
version 1.0.0
Parameters
blockThe block.
Returns
The resulting instruction.
instruction * instruction_clocked_finish ( instruction_list *  block)
related

Build a clocked finish block.

Since
version 1.0.0
Parameters
blockThe block.
Returns
The resulting instruction.
instruction * instruction_finish ( instruction_list *  block)
related

Build a finish block.

Since
version 1.0.0
Parameters
blockThe block.
Returns
The resulting instruction.
instruction * instruction_for_loop ( char *  identifier,
expression *  left,
expression *  right,
instruction_list *  body 
)
related

Build a for loop.

Since
version 1.0.0
Parameters
identifierIdentifier of the iterator.
leftLeft boundary of the for loop.
rightRight boundary of the for loop.
bodyBody of the loop.
Returns
The resulting instruction.
void instruction_free ( instruction *  i)
related

Free an instruction.

Since
version 1.0.0
Parameters
iInstruction to free.
instruction * instruction_function_call ( char *  identifier,
expression_list *  arguments 
)
related

Build a function call instruction.

Since
version 1.0.0
Parameters
identifierIdentifier of the function.
argumentsArguments of the function.
Returns
The resulting instruction.
instruction * instruction_if_then_else ( bool  has_else,
expression *  condition,
instruction_list *  true_body,
instruction_list *  false_body 
)
related

Build a branch.

Since
version 1.0.0
Parameters
has_elseWhether the branch has an else body.
conditionThe branching condition.
true_bodyThe body when the condition is true.
false_bodyThe body when the condition is false.
Returns
The resulting instruction.