diff options
Diffstat (limited to 'prism_compile.h')
-rw-r--r-- | prism_compile.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/prism_compile.h b/prism_compile.h new file mode 100644 index 0000000000..dcafa85555 --- /dev/null +++ b/prism_compile.h @@ -0,0 +1,20 @@ +#include "prism/prism.h" + +// ScopeNodes are helper nodes, and will never be part of the AST. We manually +// declare them here to avoid generating them. +typedef struct pm_scope_node { + pm_node_t base; + struct pm_scope_node *previous; + pm_node_t *ast_node; + struct pm_parameters_node *parameters; + pm_node_t *body; + pm_constant_id_list_t locals; + pm_parser_t *parser; + + // We don't have the CRuby types ID and st_table within Prism + // so we use void * + void *constants; // ID *constants + void *index_lookup_table; // st_table *index_lookup_table +} pm_scope_node_t; + +void pm_scope_node_init(const pm_node_t *node, pm_scope_node_t *scope, pm_scope_node_t *previous, pm_parser_t *parser); |