1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 #ifndef PMIX_UTIL_KEYVAL_LEX_H_
22 #define PMIX_UTIL_KEYVAL_LEX_H_
23
24 #include <src/include/pmix_config.h>
25
26 #ifdef malloc
27 #undef malloc
28 #endif
29 #ifdef realloc
30 #undef realloc
31 #endif
32 #ifdef free
33 #undef free
34 #endif
35
36 #include <stdio.h>
37
38 int pmix_util_keyval_yylex(void);
39 int pmix_util_keyval_init_buffer(FILE *file);
40 int pmix_util_keyval_yylex_destroy(void);
41
42 extern FILE *pmix_util_keyval_yyin;
43 extern bool pmix_util_keyval_parse_done;
44 extern char *pmix_util_keyval_yytext;
45 extern int pmix_util_keyval_yynewlines;
46 extern int pmix_util_keyval_yylineno;
47
48
49
50
51 #define YY_STACK_USED 0
52 #define YY_ALWAYS_INTERACTIVE 0
53 #define YY_NEVER_INTERACTIVE 0
54 #define YY_MAIN 0
55 #define YY_NO_UNPUT 1
56 #define YY_SKIP_YYWRAP 1
57
58 enum pmix_keyval_parse_state_t {
59 PMIX_UTIL_KEYVAL_PARSE_DONE,
60 PMIX_UTIL_KEYVAL_PARSE_ERROR,
61
62 PMIX_UTIL_KEYVAL_PARSE_NEWLINE,
63 PMIX_UTIL_KEYVAL_PARSE_EQUAL,
64 PMIX_UTIL_KEYVAL_PARSE_SINGLE_WORD,
65 PMIX_UTIL_KEYVAL_PARSE_VALUE,
66 PMIX_UTIL_KEYVAL_PARSE_MCAVAR,
67 PMIX_UTIL_KEYVAL_PARSE_ENVVAR,
68 PMIX_UTIL_KEYVAL_PARSE_ENVEQL,
69
70 PMIX_UTIL_KEYVAL_PARSE_MAX
71 };
72 typedef enum pmix_keyval_parse_state_t pmix_keyval_parse_state_t;
73
74 #endif