GRAMMAIRE DU LANGAGE DE DESCRIPTION DE SCENES SYMBOLES NON TERMINAUX : SCENE ::= BLOC BLOC ::= BLOC BLOC | CAMERA ACC_OUVRANTE PARAMETRE_CAMERA ACC_FERMANTE | BACKGROUND ACC_OUVRANTE PARAMETRE_BACKGROUND ACC_FERMANTE | LIGHT_SOURCE ACC_OUVRANTE PARAMETRE_LIGHT_SOURCE ACC_FERMANTE | GLOBAL_SETTING ACC_OUVRANTE PARAMETRE_GLOBAL_SETTING ACC_FERMANTE | SPHERE ACC_OUVRANTE PARAMETRE_SPHERE ACC_FERMANTE | PLAN ACC_OUVRANTE PARAMETRE_PLAN ACC_FERMANTE | CYLINDRE ACC_OUVRANTE PARAMETRE_CYLINDRE ACC_FERMANTE | CONE ACC_OUVRANTE PARAMETRE_CONE ACC_FERMANTE | BOX ACC_OUVRANTE PARAMETRE_BOX ACC_FERMANTE | TRIANGLE ACC_OUVRANTE PARAMETRE_TRIANGLE ACC_FERMANTE | PARALLELOGRAM ACC_OUVRANTE PARAMETRE_PARALLELOGRAM ACC_FERMANTE | TORUS ACC_OUVRANTE PARAMETRE_TORUS ACC_FERMANTE | CUBE_TROUE ACC_OUVRANTE PARAMETRE_CUBE_TROUE ACC_FERMANTE | PYRAMID3 ACC_OUVRANTE PARAMETRE_PYRAMID3 ACC_FERMANTE | PYRAMID4 ACC_OUVRANTE PARAMETRE_PYRAMID4 ACC_FERMANTE PARAMETRE_CAMERA ::= PARAMETRE_CAMERA PARAMETRE_CAMERA | LOCATION TRIPLET | LOOK_AT TRIPLET | FIELD_OF_VIEW FLOAT | PROJECTION_SIZE FLOAT | PERSPECTIVE | ORTHOGRAPHIC PARAMETRE_BACKGROUND ::= PARAMETRE_BACKGROUND PARAMETRE_BACKGROUND | COLOR TRIPLET PARAMETRE_LIGHT_SOURCE ::= PARAMETRE_LIGHT_SOURCE PARAMETRE_LIGHT_SOURCE | POINT_SOURCE | AMBIENT | DIRECTIONNAL | LOCATION TRIPLET | DIRECTION TRIPLET | COLOR TRIPLET | ATTENUATION TRIPLET PARAMETRE_GLOBAL_SETTING ::= PARAMETRE_GLOBAL_SETTING PARAMETRE_GLOBAL_SETTING | MAX_TRACE_LEVEL INT | ANTIALIASING INT | AA_THRESHOLD FLOAT | SOFT_SHADOW FLOAT | SHADOW_RAY INT | OUTPUT_HEIGHT INT | OUTPUT_WIDTH INT PARAMETRE_SPHERE ::= FLOAT MODIFIER PARAMETRE_PLAN ::= MODIFIER PARAMETRE_CYLINDRE ::= FLOAT VIRGULE FLOAT MODIFIER PARAMETRE_CONE ::= FLOAT VIRGULE FLOAT VIRGULE FLOAT MODIFIER PARAMETRE_BOX ::= FLOAT MODIFIER PARAMETRE_TRIANGLE ::= TRIPLET VIRGULE TRIPLET VIRGULE TRIPLET MODIFIER PARAMETRE_PARALLELOGRAM ::= TRIPLET VIRGULE TRIPLET VIRGULE TRIPLET MODIFIER PARAMETRE_TORUS ::= FLOAT VIRGULE FLOAT MODIFIER PARAMETRE_CUBE_TROUE ::= MODIFIER PARAMETRE_PYRAMID3 ::= TRIPLET VIRGULE TRIPLET VIRGULE TRIPLET VIRGULE TRIPLET MODIFIER PARAMETRE_PYRAMID4 ::= TRIPLET VIRGULE TRIPLET VIRGULE TRIPLET VIRGULE TRIPLET MODIFIER MODIFIER ::= MODIFIER MODIFIER | TRANSFORM ACC_OUVRANTE PARAMETRE_TRANSFORM ACC_FERMANTE | PIGMENT ACC_OUVRANTE PARAMETRE_PIGMENT ACC_FERMANTE | FINISH ACC_OUVRANTE PARAMETRE_FINISH ACC_FERMANTE | NORMAL ACC_OUVRANTE PARAMETRE_NORMAL ACC_FERMANTE PARAMETRE_TRANSFORM ::= PARAMETRE_TRANSFORM PARAMETRE_TRANSFORM | ROTATE TRIPLET | TRANSLATE TRIPLET | SCALE TRIPLET PARAMETRE_PIGMENT ::= PARAMETRE_PIGMENT PARAMETRE_PIGMENT | COLOR TRIPLET | TEXTURE PARAMETRE_TEXTURE | CHECKER PARAMETRE_CHECKER | PERLIN ACC_OUVRANTE PARAMETRE_PERLIN ACC_FERMANTE | WOOD ACC_OUVRANTE PARAMETRE_PERLIN ACC_FERMANTE | MARBLE ACC_OUVRANTE PARAMETRE_PERLIN ACC_FERMANTE | ROTATE TRIPLET | TRANSLATE TRIPLET | SCALE TRIPLET PARAMETRE_TEXTURE ::= CHAINE VIRGULE INT PARAMETRE_CHECKER ::= FLOAT VIRGULE TRIPLET VIRGULE TRIPLET PARAMETRE_PERLIN ::= FLOAT VIRGULE FLOAT VIRGULE INT VIRGULE FLOAT COLOR_MAP ACC_OUVRANTE PARAMETRE_COLOR_MAP ACC_FERMANTE PARAMETRE_COLOR_MAP ::= PARAMETRE_COLOR_MAP PARAMETRE_COLOR_MAP | CROCHET_OUVRANT FLOAT COLOR TRIPLET CROCHET_FERMANT PARAMETRE_FINISH ::= PARAMETRE_FINISH PARAMETRE_FINISH | AMBIENT FLOAT | DIFFUSE FLOAT | SPECULAR FLOAT | SHININESS FLOAT | TRANSPARENCY FLOAT | REFLECTION FLOAT | IOR FLOAT PARAMETRE_NORMAL ::= PARAMETRE_NORMAL PARAMETRE_NORMAL | PERLIN ACC_OUVRANTE PARAMETRE_PERLIN PARAMETRE_TRANSFORM ACC_FERMANTE | WOOD ACC_OUVRANTE PARAMETRE_PERLIN PARAMETRE_TRANSFORM ACC_FERMANTE | MARBLE ACC_OUVRANTE PARAMETRE_PERLIN PARAMETRE_TRANSFORM ACC_FERMANTE TRIPLET ::= CHEVRON_OUVRANT FLOAT VIRGULE FLOAT VIRGULE FLOAT CHEVRON_FERMANT SYMBOLES TERMINAUX : FLOAT ::= un nombre decimal INT ::= un nombre entier CHAINE ::= une suite de caracteres ascii ne commencant pas par un chiffre, "-" ou "#" et ne contenant pas le symbole "*" ACC_OUVRANTE ::= "{" ACC_FERMANTE ::= "}" CROCHET_OUVRANT ::= "[" CROCHET_FERMANT ::= "]" CHEVRON_OUVRANT ::= "<" CHEVRON_FERMANT ::= ">" VIRGULE ::= "," CAMERA ::= "camera" LOOK_AT FIELD_OF_VIEW ::= "field_of_view" PROJECTION_SIZE ::= "projection_size" PERSPECTIVE ::= "perspective" ORTHOGRAPHIC ::= "orthographic" BACKGROUND ::= "background" LIGHT_SOURCE ::= "light_source" DIRECTION ::= "direction" ATTENUATION ::= "attenuation" DIRECTIONNAL ::= "directionnal" POINT_SOURCE ::= "point_source" GLOBAL_SETTING ::= "global_setting" MAX_TRACE_LEVEL ::= "max_trace_level" OUTPUT_HEIGHT ::= "output_height" OUTPUT_WIDTH ::= "output_width" ANTIALIASING ::= "antialiasing" AA_THRESHOLD ::= "aa_threshold" SOFT_SHADOW ::= "soft_shadow" SHADOW_RAY ::= "shadow_ray" SPHERE ::= "sphere" CUBE_TROUE ::= "cube_troue" PLAN ::= "plan" CYLINDRE ::= "cylindre" CONE ::= "cone" BOX ::= "box" TRIANGLE ::= "triangle" PARALLELOGRAM ::= "parallelogram" TORUS ::= "torus" PYRAMID3 ::= "pyramid3" PYRAMID4 ::= "pyramid4" LOCATION ::= "location" COLOR ::= "color" TRANSFORM ::= "transform" ROTATE ::= "rotate" TRANSLATE ::= "translate" SCALE ::= "scale" FINISH ::= "finish" DIFFUSE ::= "diffuse" SPECULAR ::= "specular" SHININESS ::= "shininess" TRANSPARENCY ::= "transparency" IOR ::= "ior" REFLECTION ::= "reflection" PIGMENT ::= "pigment" TEXTURE ::= "texture" NORMAL ::= "normal" AMBIENT ::= "ambient" CHECKER ::= "checker" COLOR_MAP ::= "color_map" PERLIN ::= "perlin" WOOD ::= "wood" MARBLE ::= "marble"