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