diff options
Diffstat (limited to 'vlib/vlib/lex.h')
-rw-r--r-- | vlib/vlib/lex.h | 61 |
1 files changed, 38 insertions, 23 deletions
diff --git a/vlib/vlib/lex.h b/vlib/vlib/lex.h index d5ea509915c..4ae58f468c1 100644 --- a/vlib/vlib/lex.h +++ b/vlib/vlib/lex.h @@ -37,57 +37,64 @@ _ (lpar) \ _ (rpar) -typedef enum { +typedef enum +{ #define _(f) VLIB_LEX_##f, foreach_vlib_lex_global_token #undef _ } vlib_lex_global_token_t; -typedef enum { +typedef enum +{ VLIB_LEX_IGNORE, VLIB_LEX_ADD_TO_TOKEN, VLIB_LEX_RETURN, VLIB_LEX_RETURN_AND_RESCAN, VLIB_LEX_KEYWORD_CHECK, - VLIB_LEX_START_NUMBER, + VLIB_LEX_START_NUMBER, VLIB_LEX_ADD_TO_NUMBER, } vlib_lex_action_t; -typedef struct { +typedef struct +{ u16 action; u16 next_table_index; u16 token; } vlib_lex_table_entry_t; -typedef struct { +typedef struct +{ char *name; - vlib_lex_table_entry_t entries [128]; + vlib_lex_table_entry_t entries[128]; } vlib_lex_table_t; -typedef struct { +typedef struct +{ u32 token; - union { + union + { uword as_uword; - void * as_pointer; - char * as_string; + void *as_pointer; + char *as_string; } value; } vlib_lex_token_t; -typedef struct { - vlib_lex_table_t * lex_tables; - uword * lex_tables_by_name; +typedef struct +{ + vlib_lex_table_t *lex_tables; + uword *lex_tables_by_name; /* Vector of token strings. */ - char ** lex_token_names; + char **lex_token_names; /* Hash mapping c string name to token index. */ - uword * lex_tokens_by_name; + uword *lex_tokens_by_name; /* Hash mapping c string keyword name to token index. */ - uword * lex_keywords; + uword *lex_keywords; - vlib_lex_token_t * pushback_vector; + vlib_lex_token_t *pushback_vector; i32 pushback_sp; @@ -104,7 +111,7 @@ typedef struct { u32 current_index; /* Re-used vector for forming token strings and hashing them. */ - u8 * token_buffer; + u8 *token_buffer; } vlib_lex_main_t; vlib_lex_main_t vlib_lex_main; @@ -114,17 +121,25 @@ vlib_lex_cleanup_token (vlib_lex_token_t * t) { if (t->token == VLIB_LEX_word) { - u8 * tv = t->value.as_pointer; + u8 *tv = t->value.as_pointer; vec_free (tv); } } u16 vlib_lex_add_table (char *name); -void vlib_lex_get_token (vlib_lex_main_t *lm, vlib_lex_token_t * result); -u16 vlib_lex_add_token (vlib_lex_main_t *lm, char *token_name); -void vlib_lex_set_action_range (u32 table_index, u8 lo, u8 hi, u16 action, +void vlib_lex_get_token (vlib_lex_main_t * lm, vlib_lex_token_t * result); +u16 vlib_lex_add_token (vlib_lex_main_t * lm, char *token_name); +void vlib_lex_set_action_range (u32 table_index, u8 lo, u8 hi, u16 action, u16 token, u32 next_table_index); -void vlib_lex_reset (vlib_lex_main_t *lm, u8 *input_vector); +void vlib_lex_reset (vlib_lex_main_t * lm, u8 * input_vector); format_function_t format_vlib_lex_token; #endif /* included_vlib_lex_h */ + +/* + * fd.io coding-style-patch-verification: ON + * + * Local Variables: + * eval: (c-set-style "gnu") + * End: + */ |