diff options
| -rwxr-xr-x | src/mesa/shader/slang/library/slang_version.syn | 118 | ||||
| -rwxr-xr-x | src/mesa/shader/slang/library/slang_version_syn.h | 64 | 
2 files changed, 182 insertions, 0 deletions
diff --git a/src/mesa/shader/slang/library/slang_version.syn b/src/mesa/shader/slang/library/slang_version.syn new file mode 100755 index 0000000000..3a8c7046b5 --- /dev/null +++ b/src/mesa/shader/slang/library/slang_version.syn @@ -0,0 +1,118 @@ +/*
 + * Mesa 3-D graphics library
 + * Version:  6.3
 + *
 + * Copyright (C) 2005  Brian Paul   All Rights Reserved.
 + *
 + * Permission is hereby granted, free of charge, to any person obtaining a
 + * copy of this software and associated documentation files (the "Software"),
 + * to deal in the Software without restriction, including without limitation
 + * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 + * and/or sell copies of the Software, and to permit persons to whom the
 + * Software is furnished to do so, subject to the following conditions:
 + *
 + * The above copyright notice and this permission notice shall be included
 + * in all copies or substantial portions of the Software.
 + *
 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
 + * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 + */
 +
 +/**
 + * \file slang_version.syn
 + * slang #version directive syntax
 + * \author Michal Krol
 + */
 +
 +.syntax version_directive;
 +
 +version_directive
 +	version_directive_1 .and .loop version_directive_2;
 +version_directive_1
 +	prior_optional_spaces .and optional_version_directive .and .true .emit $;
 +version_directive_2
 +	prior_optional_spaces .and version_directive_body .and .true .emit $;
 +
 +optional_version_directive
 +	version_directive_body .or .true .emit 10 .emit 1;
 +
 +version_directive_body
 +	'#' .and optional_space .and "version" .and space .and version_number .and optional_space .and
 +	new_line;
 +
 +version_number
 +	version_number_110;
 +
 +version_number_110
 +	leading_zeroes .and "110" .emit 10 .emit 1;
 +
 +leading_zeroes
 +	.loop zero;
 +
 +zero
 +	'0';
 +
 +space
 +    single_space .and .loop single_space;
 +
 +optional_space
 +    .loop single_space;
 +
 +single_space
 +    ' ' .or '\t';
 +
 +prior_optional_spaces
 +	.loop prior_space;
 +
 +prior_space
 +	c_style_comment_block .or cpp_style_comment_block .or space .or new_line;
 +
 +c_style_comment_block
 +    '/' .and '*' .and c_style_comment_rest;
 +
 +c_style_comment_rest
 +    .loop c_style_comment_char_no_star .and c_style_comment_rest_1;
 +c_style_comment_rest_1
 +    c_style_comment_end .or c_style_comment_rest_2;
 +c_style_comment_rest_2
 +    '*' .and c_style_comment_rest;
 +
 +c_style_comment_char_no_star
 +    '\x2B'-'\xFF' .or '\x01'-'\x29';
 +
 +c_style_comment_end
 +    '*' .and '/';
 +
 +cpp_style_comment_block
 +    '/' .and '/' .and cpp_style_comment_block_1;
 +cpp_style_comment_block_1
 +    cpp_style_comment_block_2 .or cpp_style_comment_block_3;
 +cpp_style_comment_block_2
 +    .loop cpp_style_comment_char .and new_line;
 +cpp_style_comment_block_3
 +    .loop cpp_style_comment_char;
 +
 +cpp_style_comment_char
 +    '\x0E'-'\xFF' .or '\x01'-'\x09' .or '\x0B'-'\x0C';
 +
 +new_line
 +    cr_lf .or lf_cr .or '\n' .or '\r';
 +
 +cr_lf
 +    '\r' .and '\n';
 +
 +lf_cr
 +	'\n' .and '\r';
 +
 +.string __string_filter;
 +
 +__string_filter
 +    .loop __identifier_char;
 +
 +__identifier_char
 +    'a'-'z' .or 'A'-'Z' .or '_' .or '0'-'9';
 +
 diff --git a/src/mesa/shader/slang/library/slang_version_syn.h b/src/mesa/shader/slang/library/slang_version_syn.h new file mode 100755 index 0000000000..c5c730703f --- /dev/null +++ b/src/mesa/shader/slang/library/slang_version_syn.h @@ -0,0 +1,64 @@ +".syntax version_directive;\n"
 +"version_directive\n"
 +"	version_directive_1 .and .loop version_directive_2;\n"
 +"version_directive_1\n"
 +"	prior_optional_spaces .and optional_version_directive .and .true .emit $;\n"
 +"version_directive_2\n"
 +"	prior_optional_spaces .and version_directive_body .and .true .emit $;\n"
 +"optional_version_directive\n"
 +"	version_directive_body .or .true .emit 10 .emit 1;\n"
 +"version_directive_body\n"
 +"	'#' .and optional_space .and \"version\" .and space .and version_number .and optional_space .and\n"
 +"	new_line;\n"
 +"version_number\n"
 +"	version_number_110;\n"
 +"version_number_110\n"
 +"	leading_zeroes .and \"110\" .emit 10 .emit 1;\n"
 +"leading_zeroes\n"
 +"	.loop zero;\n"
 +"zero\n"
 +"	'0';\n"
 +"space\n"
 +" single_space .and .loop single_space;\n"
 +"optional_space\n"
 +" .loop single_space;\n"
 +"single_space\n"
 +" ' ' .or '\\t';\n"
 +"prior_optional_spaces\n"
 +"	.loop prior_space;\n"
 +"prior_space\n"
 +"	c_style_comment_block .or cpp_style_comment_block .or space .or new_line;\n"
 +"c_style_comment_block\n"
 +" '/' .and '*' .and c_style_comment_rest;\n"
 +"c_style_comment_rest\n"
 +" .loop c_style_comment_char_no_star .and c_style_comment_rest_1;\n"
 +"c_style_comment_rest_1\n"
 +" c_style_comment_end .or c_style_comment_rest_2;\n"
 +"c_style_comment_rest_2\n"
 +" '*' .and c_style_comment_rest;\n"
 +"c_style_comment_char_no_star\n"
 +" '\\x2B'-'\\xFF' .or '\\x01'-'\\x29';\n"
 +"c_style_comment_end\n"
 +" '*' .and '/';\n"
 +"cpp_style_comment_block\n"
 +" '/' .and '/' .and cpp_style_comment_block_1;\n"
 +"cpp_style_comment_block_1\n"
 +" cpp_style_comment_block_2 .or cpp_style_comment_block_3;\n"
 +"cpp_style_comment_block_2\n"
 +" .loop cpp_style_comment_char .and new_line;\n"
 +"cpp_style_comment_block_3\n"
 +" .loop cpp_style_comment_char;\n"
 +"cpp_style_comment_char\n"
 +" '\\x0E'-'\\xFF' .or '\\x01'-'\\x09' .or '\\x0B'-'\\x0C';\n"
 +"new_line\n"
 +" cr_lf .or lf_cr .or '\\n' .or '\\r';\n"
 +"cr_lf\n"
 +" '\\r' .and '\\n';\n"
 +"lf_cr\n"
 +"	'\\n' .and '\\r';\n"
 +".string __string_filter;\n"
 +"__string_filter\n"
 +" .loop __identifier_char;\n"
 +"__identifier_char\n"
 +" 'a'-'z' .or 'A'-'Z' .or '_' .or '0'-'9';\n"
 +""
\ No newline at end of file  | 
