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 */ 40 abcdefghijklmnopqrstuvwxyz 41 ABCDEFGHIJKMLNOPQRSTUVWXYZ 42 _ 43 0123456789 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