# Style sheet for Pov-Ray # Copyright (c) 2000 Jean-Baptiste Nivoit # Inspired by c.ssh & cpp.ssh # # 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 3, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; see the file COPYING. If not, write to # the Free Software Foundation, 59 Temple Place - Suite 330, # Boston, MA 02111-1307, USA. # style "Pov-Ray" is written by "Jean-Baptiste Nivoit " version is 1.0 requires a2ps version 4.12l documentation is "Should handle Persistence Of Vision input files." end documentation alphabets are "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_#%" case sensitive # Looks a lot like C preprocessor keywords... keywords in Keyword are /^#[ ]*(declare|debug|version|e(l(if|se)|nd)|i(f(|def|ndef)|nclude)|undef)/ end keywords # tokens taken from source/tokenize.c in povray3 source keywords in Keyword_strong are aa_level, aa_threshold, abs, acos, acsh, adaptive, adc_bailout, agate, agate_turb, all, alpha, ambient_light, ambient, angle, aperture, arc_angle, area_light, asc, asin, asinh, assumed_gamma, atan, atan2, atanh, atmosphere, atmospheric_attenuation, attenuating, average, background, bicubic_patch, black_hole, blob, blue, blur_samples, bounded_by, box_mapping, box, bozo, break, brick_size, brick, brightness, brilliance, bumps, bump_map, bump_size, camera, "case", caustics, ceil, checker, chr, clipped_by, clock, colour, color_map, color, component, composite, concat, cone, confidence, conic_sweep, constant, cos, cosh, count, crackle, crand, cube, cubic_spline, cubic, cylinder, cylindrical_mapping, default, degrees, dents, difference, diffuse, direction, disc, distance_maximum, distance, div, dust, dust_type, else, emitting, error_bound, error, eccentricity, exponent, exp, fade_distance, fade_power, falloff_angle, falloff, false, file_exists, shadowless, filter, finish, fisheye, flatness, flip, float, floor, focal_point, fog_alt, fog, fog_offset, fog_type, frequency, gif, global_settings, glowing, gradient, granite, gray_threshold, green, halo, height_field, hexagon, hf_gray_16, hierarchy, hollow, hypercomplex, iff, image_map, incidence, interpolate, intersection, int, inverse, ior, irid, irid_wavelength, jitter, julia_fractal, lambda, lathe, leopard, light_source, linear_spline, linear_sweep, linear, location, log, looks_like, look_at, low_error_factor, mandel, map_type, marble, material_map, matrix, max_intersections, max_iteration, max, max_trace_level, max_value, merge, mesh, metallic, minimum_reuse, min, mod, mortar, nearest_count, normal_map, no_shadow, no, number_of_waves, object, octaves, offset, off, omega, omnimax, once, onion, on, open, orthographic, panoramic, perspective, pgm, phase, phong_size, phong, pigment_map, pigment, pi, planar_mapping, plane, png, point_at, polygon, poly, pot, pow, ppm, precision, prism, pwr, quadratic_spline, quadric, quartic, quaternion, quick_color, quick_colour, quilted, radial, radians, radiosity, radius, rainbow, ramp_wave, rand, range, reciprocal, recursion_limit, red, reflection, refraction, render, repeat, rgbft, rgbf, rgbt, rgb, right, ripples, rotate, roughness, samples, scale, scallop_wave, scattering, seed, sine_wave, sin, sinh, sky_sphere, sky, slice, slope_map, smooth, smooth_triangle, sor, specular, sphere, spherical_mapping, spiral, spotlight, spotted, sqr, sqrt, statistics, strcmp, strength, string, strlen, strlwr, strupr, str, sturm, substr, superellipsoid, switch, sys, t, tan, tanh, texture_map, texture, text, tga, thickness, threshold, tightness, tiles, normal, torus, track, transform, translate, transmit, triangle, triangle_wave, true, ttf, turbulence, turb_depth, type, ultra_wide_angle, union, up, use_color, use_colour, use_index, u_steps, u, val, variance, vaxis_rotate, vcross, vdot, vector, vlength, vnormalize, volume_object, volume_rendered, vol_with_light, vrotate, v_steps, v, warning, warp, water_level, waves, while, width, wood, wrinkles, x, yes, y, z end keywords optional operators are "&", "@", "`", # \\, "|", ":", "-", "$", "=", "^", "<", "(", "[", "%", ".", "+", "?", ">=", "<=", "!=", ">", "}", ")", ";", "'", "]", "*", "/", "~", ! \not end operators sequences are "/*" Comment "*/", "//" Comment, C-string end sequences end style