fart/parser/parser.lex
Josh Holtrop e40677ba77 added "cyl" token to parser and parser rules for cyl object
git-svn-id: svn://anubis/fart/trunk@165 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-28 20:32:23 +00:00

79 lines
2.2 KiB
Plaintext

%option nounput
%option bison-locations
%{
#include "nodes.h"
#include "parser.h"
#include "parser.tab.hh"
%}
%%
\+ return PLUS;
- return MINUS;
\* return STAR;
\/ return DIVIDE;
% return MOD;
; return SEMICOLON;
: return COLON;
\? return QUESTION;
\$ return DOLLAR;
\. return DOT;
\" return DQUOTE;
\' return SQUOTE;
, return COMMA;
\{ return LCURLY;
\} return RCURLY;
\[ return LBRACKET;
\] return RBRACKET;
\( return LPAREN;
\) return RPAREN;
\< return LESS;
\> return GREATER;
-?[0-9]+ *yylval = new IntegerNode(atoi(yytext)); return DEC_NUMBER;
-?[0-9]*\.[0-9]+ *yylval = new NumberNode(atof(yytext)); return REAL_NUMBER;
ambient return AMBIENT;
box return BOX;
camera return CAMERA;
color return COLOR;
cyl return CYL;
diffuse return DIFFUSE;
height return HEIGHT;
intersect return INTERSECT;
light return LIGHT;
look_at return LOOKAT;
material return MATERIAL;
multisample return MULTISAMPLE;
options return OPTIONS;
plane return PLANE;
position return POSITION;
radius return RADIUS;
reflectance return REFLECTANCE;
rotate return ROTATE;
scale return SCALE;
scene return SCENE;
shininess return SHININESS;
size return SIZE;
specular return SPECULAR;
sphere return SPHERE;
subtract return SUBTRACT;
translate return TRANSLATE;
union return UNION;
up return UP;
vfov return VFOV;
width return WIDTH;
\n yylloc->first_line++; yylloc->last_line++;
[ \t\v] /* ignore whitespace */
. return yytext[0];
%%