/* Legal characters in GLSL are: * * Identifier characters: * * Letters a-z * Letters A-Z * Underscore * Numbers 0-9 * * Punctuation: * * Period, plus, dash, slash, asterisk, percent, angled brackets, * square brackets, parentheses, braces, caret, vertical bar, * ampersand, tilde, equals, exclamation point, colon, semicolon, * comma, and question mark * * Special: * * Number sign (as used in preprocessor) * * Backslash just before newline as line continuation * * White space: * * Space, horizontal tab, vertical tab, form feed, carriage-return, * and line-feed. * * [GLSL Language Specficiation 4.30.6, section 3.1] * * In this file, we test each of these in turn as follows: * * Identifier characters: All pass through unchanged * Punctuation: All pass through unchanged * Special: Empty directive replaced with blank line * Line continuation merges two lines, then a blank line * Whitespace: 4 horizontal space characters each replaced with space * 2 newline characters each replaced with a newline * */ abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKMLNOPQRSTUVWXYZ _ 0123456789 . + - / * % < > [ ] ( ) { } ^ | & ~ = ! : ; , ? # .\ . . . . . . . . . .. . .