summaryrefslogtreecommitdiffstats
path: root/src/vlib/parse_builtin.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vlib/parse_builtin.c')
-rw-r--r--src/vlib/parse_builtin.c150
1 files changed, 0 insertions, 150 deletions
diff --git a/src/vlib/parse_builtin.c b/src/vlib/parse_builtin.c
deleted file mode 100644
index 0ce716b539e..00000000000
--- a/src/vlib/parse_builtin.c
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Copyright (c) 2015 Cisco and/or its affiliates.
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#include <vlib/parse.h>
-
-always_inline void *
-parse_last_match_value (vlib_parse_main_t * pm)
-{
- vlib_parse_item_t *i;
- i = pool_elt_at_index (pm->parse_items,
- vec_elt (pm->match_items,
- vec_len (pm->match_items) - 1));
- return i->value.as_pointer;
-}
-
-vlib_parse_match_t
-eof_match (vlib_parse_main_t * pm, vlib_parse_type_t * type,
- vlib_lex_token_t * t, vlib_parse_value_t * valuep)
-{
- return t->token ==
- VLIB_LEX_eof ? VLIB_PARSE_MATCH_DONE : VLIB_PARSE_MATCH_FAIL;
-}
-
-PARSE_TYPE_INIT (eof, eof_match, 0 /* cleanup value */ ,
- 0 /* format value */ );
-
-vlib_parse_match_t
-rule_eof_match (vlib_parse_main_t * pm, vlib_parse_type_t * type,
- vlib_lex_token_t * t, vlib_parse_value_t * valuep)
-{
- vlib_parse_match_function_t *fp = parse_last_match_value (pm);
- pm->current_token_index--;
- return fp ? fp (pm, type, t, valuep) : VLIB_PARSE_MATCH_RULE;
-}
-
-PARSE_TYPE_INIT (rule_eof, rule_eof_match, 0, 0);
-
-vlib_parse_match_t
-word_match (vlib_parse_main_t * pm, vlib_parse_type_t * type,
- vlib_lex_token_t * t, vlib_parse_value_t * valuep)
-{
- u8 *tv, *iv;
- int i;
-
- if (t->token != VLIB_LEX_word)
- return VLIB_PARSE_MATCH_FAIL;
-
- tv = t->value.as_pointer;
- iv = parse_last_match_value (pm);
-
- for (i = 0; tv[i]; i++)
- {
- if (tv[i] != iv[i])
- return VLIB_PARSE_MATCH_FAIL;
- }
-
- return iv[i] == 0 ? VLIB_PARSE_MATCH_FULL : VLIB_PARSE_MATCH_PARTIAL;
-}
-
-PARSE_TYPE_INIT (word, word_match, 0 /* clnup value */ ,
- 0 /* format value */ );
-
-vlib_parse_match_t
-number_match (vlib_parse_main_t * pm, vlib_parse_type_t * type,
- vlib_lex_token_t * t, vlib_parse_value_t * valuep)
-{
- if (t->token == VLIB_LEX_number)
- {
- valuep->value.as_uword = t->value.as_uword;
- return VLIB_PARSE_MATCH_VALUE;
- }
- return VLIB_PARSE_MATCH_FAIL;
-}
-
-static u8 *
-format_value_number (u8 * s, va_list * args)
-{
- vlib_parse_value_t *v = va_arg (*args, vlib_parse_value_t *);
- uword a = v->value.as_uword;
-
- if (BITS (uword) == 64)
- s = format (s, "%lld(0x%llx)", a, a);
- else
- s = format (s, "%ld(0x%lx)", a, a);
- return s;
-}
-
-PARSE_TYPE_INIT (number, number_match, 0 /* cln value */ ,
- format_value_number /* fmt value */ );
-
-
-#define foreach_vanilla_lex_match_function \
- _(plus) \
- _(minus) \
- _(star) \
- _(slash) \
- _(lpar) \
- _(rpar)
-
-#define LEX_MATCH_DEBUG 0
-
-#define _(name) \
-vlib_parse_match_t name##_match (vlib_parse_main_t *pm, \
- vlib_parse_type_t *type, \
- vlib_lex_token_t *t, \
- vlib_parse_value_t *valuep) \
-{ \
- if (LEX_MATCH_DEBUG > 0) \
- clib_warning ("against %U returns %s", \
- format_vlib_lex_token, pm->lex_main, t, \
- (t->token == VLIB_LEX_##name) \
- ? "VLIB_PARSE_MATCH_FULL" : \
- "VLIB_PARSE_MATCH_FAIL"); \
- if (t->token == VLIB_LEX_##name) \
- return VLIB_PARSE_MATCH_FULL; \
- return VLIB_PARSE_MATCH_FAIL; \
-} \
- \
-PARSE_TYPE_INIT (name, name##_match, 0 /* cln value */, \
- 0 /* fmt val */);
-
-foreach_vanilla_lex_match_function
-#undef _
-/* So we're linked in. */
-static clib_error_t *
-parse_builtin_init (vlib_main_t * vm)
-{
- return 0;
-}
-
-VLIB_INIT_FUNCTION (parse_builtin_init);
-
-/*
- * fd.io coding-style-patch-verification: ON
- *
- * Local Variables:
- * eval: (c-set-style "gnu")
- * End:
- */