blob: 19f1b9686becfb46279d21168be2807cde4a43b7 (
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
30
31
32
33
34
35
36
37
38
39
40
41
|
#ifndef CONFCONF_ANALYSE_H
#define CONFCONF_ANALYSE_H
#include "tok.h"
#include "parse.h"
#include <stdbool.h>
/* 26 letters * 2 for case + 1 for '_' */
#define ANALYSE_MAX_BRANCH (26 * 2 + 1)
struct analyse_tree_s {
bool is_terminal;
char name[TOK_MAX_LEN];
unsigned branch_count;
char branch_chars[ANALYSE_MAX_BRANCH];
struct analyse_tree_s *branches[ANALYSE_MAX_BRANCH];
};
struct analyse_result_s {
bool uses_bool;
bool uses_string;
bool uses_id;
bool uses_int;
bool uses_intl;
bool uses_intll;
bool uses_uint;
bool uses_uintl;
bool uses_uintll;
bool uses_float;
bool uses_double;
bool uses_doublel;
struct analyse_tree_s deftype_tree;
struct analyse_tree_s var_tree;
};
struct analyse_result_s analyse(struct parse_result_s pr);
void analyse_result_wipe(struct analyse_result_s *r);
#endif
|