|   | 3.8.2 The Scene | POV-Ray 3.6 for UNIX documentation 3.8.3 Language Basics | 3.8.4 Language Directives |   | 
NUMERIC_TERM [SIGN NUMERIC_TERM]... 
 + | - 
 NUMERIC_FACTOR [MULT NUMERIC_FACTOR]... 
 * | / 
 FLOAT_LITERAL | FLOAT_IDENTIFIER | SIGN NUMERIC_EXPRESSION | FLOAT_FUNCTION | FLOAT_BUILT_IN_IDENT | ( FULL_EXPRESSION ) 
  | ! NUMERIC_EXPRESSION | VECTOR.DOT_ITEM | FLOAT_FUNCTION_INVOCATION 
  
 [DIGIT...][.]DIGIT...[EXP[SIGN]DIGIT...] 
 0 | 1 | 2 | 3 | 4 | 5 
  | 6 | 7 | 8 | 9 
 e | E 
 abs (FLOAT) | acos (FLOAT) | acosh (FLOAT) 
  | asc (STRING) | asin (FLOAT) | asinh (FLOAT) 
  | atan (FLOAT) | atanh (FLOAT) | atan2 (FLOAT,FLOAT) 
  | ceil (FLOAT) | cos (FLOAT) | cosh (FLOAT) 
  | defined (IDENTIFIER) | degrees (FLOAT) 
  | dimensions (ARRAY_IDENTIFIER) | dimension_size (ARRAY_IDENTIFIER,INT) 
  | div (FLOAT,FLOAT) | exp (FLOAT) | file_exists (STRING) 
  | floor (FLOAT) | int (FLOAT) | inside (SOLID_OBJECT_IDENT, 
  VECTOR) | ln (FLOAT) | log (FLOAT) 
  | max (FLOAT,FLOAT[,FLOAT]...) | min (FLOAT,FLOAT[,FLOAT]...) 
  | mod (FLOAT,FLOAT) | pow (FLOAT,FLOAT) 
  | radians (FLOAT) | rand (FLOAT) | seed (FLOAT) 
  | select (FLOAT,FLOAT,FLOAT,[FLOAT]) | sin (FLOAT) 
  | sinh (FLOAT) | sqrt (FLOAT) | strcmp (STRING,STRING) 
  | strlen (STRING) | tan (FLOAT) | tanh (FLOAT) 
  | val (STRING) | vdot (VECTOR,VECTOR) | vlength (VECTOR) 
  
 BOOLEAN_KEYWORD | clock | clock_delta | clock_on | final_clock 
  | final_frame | frame_number | image_height | image_width 
  | initial_clock | initial_frame | pi | version 
  
 true | yes | on | false | no 
  | off 
 LOGICAL_EXPRESSION [? FULL_EXPRESSION : FULL_EXPRESSION] 
 REL_TERM [LOGICAL_OPERATOR REL_TERM]... 
 & | | 
 FLOAT [REL_OPERATOR FLOAT]... 
 < | <= | = | >= | > 
  | != 
 x | y | z | t | u | v 
  | red | green | blue | filter | transmit 
  | gray 
 FLOAT 
 BOOLEAN_KEYWORD | LOGICAL_EXPRESSION 
 VECTOR_TERM [SIGN VECTOR_TERM]... 
 VECTOR_EXPRESSION [MULT VECTOR_EXPRESSION]... 
 VECTOR_LITERAL | VECTOR_IDENTIFIER | SIGN VECTOR_EXPRESSION | VECTOR_FUNCTION | VECTOR_BUILT_IN_IDENT 
  | ! VECTOR_EXPRESSION | FLOAT | VECTOR_FUNCTION_INVOCATION 
  | COLOR_FUNCTION_INVOCATION | SPLINE_INVOCATION 
  
 < FLOAT, FLOAT [, FLOAT [, FLOAT [, FLOAT ]]] > 
 min_extent (OBJECT_IDENTIFIER) | max_extent (OBJECT_IDENTIFIER) 
  | trace (OBJECT_IDENTIFIER,VECTOR,VECTOR[,VECTOR_IDENTIFIER]) | vaxis_rotate (VECTOR,VECTOR,FLOAT) 
  | vcross (VECTOR,VECTOR) | vrotate (VECTOR,VECTOR) 
  | vnormalize (VECTOR) | vturbulence (FLOAT,FLOAT,FLOAT,VECTOR) 
  
 x | y | z | t | u | v 
  
[color] COLOR_BODY | colour COLOR_BODY 
 COLOR_VECTOR | COLOR_KEYWORD_GROUP | COLOR_IDENTIFIER 
 rgb 3D_VECTOR | rgbf 4D_VECTOR | rgbt 4D_VECTOR | [rgbft] 
  5D_VECTOR 
 [COLOR_IDENTIFIER] COLOR_KEYWORD_ITEMS 
 [red FLOAT] & [green FLOAT] & [blue FLOAT] & 
  [filter FLOAT] & [transmit FLOAT] 
FLOAT_USER_FUNCTION | VECTOR_USER_FUNCTION | COLOR_USER_FUNCTION 
 function { FN_FLOAT } | function (IDENT_LIST) { FN_FLOAT } 
  | function { pattern { PATTERN [PATTERN_MODIFIERS]} } 
  
 IDENT_ITEM [, IDENT_LIST] 
 x | y | z | u | v | 
  PARAM_IDENTIFIER 
 MAP_PATTERN | brick [BRICK_ITEM] | checker 
  | hexagon | object { LIST_OBJECT } 
  
 function { SPECIAL_VECTOR_FUNCTION } 
 TRANSFORM | SPLINE 
 function { PIGMENT } 
