aboutsummaryrefslogtreecommitdiffstats
path: root/wiretap/rt-scanner-skel.l
diff options
context:
space:
mode:
Diffstat (limited to 'wiretap/rt-scanner-skel.l')
-rw-r--r--wiretap/rt-scanner-skel.l160
1 files changed, 0 insertions, 160 deletions
diff --git a/wiretap/rt-scanner-skel.l b/wiretap/rt-scanner-skel.l
deleted file mode 100644
index 6a14f8f343..0000000000
--- a/wiretap/rt-scanner-skel.l
+++ /dev/null
@@ -1,160 +0,0 @@
-%{
-#include <glib.h>
-#include "rt-grammar.h"
-guint8* parse_bytes(char *text);
-enum nibble_t { high, low };
-static char *in_buffer;
-
-/* from libpcap */
-#ifdef FLEX_SCANNER
-#define YY_NO_UNPUT
-#undef YY_INPUT
-#define YY_INPUT(buf, result, max)\
- {\
- char *src = in_buffer;\
- int i;\
-\
- if (*src == 0)\
- result = YY_NULL;\
- else {\
- for (i = 0; *src && i < max; ++i)\
- buf[i] = *src++;\
- in_buffer += i;\
- result = i;\
- }\
- }
-#else
-#undef getc
-#define getc(fp) (*in_buffer == 0 ? EOF : *in_buffer++)
-#endif
-
-
-%}
-
-N ([0-9]+|(0X|0x)[0-9A-Fa-f]+)
-B [0-9A-Fa-f][0-9A-Fa-f]?([-:.]?[0-9A-Fa-f][0-9A-Fa-f]?)*
-W [A-Za-z_]
-quoted \"[^"\n]*["\n]
-
-%%
-
-[\n\t ]+ /* eat whitespace */
-
-{quoted} {
- wtap_lval.s = g_string_new(wtap_text + 1);
- g_string_truncate(wtap_lval.s, strlen(wtap_text) - 2);
- return QUOTED;
-}
-
-";" return ';';
-"," return ',';
-"(" return '(';
-")" return ')';
-"@" return '@';
-
-/* ct-compile: lex tokens */
-
-eq return EQ;
-ne return NE;
-
-{B} {
- wtap_lval.b = parse_bytes(wtap_text);
- return BYTES;
-}
-
-{N} {
- wtap_lval.d = atoi(wtap_text);
- return NUMBER;
-}
-
-{W}+ {
- wtap_lval.s = g_string_new(wtap_text);
- return TEXT;
- }
-
-%%
-
-guint8*
-parse_bytes(char *text)
-{
- guint8 buffer[256];
- guint8 index = 0;
- char *cp;
- char character;
- guint8 byte_val=0;
- gchar *dup_ptr;
- enum nibble_t nibble = high;
-
- for (cp = text; (*cp != '\x0') && index < 256; cp++) {
- character = *cp;
-
- if (nibble == high) {
- /* assumes ASCII, not EBCDIC */
- if (character >= '0' && character <= '9') {
- byte_val = (character - '0') << 4;
- }
- else if (character >= 'A' && character <= 'F') {
- byte_val = (character - 'A' + 10) << 4;
- }
- else if (character >= 'a' && character <= 'f') {
- byte_val = (character - 'a' + 10) << 4;
- }
- else {
- continue;
- }
- nibble = low;
- continue;
- }
- else {
- /* assumes ASCII, not EBCDIC */
- if (character >= '0' && character <= '9') {
- byte_val += (character - '0');
- }
- else if (character >= 'A' && character <= 'F') {
- byte_val += (character - 'A' + 10);
- }
- else if (character >= 'a' && character <= 'f') {
- byte_val += (character - 'a' + 10);
- }
- else {
- byte_val >>= 4;
- }
- nibble = high;
-
- buffer[index] = byte_val;
- index++;
- }
-
- }
-
- /* did we finish mid-nibble? */
- if (nibble == low) {
- buffer[index] = byte_val >> 4;
- index++;
- }
-
- dup_ptr = g_malloc(index + 1);
- dup_ptr[0] = index;
- memcpy(dup_ptr + 1, buffer, index);
- return dup_ptr;
-}
-
-
-void wtap_error(char *string)
-{
- g_error("%s\n",string);
- exit(0);
-}
-
-void
-wtap_lex_init(char *buf)
-{
- in_buffer = buf;
-}
-
-int
-yywrap()
-{
- return 1;
-}
-