Herb C Reference
Loading...
Searching...
No Matches
analyze.h
Go to the documentation of this file.
1#ifndef HERB_ANALYZE_H
2#define HERB_ANALYZE_H
3
4#include "analyzed_ruby.h"
5#include "ast_nodes.h"
6#include "util/hb_array.h"
7
13
35
36typedef struct {
40
41void herb_analyze_parse_errors(AST_DOCUMENT_NODE_T* document, const char* source);
42void herb_analyze_parse_tree(AST_DOCUMENT_NODE_T* document, const char* source);
43
44hb_array_T* rewrite_node_array(AST_NODE_T* node, hb_array_T* array, analyze_ruby_context_T* context);
45bool transform_erb_nodes(const AST_NODE_T* node, void* data);
46
47#endif
hb_array_T * rewrite_node_array(AST_NODE_T *node, hb_array_T *array, analyze_ruby_context_T *context)
Definition analyze.c:1168
control_type_t
Definition analyze.h:14
@ CONTROL_TYPE_BLOCK
Definition analyze.h:30
@ CONTROL_TYPE_UNTIL
Definition analyze.h:28
@ CONTROL_TYPE_ENSURE
Definition analyze.h:25
@ CONTROL_TYPE_ELSE
Definition analyze.h:17
@ CONTROL_TYPE_YIELD
Definition analyze.h:32
@ CONTROL_TYPE_UNKNOWN
Definition analyze.h:33
@ CONTROL_TYPE_CASE
Definition analyze.h:19
@ CONTROL_TYPE_ELSIF
Definition analyze.h:16
@ CONTROL_TYPE_UNLESS
Definition analyze.h:26
@ CONTROL_TYPE_CASE_MATCH
Definition analyze.h:20
@ CONTROL_TYPE_IN
Definition analyze.h:22
@ CONTROL_TYPE_WHEN
Definition analyze.h:21
@ CONTROL_TYPE_FOR
Definition analyze.h:29
@ CONTROL_TYPE_WHILE
Definition analyze.h:27
@ CONTROL_TYPE_IF
Definition analyze.h:15
@ CONTROL_TYPE_END
Definition analyze.h:18
@ CONTROL_TYPE_RESCUE
Definition analyze.h:24
@ CONTROL_TYPE_BLOCK_CLOSE
Definition analyze.h:31
@ CONTROL_TYPE_BEGIN
Definition analyze.h:23
bool transform_erb_nodes(const AST_NODE_T *node, void *data)
Definition analyze_transform.c:7
void herb_analyze_parse_errors(AST_DOCUMENT_NODE_T *document, const char *source)
Definition analyze.c:1452
struct ANALYZE_RUBY_CONTEXT_STRUCT analyze_ruby_context_T
void herb_analyze_parse_tree(AST_DOCUMENT_NODE_T *document, const char *source)
Definition analyze.c:1397
Definition analyze.h:8
AST_NODE_T * parent
Definition analyze.h:10
hb_array_T * ruby_context_stack
Definition analyze.h:11
AST_DOCUMENT_NODE_T * document
Definition analyze.h:9
Definition ast_nodes.h:61
Definition ast_nodes.h:53
Definition analyze.h:36
int loop_depth
Definition analyze.h:37
int rescue_depth
Definition analyze.h:38