LOGIC_AND [OR LOGIC_AND] 
 | 
 REL_TERM [AND REL_TERM] 
 & 
 TERM [REL_OPERATOR TERM] 
 < | <= | = | >= | > 
  | != 
 FACTOR [SIGN FACTOR] 
 + | - 
 EXPRESSION [MULT EXPRESSION] 
 * | / 
 FLOAT_LITERAL | FLOAT_IDENTIFIER | FN_FLOAT_FUNCTION | FLOAT_BUILT_IN_IDENT | ( FN_FLOAT ) 
  | IDENT_ITEM | SIGN EXPRESSION | VECTOR_FUNCTION_INVOCATION.FN_DOT_ITEM | 
  COLOR_FUNCTION_INVOCATION.FN_DOT_ITEM | FLOAT_FUNCTION_INVOCATION 
 DOT_ITEM | hf 
 abs (FN_FLOAT) | acos (FN_FLOAT) 
  | acosh (FN_FLOAT) | asin (FN_FLOAT) | asinh (FN_FLOAT) 
  | atan (FN_FLOAT) | atanh (FN_FLOAT) | atan2 (FN_FLOAT,FN_FLOAT) 
  | ceil (FN_FLOAT) | cos (FN_FLOAT) | cosh (FN_FLOAT) 
  | degrees (FN_FLOAT) | exp (FN_FLOAT) | floor (FN_FLOAT) 
  | int (FN_FLOAT) | ln (FN_FLOAT) | log (FN_FLOAT) 
  | max (FN_FLOAT,FN_FLOAT[,FN_FLOAT]...) | min (FN_FLOAT,FN_FLOAT[,FN_FLOAT]...) 
  | mod (FN_FLOAT,FN_FLOAT) | pow (FN_FLOAT,FN_FLOAT) 
  | prod (IDENTIFIER, FN_FLOAT, FN_FLOAT, FN_FLOAT) | radians (FN_FLOAT) 
  | sin (FN_FLOAT) | sinh (FN_FLOAT) | sqrt (FN_FLOAT) 
  | sum (IDENTIFIER, FN_FLOAT, FN_FLOAT, FN_FLOAT) |tan (FN_FLOAT) 
  | tanh (FN_FLOAT) | select (FN_FLOAT,FN_FLOAT,FN_FLOAT 
  [,FN_FLOAT]) 
#declare FLOAT_FUNCTION_IDENTIFIER = FLOAT_USER_FUNCTION |
 #local 
  FLOAT_FUNCTION_IDENTIFIER = FLOAT_USER_FUNCTION |
 #declare 
  VECTOR_FUNCTION_IDENTIFIER = VECTOR_USER_FUNCTION |
 #local 
  VECTOR_FUNCTION_IDENTIFIER = VECTOR_USER_FUNCTION |
 #declare 
  COLOR_FUNCTION_IDENTIFIER = COLOR_USER_FUNCTION |
 #local 
  COLOR_FUNCTION_IDENTIFIER = COLOR_USER_FUNCTION 
FLOAT_FUNCTION_IDENTIFIER (FN_PARAM_LIST) 
 VECTOR_FUNCTION_IDENTIFIER (FN_PARAM_LIST) 
 COLOR_FUNCTION_IDENTIFIER (FN_PARAM_LIST) 
 FN_PARAM_ITEM [, FN_PARAM_LIST] 
 x | y | z | u | v | 
  FLOAT 
STRING_FUNCTION | STRING_IDENTIFIER | STRING_LITERAL 
 chr (INT) | concat (STRING,STRING[,STRING]...) 
  | str (FLOAT,INT,INT) | strlwr (STRING) 
  | strupr (STRING) | substr (STRING,INT,INT) 
  | vstr (INT,VECTOR,STRING,INT,INT) 
 QUOTE [CHARACTER...] QUOTE 
 " 
 \a - alarm\b - backspace\f 
  - form feed\n - new line\r - carriage return\t - horizontal tab\uNNNN - 
  unicode character four-digit code\v - vertical tab\\ 
  - backslash\' - single quote\" - double 
  quote#declare ARRAY_IDENTIFIER = array DIMENSION... [ARRAY_INITIALIZER] |
 #local 
  ARRAY_IDENTIFIER = array DIMENSION... [ARRAY_INITIALIZER] 
 [ INT ] 
 { ARRAY_INITIALIZER [, ARRAY_INITIALIZER]... } |
 { 
  RVALUE [, RVALUE]... } 
#declare ARRAY_REFERENCE =RVALUE [;] 
  |
 #local ARRAY_REFERENCE = RVALUE [;] 
 ARRAY_IDENTIFIER ELEMENT... 
 [ INT ] 
 spline { SPLINE_ITEMS } 
 [SPLINE_TYPE] PATH_LIST | SPLINE_IDENTIFIER [SPLINE_TYPE][PATH_LIST] 
 linear_spline | quadratic_spline | cubic_spline | natural_spline 
  
 FLOAT, VECTOR [[,] PATH_LIST] 
SPLINE_IDENTIFIER ( FLOAT [, SPLINE_TYPE] ) 
|   | 3.8.2 The Scene | 3.8.3 Language Basics | 3.8.4 Language Directives |   |