parser/calc/lexer.l
author Markus Bröker <mbroeker@largo.dyndns.tv>
Thu, 16 Apr 2009 12:49:13 +0200
changeset 65 76514757b0d6
parent 39 46d7ec9d63bd
permissions -rw-r--r--
GNU Indent cannot handle C++ Source Files... I like GNU indent. I like it so much that i use it for all my projects. But it doesn't work with C++ sources. To avoid further problems, all C++ Headers will be renamed from *.h to their *.hpp counterparts. mbroeker committer: Markus Bröker <mbroeker@largo.homelinux.org>

/**
 * test/demos/parser/lexer.ll
 * Copyright (C) 2008 Markus Broeker
 */

%{
    #include <stdio.h>
    #include "parser.h"
%}

%%

[0-9]+         { yylval = atoi(yytext); return DIGIT; }
[a-zA-Z]       { yylval = yytext[0]; return LETTER; }
"+"            { return PLUS; }
"-"            { return MINUS; }
"*"            { return MUL; }
"/"            { return DIV; }
"("|")"|"="    { return yytext[0]; }
[ \t]+         {}
\n             { return yytext[0]; }
.              { printf("FEHLER: %s\n", yytext); }
%%