fcml
1.2.2
|
Parser runtime context. More...
#include <fcml_parser.h>
Public Attributes | |
fcml_st_dialect * | dialect |
Dialect to be used by parser. More... | |
fcml_st_parser_config | configuration |
Parser configuration. More... | |
fcml_ip | ip |
Instruction pointer. More... | |
fcml_st_symbol_table | symbol_table |
Symbol table. More... | |
Parser runtime context.
fcml_st_parser_config fcml_st_parser_context::configuration |
Parser configuration.
fcml_st_dialect* fcml_st_parser_context::dialect |
Dialect to be used by parser.
Defines supported instructions syntax.
fcml_ip fcml_st_parser_context::ip |
Instruction pointer.
RIP/EIP register value used as a value for newly declared symbols. This value is never changed by the parser.
fcml_st_symbol_table fcml_st_parser_context::symbol_table |
Symbol table.
It holds symbols added by the user as well as symbols allocated by the parsers (labels). It is very important to free this container on your own because even if it is not allocated by the user it can be set by the parser when the first symbol definition is found. So the most safe way to manage it is to always use "fcml_fn_symbol_table_free" function as soon as context if going to be freed.