aboutsummaryrefslogtreecommitdiffstats
path: root/src/backend/targets/C/ast_to_c.h
blob: 8c866874e45ad86bb46fcda4e6964c232fbeef08 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef AST_TO_C_H
#define AST_TO_C_H AST_TO_C_H
#include <stdio.h>
#include <parser.h>
#include <backend.h>
#include <ctype.h>

struct State_And_Transitions;

void ast_to_c(FILE *out,struct AST *tree);
void ast_machine_to_c(FILE *out,struct AST_Machine *machine);
void ast_machine_to_c_make_header_part(FILE *out,struct AST_Machine *machine);
void ast_machine_to_c_make_body_part(FILE *out,struct AST_Machine *machine);

void ast_events_to_c(FILE *out,struct AST_Machine *machine);
void ast_states_to_c(FILE *out,struct AST_Machine *machine);

void ast_pipeline_to_c(FILE *out,size_t indentation,struct AST_Pipeline *pipeline);
void ast_command_to_c(FILE *out,struct AST_Command *command,char *hold_buffer);
void ast_command_to_c_signature(FILE *out,struct AST_Command *command);

void ast_transitions_of_state_to_c(FILE *out,struct AST_Machine *machine,struct State_And_Transitions *vector);
void ast_token_to_c(FILE *out,struct token *token);
void ast_event_name_to_c(FILE *out,struct AST_Machine *machine);
void ast_state_to_c_signature(FILE *out,struct AST_Machine *machine,struct AST_State *state);
/* :X */
void ast_to_c_print_tabs(FILE *out,size_t number_of_tabs);

#endif