From ca51f6abf6debc1b6718f59129886fea04ee12b0 Mon Sep 17 00:00:00 2001 From: jacomi Date: Mon, 25 Jan 1999 18:35:13 +0000 Subject: new directory structure and data --- gram.l | 122 ----------------------------------------------------------------- 1 file changed, 122 deletions(-) delete mode 100644 gram.l (limited to 'gram.l') diff --git a/gram.l b/gram.l deleted file mode 100644 index df54f34..0000000 --- a/gram.l +++ /dev/null @@ -1,122 +0,0 @@ -%{ - -/* - * - * IRBOX, an Ivy driver for infra-red remote controls - * - * Copyright 1998-1999 - * Centre d'Etudes de la Navigation Aerienne - * - * This is the lexical analyser for reading tables - * - * Authors: Stephane Chatty - * - * $Id$ - * - * Please refer to file version.h for the - * copyright notice regarding this software - */ - -#include -#include -#include - -/* header produced from the parser file with '-d' option of yacc */ -#include "y.tab.h" - -extern int tee (int); -#define RETURN(x) return (tee(x)) - - - -const char* ResWords [] = { - "type", - "name", - "brand", - 0 -}; - -const int ResWordsTokens [] = { - Y_TYPE, - Y_NAME, - Y_BRAND -}; - -int LineNo = 1; - -void -LexInit () -{ - -#ifdef FLEX_SCANNER -static void yyrestart (FILE*); -// yyrestart (0); -#endif - LineNo = 1; -} - - -int -CheckResWord (const char* s) -{ - const char** pp = ResWords; - while (*pp) { - if (strcmp (*pp, s) == 0) - return pp - ResWords; - ++pp; - } - return -1; -} - - -%} - - - -Int [-]?[0-9]+ -Ident [a-zA-Z/\[\]][a-zA-Z.0-9/\[\]]* -nl [\n] -sp0 [ \t]* -sp1 [ \t]+ - -%% - -[:] RETURN (yytext[0]); - -\#.*\n { /* comments */ - ++LineNo; - } - -\".*\" { - char* n = strdup (yytext+1); - n[strlen(yytext) - 1] = '\0'; - yylval.name = n; - RETURN (Y_STRING); - } - -{sp1} {} - -{nl} { - ++LineNo; - RETURN (Y_EOL); - } - -{Int} { - yylval.integer = atoi (yytext); - RETURN (Y_INT); - } - - -{Ident} { - int index = CheckResWord (yytext); - if (index >= 0) { - RETURN (ResWordsTokens[index]); - } else { - yylval.name = strdup (yytext); - RETURN (Y_ID); - } - } - -. { - RETURN (-1); - } -- cgit v1.1