Next: , Previous: , Up: Function Pointers   [Index]


3.6.2 Function Pointer Type Alloter

libaime provides a bidirectional function logical type (the function (return) type + the list of argument types) to symbolic type (integer) mapper.

A mapper object is to be created via the x1f4_init_e4fine function.

See x1f4_init_e4fine.

A function logical type may be mapped to an integer via x1f4_type_e4fine.

See x1f4_type_e4fine.

The function logical type corresponding an allotted integral symbolic function type may be retrieved via x1f4_pick_e4fine.

See x1f4_pick_e4fine.

Once the mapper object is no longer needed it can be destroyed via the x1f4_fine_e4fine function.

See x1f4_fini_e4fine.

For the expressions referring function pointers the mapper needs to be created before the parsed expression representations and destroyed after the parsed representations are destroyed.

To inform the expression parsed of the usability of the mapper object, it needs to be linked into the parsing context and a corresponding bit inserted into the list of expression generational flags.

See struct x1f4_e4_type.

See Generation Flags.

The struct x1f4_e4_type field reserved for the mapper object introduction is transfer_set.fine.

The flag indicating its presence in the attributes record is X1f4_E4_TRANSFER.