Describes a declaration of a user function.
More...
|
ast_function_declaration * | ast_new_function_declaration (ast_boolean automatic, ast_boolean is_signed, ast_boolean function_or_block, ast_range_or_type *rot, ast_identifier identifier, ast_list *item_declarations, ast_statement *statements) |
| Creates and returns a function declaration node. More...
|
|
ast_function_item_declaration * | ast_new_function_item_declaration () |
| Creates and returns a new function item declaration. More...
|
|
ast_range_or_type * | ast_new_range_or_type (ast_boolean is_range) |
| Creates and returns a new object storing either a range or a type. More...
|
|
ast_task_port * | ast_new_task_port (ast_port_direction direction, ast_boolean reg, ast_boolean is_signed, ast_range *range, ast_task_port_type type, ast_list *identifiers) |
|
Describes a declaration of a user function.
- See also
- ast-node-function-calling
Return value type for a task.
Enumerator |
---|
PORT_TYPE_TIME |
Time value.
|
PORT_TYPE_REAL |
Real valued number.
|
PORT_TYPE_REALTIME |
Real valued time.
|
PORT_TYPE_INTEGER |
Integer type.
|
PORT_TYPE_NONE |
No specified type.
|
Creates and returns a function declaration node.
- Parameters
-
automatic | Is automatic? |
is_signed | Is the returned value signed? |
function_or_block | IFF true statements is list of function_item_declaration else list of block_item_declaration. |
rot | Range or type. |
identifier | Function name. |
item_declarations | Internal variable declarations. |
statements | Executable statements. |
Creates and returns a new function item declaration.
- Note
- All member fields must be filled out manaully. THis function just ensures the memory is allocated properly.
Creates and returns a new object storing either a range or a type.
- Parameters
-
[in] | is_range | - IFF true then the structure's union contains a range structure, otherwise it contains a type structure. |
- Note
- Expects the union member of ast_range_or_type to be set manually.
- Parameters
-
[in] | is_range | - true if the contained object will be a range instance, else false. |
< The list of port names.
- Parameters
-
direction | Input or output to the port. |
reg | Is is a registered value? |
is_signed | Does it represent a signed value? |
range | Bit or item range for arrays. |
type | Data type (if any) |
identifiers | The list of port names. |