summaryrefslogtreecommitdiff
path: root/lexer.l
diff options
context:
space:
mode:
authorkintel <kintel@b57f626f-c46c-0410-a088-ec61d464b74c>2010-01-30 04:26:05 (GMT)
committerkintel <kintel@b57f626f-c46c-0410-a088-ec61d464b74c>2010-01-30 04:26:05 (GMT)
commit191dc4857c852f1867e80cd9d03a6d1c0921dcb1 (patch)
tree4a6421d50eb6cf70924fc0ba06afccf10df00650 /lexer.l
parent6940d171812565209efe679a5d923417c3f47d4a (diff)
header file reorg
git-svn-id: http://svn.clifford.at/openscad/trunk@365 b57f626f-c46c-0410-a088-ec61d464b74c
Diffstat (limited to 'lexer.l')
-rw-r--r--lexer.l114
1 files changed, 0 insertions, 114 deletions
diff --git a/lexer.l b/lexer.l
deleted file mode 100644
index c9e9332..0000000
--- a/lexer.l
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * OpenSCAD (www.openscad.at)
- * Copyright (C) 2009 Clifford Wolf <clifford@clifford.at>
- *
- * 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 "openscad.h"
-#include "printutils.h"
-#include "parser_yacc.h"
-
-int lexerget_lineno(void);
-#ifdef __GNUC__
-static void yyunput(int, char*) __attribute__((unused));
-#endif
-extern const char *parser_input_buffer;
-
-#define YY_INPUT(buf,result,max_size) { \
- if (yyin && yyin != stdin) { \
- int c = fgetc(yyin); \
- if (c >= 0) { \
- result = 1; \
- buf[0] = c; \
- } else { \
- result = YY_NULL; \
- } \
- } else { \
- if (*parser_input_buffer) { \
- result = 1; \
- buf[0] = *(parser_input_buffer++); \
- parser_error_pos++; \
- } else { \
- result = YY_NULL; \
- } \
- } \
-}
-
-%}
-
-%option yylineno
-%option noyywrap
-
-%x comment
-
-%%
-
-"<"[^ \t\n>]+">" {
- char *filename = strdup(yytext+1);
- filename[strlen(filename)-1] = 0;
- handle_dep(filename);
- yyin = fopen(filename, "r");
- if (!yyin) {
- PRINTF("WARNING: Can't open input file `%s'.", filename);
- } else {
- yypush_buffer_state(yy_create_buffer( yyin, YY_BUF_SIZE ));
- BEGIN(INITIAL);
- }
- free(filename);
-}
-
-<<EOF>> {
- if (yyin && yyin != stdin)
- fclose(yyin);
- yypop_buffer_state();
- if (!YY_CURRENT_BUFFER)
- yyterminate();
-}
-
-"module" return TOK_MODULE;
-"function" return TOK_FUNCTION;
-
-"true" return TOK_TRUE;
-"false" return TOK_FALSE;
-"undef" return TOK_UNDEF;
-
-[0-9][0-9.]* { parserlval.number = QString(yytext).toDouble(); return TOK_NUMBER; }
-"$"?[a-zA-Z0-9_]+ { parserlval.text = strdup(yytext); return TOK_ID; }
-
-\"[^"]*\" {
- parserlval.text = strdup(yytext+1);
- parserlval.text[strlen(parserlval.text)-1] = 0;
- return TOK_STRING;
-}
-
-[\n\r\t ]
-\/\/[^\n]*\n?
-"/*" BEGIN(comment);
-<comment>"*/" BEGIN(INITIAL);
-<comment>.|\n
-
-"<=" return LE;
-">=" return GE;
-"==" return EQ;
-"!=" return NE;
-"&&" return AND;
-"||" return OR;
-
-. { return yytext[0]; }
-
contact: Jan Huwald // Impressum