//-*-C++-*-
/*
**************************************************************************
                                 description
                             --------------------
    copyright            : (C) 2000-2003 by Andreas Zehender
    email                : zehender@kde.org
**************************************************************************

**************************************************************************
*                                                                        *
*  This program is free software; you can redistribute it and/or modify  *
*  it under the terms of the GNU General Public License as published by  *
*  the Free Software Foundation; either version 2 of the License, or     *
*  (at your option) any later version.                                   *
*                                                                        *
**************************************************************************/


#ifndef PMTOKENS_H
#define PMTOKENS_H


enum PMToken {
   SCANNER_ERROR_TOK=-2,
   EOF_TOK=-1,
   //single character tokens
   //reserved words in povray
   AA_LEVEL_TOK=0x100,
   AA_THRESHOLD_TOK,
   ABS_TOK,
   ABSORPTION_TOK,
   ACCURACY_TOK,
   ACOS_TOK,
   ACOSH_TOK,
   ADAPTIVE_TOK,
   ADC_BAILOUT_TOK,
   AGATE_TOK,
   AGATE_TURB_TOK,
   ALL_TOK,
   ALL_INTERSECTIONS_TOK,
   ALPHA_TOK,
   ALTITUDE_TOK,
   ALWAYS_SAMPLE_TOK,
   AMBIENT_TOK,
   AMBIENT_LIGHT_TOK,
   ANGLE_TOK,
   APERTURE_TOK,
   ARC_ANGLE_TOK,
   AREA_LIGHT_TOK,
   AREA_CIRCULAR_TOK,
   ASC_TOK,
   ASIN_TOK,
   ASINH_TOK,
   ASSUMED_GAMMA_TOK,
   ATAN_TOK,
   ATAN2_TOK,
   ATANH_TOK,
   ATMOSPHERE_TOK,
   ATMOSPHERIC_ATTENUATION_TOK,
   ATTENUATING_TOK,
   AUTOSTOP_TOK,
   AVERAGE_TOK,
   B_SPLINE_TOK,
   BACKGROUND_TOK,
   BEZIER_SPLINE_TOK,
   BICUBIC_PATCH_TOK,
   BLACK_HOLE_TOK,
   BLOB_TOK,
   BLUE_TOK,
   BLUR_SAMPLES_TOK,
   BOUNDED_BY_TOK,
   BOX_TOK,
   BOXED_TOK,
   BOZO_TOK,
   BREAK_TOK,
   BRICK_TOK,
   BRICK_SIZE_TOK,
   BRIGHTNESS_TOK,
   BRILLIANCE_TOK,
   BUMPS_TOK,
   BUMPY1_TOK,
   BUMPY2_TOK,
   BUMPY3_TOK,
   BUMP_MAP_TOK,
   BUMP_SIZE_TOK,
   CAMERA_TOK,
   CASE_TOK,
   CAUSTICS_TOK,
   CEIL_TOK,
   CELLS_TOK,
   CHECKER_TOK,
   CHR_TOK,
   CLIPPED_BY_TOK,
   CLOCK_TOK,
   CLOCK_DELTA_TOK,
   COLLECT_TOK,
   COLOR_TOK,
   COLOR_MAP_TOK,
   COLOUR_TOK,
   COLOUR_MAP_TOK,
   COMPONENT_TOK,
   COMPOSITE_TOK,
   CONCAT_TOK,
   CONE_TOK,
   CONFIDENCE_TOK,
   CONIC_SWEEP_TOK,
   CONSERVE_ENERGY_TOK,
   CONSTANT_TOK,
   CONTAINED_BY_TOK,
   CONTROL0_TOK,
   CONTROL1_TOK,
   COS_TOK,
   COSH_TOK,
   COUNT_TOK,
   CRACKLE_TOK,
   CRAND_TOK,
   CUBE_TOK,
   CUBIC_TOK,
   CUBIC_SPLINE_TOK,
   CUBIC_WAVE_TOK,
   CYLINDER_TOK,
   CYLINDRICAL_TOK,
   DEBUG_TOK,
   DECLARE_TOK,
   DEFAULT_TOK,
   DEGREES_TOK,
   DENTS_TOK,
   DENSITY_TOK,
   DENSITY_FILE_TOK,
   DENSITY_MAP_TOK,
   DF3_TOK,
   DIFFERENCE_TOK,
   DIFFUSE_TOK,
   DIRECTION_TOK,
   DISC_TOK,
   DISPERSION_TOK,
   DISPERSION_SAMPLES_TOK,
   DIST_EXP_TOK,
   DISTANCE_TOK,
   DISTANCE_MAXIMUM_TOK,
   DIV_TOK,
   DOUBLE_ILLUMINATE_TOK,
   DUST_TOK,
   DUST_TYPE_TOK,
   ECCENTRICITY_TOK,
   ELSE_TOK,
   EMISSION_TOK,
   EMITTING_TOK,
   END_TOK,
   ERROR_TOK,
   ERROR_BOUND_TOK,
   EVALUATE_TOK,
   EXP_TOK,
   EXPAND_THRESHOLDS_TOK,
   EXPONENT_TOK,
   EXTERIOR_TOK,
   EXTINCTION_TOK,
   FADE_DISTANCE_TOK,
   FADE_POWER_TOK,
   FALLOFF_TOK,
   FALLOFF_ANGLE_TOK,
   FALSE_TOK,
   FILE_EXISTS_TOK,
   FILTER_TOK,
   FINISH_TOK,
   FISHEYE_TOK,
   FLATNESS_TOK,
   FLIP_TOK,
   FLOOR_TOK,
   FOCAL_POINT_TOK,
   FOG_TOK,
   FOG_ALT_TOK,
   FOG_OFFSET_TOK,
   FOG_TYPE_TOK,
   FORM_TOK,
   FRESNEL_TOK,
   FREQUENCY_TOK,
   FUNCTION_TOK,
   GATHER_TOK,
   GIF_TOK,
   GLOBAL_LIGHTS_TOK,
   GLOBAL_SETTINGS_TOK,
   GLOWING_TOK,
   GRADIENT_TOK,
   GRANITE_TOK,
   GRAY_THRESHOLD_TOK,
   GREEN_TOK,
   HALO_TOK,
   HEIGHT_FIELD_TOK,
   HEXAGON_TOK,
   HF_GRAY_16_TOK,
   HIERARCHY_TOK,
   HOLLOW_TOK,
   HYPERCOMPLEX_TOK,
   IF_TOK,
   IFDEF_TOK,
   IFF_TOK,
   IFNDEF_TOK,
   IMAGE_MAP_TOK,
   INCIDENCE_TOK,
   INCLUDE_TOK,
   INSIDE_VECTOR_TOK,
   INT_TOK,
   INTERIOR_TOK,
   INTERIOR_TEXTURE_TOK,
   INTERPOLATE_TOK,
   INTERSECTION_TOK,
   INTERVALS_TOK,
   INVERSE_TOK,
   ISOSURFACE_TOK,
   IOR_TOK,
   IRID_TOK,
   IRID_WAVELENGTH_TOK,
   JITTER_TOK,
   JULIA_TOK,
   JULIA_FRACTAL_TOK,
   LAMBDA_TOK,
   LATHE_TOK,
   LEOPARD_TOK,
   LIGHT_GROUP_TOK,
   LIGHT_SOURCE_TOK,
   LINEAR_TOK,
   LINEAR_SPLINE_TOK,
   LINEAR_SWEEP_TOK,
   LOCATION_TOK,
   LOG_TOK,
   LOOKS_LIKE_TOK,
   LOOK_AT_TOK,
   LOW_ERROR_FACTOR_TOK,
   MAGNET_TOK,
   MAJOR_RADIUS_TOK,
   MANDEL_TOK,
   MAP_TYPE_TOK,
   MARBLE_TOK,
   MATERIAL_TOK,
   MATERIAL_MAP_TOK,
   MATRIX_TOK,
   MAX_TOK,
   MAX_GRADIENT_TOK,
   MAX_INTERSECTIONS_TOK,
   MAX_ITERATION_TOK,
   MAX_SAMPLE_TOK,
   MAX_TRACE_TOK,
   MAX_TRACE_LEVEL_TOK,
   MAX_VALUE_TOK,
   MEDIA_TOK,
   MEDIA_ATTENUATION_TOK,
   MEDIA_INTERACTION_TOK,
   MERGE_TOK,
   MESH_TOK,
   METALLIC_TOK,
   METHOD_TOK,
   METRIC_TOK,
   MIN_TOK,
   MINIMUM_REUSE_TOK,
   MOD_TOK,
   MORTAR_TOK,
   NEAREST_COUNT_TOK,
   NO_TOK,
   NOISE_GENERATOR_TOK,
   NORMAL_TOK,
   NORMAL_MAP_TOK,
   NO_IMAGE_TOK,
   NO_REFLECTION_TOK,
   NO_SHADOW_TOK,
   NUMBER_OF_WAVES_TOK,
   OBJECT_TOK,
   OCTAVES_TOK,
   OFF_TOK,
   OFFSET_TOK,
   OMEGA_TOK,
   OMNIMAX_TOK,
   ON_TOK,
   ONCE_TOK,
   ONION_TOK,
   OPEN_TOK,
   ORIENT_TOK,
   ORTHOGRAPHIC_TOK,
   PANORAMIC_TOK,
   PARALLEL_TOK,
   PASS_THROUGH_TOK,
   PATTERN1_TOK,
   PATTERN2_TOK,
   PATTERN3_TOK,
   PERSPECTIVE_TOK,
   PGM_TOK,
   PHASE_TOK,
   PHONG_TOK,
   PHONG_SIZE_TOK,
   PHOTONS_TOK,
   PI_TOK,
   PIGMENT_TOK,
   PIGMENT_MAP_TOK,
   PLANAR_TOK,
   PLANE_TOK,
   PNG_TOK,
   POINT_AT_TOK,
   POLY_TOK,
   POLY_WAVE_TOK,
   POLYGON_TOK,
   POT_TOK,
   POW_TOK,
   PPM_TOK,
   PRECISION_TOK,
   PRETRACE_END_TOK,
   PRETRACE_START_TOK,
   PRISM_TOK,
   PROJECTED_THROUGH_TOK,
   PWR_TOK,
   QUADRATIC_SPLINE_TOK,
   QUADRIC_TOK,
   QUARTIC_TOK,
   QUATERNION_TOK,
   QUICK_COLOR_TOK,
   QUICK_COLOUR_TOK,
   QUILTED_TOK,
   RADIAL_TOK,
   RADIANS_TOK,
   RADIOSITY_TOK,
   RADIUS_TOK,
   RAINBOW_TOK,
   RAMP_WAVE_TOK,
   RAND_TOK,
   RANGE_TOK,
   RATIO_TOK,
   RECIPROCAL_TOK,
   RECURSION_LIMIT_TOK,
   RED_TOK,
   REFLECTION_TOK,
   REFLECTION_EXPONENT_TOK,
   REFRACTION_TOK,
   RENDER_TOK,
   REPEAT_TOK,
   RGB_TOK,
   RGBF_TOK,
   RGBFT_TOK,
   RGBT_TOK,
   RIGHT_TOK,
   RIPPLES_TOK,
   ROTATE_TOK,
   ROUGHNESS_TOK,
   SAMPLES_TOK,
   SCALE_TOK,
   SCALLOP_WAVE_TOK,
   SCATTERING_TOK,
   SEED_TOK,
   SHADOWLESS_TOK,
   SIN_TOK,
   SINE_WAVE_TOK,
   SINH_TOK,
   SKY_TOK,
   SKY_SPHERE_TOK,
   SLICE_TOK,
   SLOPE_TOK,
   SLOPE_MAP_TOK,
   SMOOTH_TOK,
   SMOOTH_TRIANGLE_TOK,
   SOR_TOK,
   SOLID_TOK,
   SPACING_TOK,
   SPECULAR_TOK,
   SPHERE_TOK,
   SPHERE_SWEEP_TOK,
   SPHERICAL_TOK,
   SPIRAL_TOK,
   SPIRAL1_TOK,
   SPIRAL2_TOK,
   SPOTLIGHT_TOK,
   SPOTTED_TOK,
   SQR_TOK,
   SQRT_TOK,
   STATISTICS_TOK,
   STR_TOK,
   STRCMP_TOK,
   STRENGTH_TOK,
   STRLEN_TOK,
   STRLWR_TOK,
   STRUPR_TOK,
   STURM_TOK,
   SUBSTR_TOK,
   SUPERELLIPSOID_TOK,
   SWITCH_TOK,
   SYS_TOK,
   T_TOK,
   TAN_TOK,
   TANH_TOK,
   TARGET_TOK,
   TEST_CAMERA_1_TOK,
   TEST_CAMERA_2_TOK,
   TEST_CAMERA_3_TOK,
   TEST_CAMERA_4_TOK,
   TEXT_TOK,
   TEXTURE_TOK,
   TEXTURE_MAP_TOK,
   TGA_TOK,
   THICKNESS_TOK,
   THRESHOLD_TOK,
   TIGHTNESS_TOK,
   TILE2_TOK,
   TILES_TOK,
   TOLERANCE_TOK,
   TOROIDAL_TOK,
   TORUS_TOK,
   TRACK_TOK,
   TRANSFORM_TOK,
   TRANSLATE_TOK,
   TRANSMIT_TOK,
   TRIANGLE_TOK,
   TRIANGLE_WAVE_TOK,
   TRUE_TOK,
   TTF_TOK,
   TURBULENCE_TOK,
   TURB_DEPTH_TOK,
   TYPE_TOK,
   U_TOK,
   ULTRA_WIDE_ANGLE_TOK,
   UNION_TOK,
   UP_TOK,
   USE_COLOR_TOK,
   USE_COLOUR_TOK,
   USE_INDEX_TOK,
   U_STEPS_TOK,
   UV_MAPPING_TOK,
   UV_VECTORS_TOK,
   V_TOK,
   VAL_TOK,
   VARIANCE_TOK,
   VAXIS_ROTATE_TOK,
   VCROSS_TOK,
   VDOT_TOK,
   VERSION_TOK,
   VLENGTH_TOK,
   VNORMALIZE_TOK,
   VOLUME_OBJECT_TOK,
   VOLUME_RENDERED_TOK,
   VOL_WITH_LIGHT_TOK,
   VROTATE_TOK,
   V_STEPS_TOK,
   WARNING_TOK,
   WARP_TOK,
   WATER_LEVEL_TOK,
   WAVES_TOK,
   WHILE_TOK,
   WIDTH_TOK,
   WOOD_TOK,
   WRINKLES_TOK,
   X_TOK,
   Y_TOK,
   YES_TOK,
   Z_TOK,
   // extra tokens
   ID_TOK,
   INTEGER_TOK,
   FLOAT_TOK,
   COMMENT_TOK,
   LINE_COMMENT_TOK,
   STRING_TOK,
   PMNAME_TOK,
   RAW_POVRAY_TOK
};

#endif
