Merge commit 'origin/gallium-0.2' into gallium-xlib-rework
[mesa.git] / src / mesa / shader / slang / library / slang_pp_directives_syn.h
1
2 /* DO NOT EDIT - THIS FILE IS AUTOMATICALLY GENERATED FROM THE .syn FILE */
3
4 ".syntax source;\n"
5 ".emtcode ESCAPE_TOKEN 0\n"
6 ".emtcode TOKEN_END 0\n"
7 ".emtcode TOKEN_DEFINE 1\n"
8 ".emtcode TOKEN_UNDEF 2\n"
9 ".emtcode TOKEN_IF 3\n"
10 ".emtcode TOKEN_ELSE 4\n"
11 ".emtcode TOKEN_ELIF 5\n"
12 ".emtcode TOKEN_ENDIF 6\n"
13 ".emtcode TOKEN_ERROR 7\n"
14 ".emtcode TOKEN_PRAGMA 8\n"
15 ".emtcode TOKEN_EXTENSION 9\n"
16 ".emtcode TOKEN_LINE 10\n"
17 ".emtcode PARAM_END 0\n"
18 ".emtcode PARAM_PARAMETER 1\n"
19 ".emtcode BEHAVIOR_REQUIRE 1\n"
20 ".emtcode BEHAVIOR_ENABLE 2\n"
21 ".emtcode BEHAVIOR_WARN 3\n"
22 ".emtcode BEHAVIOR_DISABLE 4\n"
23 ".emtcode PRAGMA_NO_PARAM 0\n"
24 ".emtcode PRAGMA_PARAM 1\n"
25 "source\n"
26 " optional_directive .and .loop source_element .and '\\0' .emit ESCAPE_TOKEN .emit TOKEN_END;\n"
27 "source_element\n"
28 " c_style_comment_block .or cpp_style_comment_block .or new_line_directive .or source_token;\n"
29 "c_style_comment_block\n"
30 " '/' .and '*' .and c_style_comment_rest .and .true .emit ' ';\n"
31 "c_style_comment_rest\n"
32 " .loop c_style_comment_body .and c_style_comment_end;\n"
33 "c_style_comment_body\n"
34 " c_style_comment_char_nostar .or c_style_comment_char_star_noslashstar;\n"
35 "c_style_comment_char_nostar\n"
36 " new_line .or '\\x2B'-'\\xFF' .or '\\x01'-'\\x29';\n"
37 "c_style_comment_char_star_noslashstar\n"
38 " '*' .and c_style_comment_char_star_noslashstar_1;\n"
39 "c_style_comment_char_star_noslashstar_1\n"
40 " c_style_comment_char_noslashstar .or c_style_comment_char_star_noslashstar;\n"
41 "c_style_comment_char_noslashstar\n"
42 " new_line .or '\\x30'-'\\xFF' .or '\\x01'-'\\x29' .or '\\x2B'-'\\x2E';\n"
43 "c_style_comment_end\n"
44 " '*' .and .loop c_style_comment_char_star .and '/';\n"
45 "c_style_comment_char_star\n"
46 " '*';\n"
47 "cpp_style_comment_block\n"
48 " '/' .and '/' .and cpp_style_comment_block_1;\n"
49 "cpp_style_comment_block_1\n"
50 " cpp_style_comment_block_2 .or cpp_style_comment_block_3;\n"
51 "cpp_style_comment_block_2\n"
52 " .loop cpp_style_comment_char .and new_line_directive;\n"
53 "cpp_style_comment_block_3\n"
54 " .loop cpp_style_comment_char;\n"
55 "cpp_style_comment_char\n"
56 " '\\x0E'-'\\xFF' .or '\\x01'-'\\x09' .or '\\x0B'-'\\x0C';\n"
57 "new_line_directive\n"
58 " new_line .and optional_directive;\n"
59 "new_line\n"
60 " generic_new_line .emit '\\n';\n"
61 "generic_new_line\n"
62 " carriage_return_line_feed .or line_feed_carriage_return .or '\\n' .or '\\r';\n"
63 "carriage_return_line_feed\n"
64 " '\\r' .and '\\n';\n"
65 "line_feed_carriage_return\n"
66 " '\\n' .and '\\r';\n"
67 "optional_directive\n"
68 " directive .emit ESCAPE_TOKEN .or .true;\n"
69 "directive\n"
70 " dir_define .emit TOKEN_DEFINE .or\n"
71 " dir_undef .emit TOKEN_UNDEF .or\n"
72 " dir_if .emit TOKEN_IF .or\n"
73 " dir_ifdef .emit TOKEN_IF .emit 'd' .emit 'e' .emit 'f' .emit 'i' .emit 'n' .emit 'e' .emit 'd'\n"
74 " .emit ' ' .or\n"
75 " dir_ifndef .emit TOKEN_IF .emit '!' .emit 'd' .emit 'e' .emit 'f' .emit 'i' .emit 'n' .emit 'e'\n"
76 " .emit 'd' .emit ' ' .or\n"
77 " dir_else .emit TOKEN_ELSE .or\n"
78 " dir_elif .emit TOKEN_ELIF .or\n"
79 " dir_endif .emit TOKEN_ENDIF .or\n"
80 " dir_ext .emit TOKEN_EXTENSION .or\n"
81 " dir_pragma .emit TOKEN_PRAGMA .or\n"
82 " dir_line .emit TOKEN_LINE;\n"
83 "dir_define\n"
84 " optional_space .and '#' .and optional_space .and \"define\" .and symbol .and opt_parameters .and\n"
85 " definition;\n"
86 "dir_undef\n"
87 " optional_space .and '#' .and optional_space .and \"undef\" .and symbol;\n"
88 "dir_if\n"
89 " optional_space .and '#' .and optional_space .and \"if\" .and expression;\n"
90 "dir_ifdef\n"
91 " optional_space .and '#' .and optional_space .and \"ifdef\" .and symbol;\n"
92 "dir_ifndef\n"
93 " optional_space .and '#' .and optional_space .and \"ifndef\" .and symbol;\n"
94 "dir_else\n"
95 " optional_space .and '#' .and optional_space .and \"else\";\n"
96 "dir_elif\n"
97 " optional_space .and '#' .and optional_space .and \"elif\" .and expression;\n"
98 "dir_endif\n"
99 " optional_space .and '#' .and optional_space .and \"endif\";\n"
100 "dir_ext\n"
101 " optional_space .and '#' .and optional_space .and \"extension\" .and space .and extension_name .and\n"
102 " optional_space .and ':' .and optional_space .and extension_behavior;\n"
103 "dir_line\n"
104 " optional_space .and '#' .and optional_space .and \"line\" .and expression;\n"
105 "dir_pragma\n"
106 " optional_space .and '#' .and optional_space .and \"pragma\" .and symbol .and opt_pragma_param;\n"
107 "opt_pragma_param\n"
108 " pragma_param .or .true .emit PRAGMA_NO_PARAM;\n"
109 "pragma_param\n"
110 " optional_space .and '(' .emit PRAGMA_PARAM .and optional_space .and symbol_no_space .and optional_space .and ')';\n"
111 "symbol_no_space\n"
112 " symbol_character .emit * .and .loop symbol_character2 .emit * .and .true .emit '\\0';\n"
113 "symbol\n"
114 " space .and symbol_character .emit * .and .loop symbol_character2 .emit * .and .true .emit '\\0';\n"
115 "opt_parameters\n"
116 " parameters .or .true .emit PARAM_END;\n"
117 "parameters\n"
118 " '(' .and parameters_1 .and optional_space .and ')' .emit PARAM_END;\n"
119 "parameters_1\n"
120 " parameters_2 .or .true;\n"
121 "parameters_2\n"
122 " parameter .emit PARAM_PARAMETER .and .loop parameters_3;\n"
123 "parameters_3\n"
124 " optional_space .and ',' .and parameter .emit PARAM_PARAMETER;\n"
125 "parameter\n"
126 " optional_space .and symbol_character .emit * .and .loop symbol_character2 .emit * .and\n"
127 " .true .emit '\\0';\n"
128 "definition\n"
129 " .loop definition_character .emit * .and .true .emit '\\0';\n"
130 "definition_character\n"
131 " '\\x0E'-'\\xFF' .or '\\x01'-'\\x09' .or '\\x0B'-'\\x0C';\n"
132 "expression\n"
133 " expression_element .and .loop expression_element .and .true .emit '\\0';\n"
134 "expression_element\n"
135 " expression_character .emit *;\n"
136 "expression_character\n"
137 " '\\x0E'-'\\xFF' .or '\\x01'-'\\x09' .or '\\x0B'-'\\x0C';\n"
138 "extension_name\n"
139 " symbol_character .emit * .and .loop symbol_character2 .emit * .and .true .emit '\\0';\n"
140 "extension_behavior\n"
141 " \"require\" .emit BEHAVIOR_REQUIRE .or\n"
142 " \"enable\" .emit BEHAVIOR_ENABLE .or\n"
143 " \"warn\" .emit BEHAVIOR_WARN .or\n"
144 " \"disable\" .emit BEHAVIOR_DISABLE;\n"
145 "optional_space\n"
146 " .loop single_space;\n"
147 "space\n"
148 " single_space .and .loop single_space;\n"
149 "single_space\n"
150 " ' ' .or '\\t';\n"
151 "source_token\n"
152 " space .emit ' ' .or complex_token .or source_token_1;\n"
153 "source_token_1\n"
154 " simple_token .emit ' ' .and .true .emit ' ';\n"
155 "complex_token\n"
156 " identifier .or number;\n"
157 "simple_token\n"
158 " increment .or decrement .or lequal .or gequal .or equal .or nequal .or and .or xor .or or .or\n"
159 " addto .or subtractfrom .or multiplyto .or divideto .or other;\n"
160 "identifier\n"
161 " identifier_char1 .emit * .and .loop identifier_char2 .emit *;\n"
162 "identifier_char1\n"
163 " 'a'-'z' .or 'A'-'Z' .or '_';\n"
164 "identifier_char2\n"
165 " 'a'-'z' .or 'A'-'Z' .or '0'-'9' .or '_';\n"
166 "number\n"
167 " float .or integer;\n"
168 "digit_oct\n"
169 " '0'-'7';\n"
170 "digit_dec\n"
171 " '0'-'9';\n"
172 "digit_hex\n"
173 " '0'-'9' .or 'A'-'F' .or 'a'-'f';\n"
174 "float\n"
175 " float_1 .or float_2;\n"
176 "float_1\n"
177 " float_fractional_constant .and float_optional_exponent_part;\n"
178 "float_2\n"
179 " float_digit_sequence .and float_exponent_part;\n"
180 "float_fractional_constant\n"
181 " float_fractional_constant_1 .or float_fractional_constant_2 .or float_fractional_constant_3;\n"
182 "float_fractional_constant_1\n"
183 " float_digit_sequence .and '.' .emit '.' .and float_digit_sequence;\n"
184 "float_fractional_constant_2\n"
185 " float_digit_sequence .and '.' .emit '.';\n"
186 "float_fractional_constant_3\n"
187 " '.' .emit '.' .and float_digit_sequence;\n"
188 "float_optional_exponent_part\n"
189 " float_exponent_part .or .true;\n"
190 "float_digit_sequence\n"
191 " digit_dec .emit * .and .loop digit_dec .emit *;\n"
192 "float_exponent_part\n"
193 " float_exponent_part_1 .or float_exponent_part_2;\n"
194 "float_exponent_part_1\n"
195 " 'e' .emit 'e' .and float_optional_sign .and float_digit_sequence;\n"
196 "float_exponent_part_2\n"
197 " 'E' .emit 'E' .and float_optional_sign .and float_digit_sequence;\n"
198 "float_optional_sign\n"
199 " '+' .emit '+' .or '-' .emit '-' .or .true;\n"
200 "integer\n"
201 " integer_hex .or integer_oct .or integer_dec;\n"
202 "integer_hex\n"
203 " '0' .emit '0' .and integer_hex_1 .emit * .and digit_hex .emit * .and\n"
204 " .loop digit_hex .emit *;\n"
205 "integer_hex_1\n"
206 " 'x' .or 'X';\n"
207 "integer_oct\n"
208 " '0' .emit '0' .and .loop digit_oct .emit *;\n"
209 "integer_dec\n"
210 " digit_dec .emit * .and .loop digit_dec .emit *;\n"
211 "increment\n"
212 " '+' .emit * .and '+' .emit *;\n"
213 "decrement\n"
214 " '-' .emit * .and '-' .emit *;\n"
215 "lequal\n"
216 " '<' .emit * .and '=' .emit *;\n"
217 "gequal\n"
218 " '>' .emit * .and '=' .emit *;\n"
219 "equal\n"
220 " '=' .emit * .and '=' .emit *;\n"
221 "nequal\n"
222 " '!' .emit * .and '=' .emit *;\n"
223 "and\n"
224 " '&' .emit * .and '&' .emit *;\n"
225 "xor\n"
226 " '^' .emit * .and '^' .emit *;\n"
227 "or\n"
228 " '|' .emit * .and '|' .emit *;\n"
229 "addto\n"
230 " '+' .emit * .and '=' .emit *;\n"
231 "subtractfrom\n"
232 " '-' .emit * .and '=' .emit *;\n"
233 "multiplyto\n"
234 " '*' .emit * .and '=' .emit *;\n"
235 "divideto\n"
236 " '/' .emit * .and '=' .emit *;\n"
237 "other\n"
238 " '\\x24'-'\\xFF' .emit * .or '\\x01'-'\\x22' .emit *;\n"
239 "symbol_character\n"
240 " 'A'-'Z' .or 'a'-'z' .or '_';\n"
241 "symbol_character2\n"
242 " 'A'-'Z' .or 'a'-'z' .or '0'-'9' .or '_';\n"
243 ".string string_lexer;\n"
244 "string_lexer\n"
245 " lex_first_identifier_character .and .loop lex_next_identifier_character;\n"
246 "lex_first_identifier_character\n"
247 " 'a'-'z' .or 'A'-'Z' .or '_';\n"
248 "lex_next_identifier_character\n"
249 " 'a'-'z' .or 'A'-'Z' .or '0'-'9' .or '_';\n"
250 ""