1/* Legal characters in GLSL are:
2 *
3 * Identifier characters:
4 *
5 *     Letters a-z
6 *     Letters A-Z
7 *     Underscore
8 *     Numbers 0-9
9 *
10 * Punctuation:
11 *
12 *     Period, plus, dash, slash, asterisk, percent, angled brackets,
13 *     square brackets, parentheses, braces, caret, vertical bar,
14 *     ampersand, tilde, equals, exclamation point, colon, semicolon,
15 *     comma, and question mark
16 *
17 * Special:
18 *
19 *     Number sign (as used in preprocessor)
20 *
21 *     Backslash just before newline as line continuation
22 *
23 * White space:
24 *
25 *     Space, horizontal tab, vertical tab, form feed, carriage-return,
26 *     and line-feed.
27 *
28 * [GLSL Language Specficiation 4.30.6, section 3.1]
29 *
30 * In this file, we test each of these in turn as follows:
31 *
32 *    Identifier characters: All pass through unchanged
33 *    Punctuation: All pass through unchanged
34 *    Special: Empty directive replaced with blank line
35 *             Line continuation merges two lines, then a blank line
36 *    Whitespace: 4 horizontal space characters each replaced with space
37 *                2 newline characters each replaced with a newline
38 *
39 */
40abcdefghijklmnopqrstuvwxyz
41ABCDEFGHIJKMLNOPQRSTUVWXYZ
42_
430123456789
44.
45+
46-
47/
48*
49%
50<
51>
52[
53]
54(
55)
56{
57}
58^
59|
60&
61~
62=
63!
64:
65;
66,
67?
68#
69.\
70.
71. .
72.	.
73..
74..
75..
76.
77.
78