fcml  1.2.2
Public Attributes | List of all members
fcml_st_parser_context Struct Reference

Parser runtime context. More...

#include <fcml_parser.h>

Collaboration diagram for fcml_st_parser_context:
Collaboration graph
[legend]

Public Attributes

fcml_st_dialectdialect
 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...
 

Detailed Description

Parser runtime context.

Member Data Documentation

◆ configuration

fcml_st_parser_config fcml_st_parser_context::configuration

Parser configuration.

◆ dialect

fcml_st_dialect* fcml_st_parser_context::dialect

Dialect to be used by parser.

Defines supported instructions syntax.

◆ ip

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.

◆ symbol_table

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.


The documentation for this struct was generated from the following file: