mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 05:08:08 +02:00
slang #version directive syntax
This commit is contained in:
parent
35725a92be
commit
8855664489
2 changed files with 182 additions and 0 deletions
118
src/mesa/shader/slang/library/slang_version.syn
Executable file
118
src/mesa/shader/slang/library/slang_version.syn
Executable file
|
|
@ -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';
|
||||
|
||||
64
src/mesa/shader/slang/library/slang_version_syn.h
Executable file
64
src/mesa/shader/slang/library/slang_version_syn.h
Executable file
|
|
@ -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"
|
||||
""
|
||||
Loading…
Add table
Reference in a new issue