ACC SHELL
# 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 2, 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 <jbnivoit@multimania.com>"
version is 1.0
requires a2ps version 4.13
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
ACC SHELL 2018