summaryrefslogtreecommitdiff
path: root/gram.l
diff options
context:
space:
mode:
Diffstat (limited to 'gram.l')
-rw-r--r--gram.l122
1 files changed, 0 insertions, 122 deletions
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 <chatty@cenatoulouse.dgac.fr>
- *
- * $Id$
- *
- * Please refer to file version.h for the
- * copyright notice regarding this software
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdio.h>
-
-/* 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);
- }