5c35b32142020b03fbdac1bca40ab02288e714c2
[polyglot.git] / parse.h
1 \r
2 // parse.h\r
3 \r
4 #ifndef PARSE_H\r
5 #define PARSE_H\r
6 \r
7 // includes\r
8 \r
9 #include "util.h"\r
10 \r
11 // defined\r
12 \r
13 #define STAR_NUMBER         16\r
14 #define KEYWORD_NUMBER     256\r
15 \r
16 // types\r
17 \r
18 typedef struct {\r
19    const char * string;\r
20    int pos;\r
21    int keyword_nb;\r
22    const char * keyword[KEYWORD_NUMBER];\r
23 } parse_t;\r
24 \r
25 // variables\r
26 \r
27 extern char * Star[STAR_NUMBER];\r
28 \r
29 // functions\r
30 \r
31 extern bool match             (char string[], const char pattern[]);\r
32 \r
33 extern void parse_open        (parse_t * parse, const char string[]);\r
34 extern void parse_close       (parse_t * parse);\r
35 \r
36 extern void parse_add_keyword (parse_t * parse, const char keyword[]);\r
37 \r
38 extern bool parse_get_word    (parse_t * parse, char string[], int size);\r
39 extern bool parse_get_string  (parse_t * parse, char string[], int size);\r
40 \r
41 #endif // !defined PARSE_H\r
42 \r
43 // end of parse.h\r
44 \r