diff options
author | Jemma Issroff <[email protected]> | 2023-10-25 11:23:57 -0300 |
---|---|---|
committer | Jemma Issroff <[email protected]> | 2023-10-25 18:18:35 -0300 |
commit | 8f71a5c53007b072341775e4161ec20b50ffc538 (patch) | |
tree | 711e0e6e3e61bf109a7e708313f56c24adbb6c90 /prism_compile.h | |
parent | 0abf2d86b963089a52af9ee221d1b7da7ba9b2ee (diff) |
[PRISM] Move scope_node itself to CRuby, create prism_compile.h
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); |