From ad30ea64b704351d99a5e781d026af8c09b3f0f7 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Tue, 25 Aug 2009 23:40:10 -0400 Subject: [PATCH] Allow vector initializers, like "float4 x = {a,b,c,d};" --- mojoshader_parser_hlsl.lemon | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mojoshader_parser_hlsl.lemon b/mojoshader_parser_hlsl.lemon index a6a70909..94d0c3f7 100644 --- a/mojoshader_parser_hlsl.lemon +++ b/mojoshader_parser_hlsl.lemon @@ -21,7 +21,7 @@ // Some shift-reduce conflicts are basically unavoidable, but if the final // conflict count matches this value, we consider it known and acceptable. -%expect 1 +%expect 2 %start_symbol shader %token_prefix TOKEN_HLSL_ @@ -224,6 +224,11 @@ variable_attribute ::= CONST. variable_attribute ::= ROWMAJOR. variable_attribute ::= COLUMNMAJOR. +initializer_block_list ::= expression. +initializer_block_list ::= initializer_block_list COMMA expression. +initializer_block ::= LBRACE initializer_block_list RBRACE. + +initializer ::= ASSIGN initializer_block. initializer ::= ASSIGN expression. intrinsic_datatype ::= datatype_vector.