summaryrefslogtreecommitdiff
path: root/i/marvin/src/config/lexer.ll
diff options
context:
space:
mode:
Diffstat (limited to 'i/marvin/src/config/lexer.ll')
-rw-r--r--i/marvin/src/config/lexer.ll118
1 files changed, 0 insertions, 118 deletions
diff --git a/i/marvin/src/config/lexer.ll b/i/marvin/src/config/lexer.ll
deleted file mode 100644
index 34522dc..0000000
--- a/i/marvin/src/config/lexer.ll
+++ /dev/null
@@ -1,118 +0,0 @@
-%{
-// marvin - programme du robot 2006. {{{
-//
-// Copyright (C) 2006 Nicolas Schodet
-//
-// Robot APB Team/Efrei 2006.
-// Web: http://assos.efrei.fr/robot/
-// Email: robot AT efrei DOT fr
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-//
-// }}}
-#include "config/config.hh"
-#include "config/config_parser.hh"
-#include "utils/any.hh"
-#include "parser.hh"
-%}
-
-%option reentrant
-%option header-file="lexer.hh"
-%option outfile="lexer.cc"
-%option bison-bridge
-%option noyywrap nodefault nounput
-
-%x strst
-
-INTDEC [+-]?[0-9]+
-INTHEX "0x"[0-9a-fA-F]+
-INTNUM {INTDEC}|{INTHEX}
-FLOAT1 [+-]?\.[0-9]+
-FLOAT2 [+-]?[0-9]+\.[0-9]*
-FLOATNUM {FLOAT1}|{FLOAT2}
-
-%%
-
-"true"|"on" {
- yylval->b = true;
- return BOOLEAN;
-}
-
-"false"|"off" {
- yylval->b = false;
- return BOOLEAN;
-}
-
-[a-zA-Z][_a-zA-Z0-9.-]* {
- yylval->s = new std::string (yytext);
- return ID;
-}
-
-{FLOATNUM} {
- yylval->f = strtod (yytext, 0);
- return FLOAT;
-}
-
-{INTNUM} {
- yylval->i = strtol (yytext, 0, 0);
- return INT;
-}
-
-\" {
- BEGIN(strst);
- yyextra->tmp.clear ();
-}
-
-\n {
- yyextra->line++;
- return yytext[0];
-}
-
-[=()] return yytext[0];
-
-[ \t]+ /* Skip. */
-#.* /* Skip comments. */
-
-. {
- yyextra->error (std::string ("unexpected character \'") \
- + yytext[0] + '\'');
- return UNKNOWN;
-}
-
-<strst>\" {
- BEGIN (INITIAL);
- yylval->s = new std::string (yyextra->tmp);
- return STRING;
-}
-
-<strst>\\n yyextra->tmp += '\n';
-<strst>\\r yyextra->tmp += '\r';
-<strst>\\t yyextra->tmp += '\t';
-<strst>\\. yyextra->tmp += yytext[1];
-<strst>\\\n {
- yyextra->line++;
- yyextra->tmp += yytext[1];
-}
-<strst>. yyextra->tmp += yytext[0];
-<strst>\n {
- yyextra->error ("unexpected end of line inside string");
- yyextra->line++;
- return UNKNOWN;
-}
-
-%%
-
-/* vim:ft=lex:
-*/