From 2f16235ed2d616cc0c7e88972af10c9f61033904 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Tue, 10 Feb 2009 01:20:05 +0000 Subject: [PATCH] updating parser logic git-svn-id: svn://anubis/fart/trunk@97 7f9b0f55-74a9-4bce-be96-3c2cd072584d --- parser/parser.yy | 42 +++++++++++++++++++++++++++++++++++------- 1 file changed, 35 insertions(+), 7 deletions(-) diff --git a/parser/parser.yy b/parser/parser.yy index 1ac8a52..0e96ab3 100644 --- a/parser/parser.yy +++ b/parser/parser.yy @@ -120,10 +120,26 @@ camera_items: /* empty */ | camera_item camera_items ; -camera_item: POSITION vector - | LOOKAT vector - | UP vector - | VFOV vector +camera_item: POSITION vector { + $$ = new Node(); + $$->type = POSITION; + $$->the_Vector = $2->the_Vector; + } + | LOOKAT vector { + $$ = new Node(); + $$->type = LOOKAT; + $$->the_Vector = $2->the_Vector; + } + | UP vector { + $$ = new Node(); + $$->type = UP; + $$->the_Vector = $2->the_Vector; + } + | VFOV vector { + $$ = new Node(); + $$->type = VFOV; + $$->the_Vector = $2->the_Vector; + } ; intersect: INTERSECT LCURLY boolean_items RCURLY @@ -136,9 +152,21 @@ material_items: /* empty */ | material_item material_items ; -material_item: COLOR vector - | REFLECTANCE number - | SHININESS number +material_item: COLOR vector { + $$ = new Node(); + $$->type = COLOR; + $$->the_Vector = $2->the_Vector; + } + | REFLECTANCE number { + $$ = new Node(); + $$->type = REFLECTANCE; + $$->the_double = $2->the_double; + } + | SHININESS number { + $$ = new Node(); + $$->type = SHININESS; + $$->the_double = $2->the_double; + } ; number: DEC_NUMBER {