libmya 0.1.0
Library to parse Mya language.
Loading...
Searching...
No Matches
evaluator.h
Go to the documentation of this file.
1#pragma once
2
3#include <stdint.h>
4
5#include "types/ast.h"
6#include "types/mir.h"
7#include "types/module.h"
8
16int64_t
18
26void
28
36void
38
46void
48
56void
58
66void
68
77void
void eval_bitfield(mir_t *mir, module_t *module, ast_node_t *ast)
Evaluates a bitfield statement.
void eval_register(mir_t *mir, module_t *module, ast_node_t *ast)
Evaluates a register statement.
void eval_include(mir_t *mir, module_t *module, ast_node_t *ast)
Evaluates an include statement.
Definition eval_include.c:8
void eval_inst(mir_t *mir, module_t *module, ast_node_t *ast)
Evaluates an inst statement.
void eval_set(mir_t *mir, module_t *module, ast_node_t *ast)
Evaluates a set statement.
Definition eval_set.c:8
void eval_bitfield_spec(mir_bitfield_spec_t *spec, module_t *module, ast_node_t *ast, hashtable_t *variables)
Evaluates a bitfield specification expression.
int64_t eval_expression(hashtable_t *variables, module_t *module, ast_node_t *ast)
Evaluates a mathetical expression.
Mya in-memory intermediate representation.
Definition mir.h:117
Struct that represents a Mya module.
Definition module.h:36
struct ast_node ast_node_t
struct hashtable hashtable_t
A hashtable.
struct mir_bitfield_spec mir_bitfield_spec_t
A bitfield or bitfield's field declaration.
struct mir mir_t
Mya in-memory intermediate representation.
struct module module_t
Struct that represents a Mya module.