mojoshader_parser_hlsl.lemon
changeset 725 5e3c35b63abd
parent 724 e96f140736f0
child 726 9f58e2b0ed8a
--- a/mojoshader_parser_hlsl.lemon	Fri Mar 06 22:58:21 2009 -0500
+++ b/mojoshader_parser_hlsl.lemon	Fri Mar 06 23:06:39 2009 -0500
@@ -136,40 +136,30 @@
 
 global_variable ::= variable_declaration.
 
-variable_declaration ::= variable_attribute_list datatype scalar_or_array semantic annotations initializer variable_lowlevel SEMICOLON.
-variable_declaration ::= variable_attribute_list datatype scalar_or_array semantic annotations initializer SEMICOLON.
-variable_declaration ::= variable_attribute_list datatype scalar_or_array semantic annotations variable_lowlevel SEMICOLON.
-variable_declaration ::= variable_attribute_list datatype scalar_or_array semantic annotations SEMICOLON.
-variable_declaration ::= variable_attribute_list datatype scalar_or_array semantic initializer variable_lowlevel SEMICOLON.
-variable_declaration ::= variable_attribute_list datatype scalar_or_array semantic initializer SEMICOLON.
-variable_declaration ::= variable_attribute_list datatype scalar_or_array semantic variable_lowlevel SEMICOLON.
-variable_declaration ::= variable_attribute_list datatype scalar_or_array semantic SEMICOLON.
-variable_declaration ::= variable_attribute_list datatype scalar_or_array annotations initializer variable_lowlevel SEMICOLON.
-variable_declaration ::= variable_attribute_list datatype scalar_or_array annotations initializer SEMICOLON.
-variable_declaration ::= variable_attribute_list datatype scalar_or_array annotations variable_lowlevel SEMICOLON.
-variable_declaration ::= variable_attribute_list datatype scalar_or_array variable_lowlevel SEMICOLON.
-variable_declaration ::= variable_attribute_list datatype scalar_or_array initializer variable_lowlevel SEMICOLON.
-variable_declaration ::= variable_attribute_list datatype scalar_or_array initializer SEMICOLON.
-variable_declaration ::= variable_attribute_list datatype scalar_or_array annotations SEMICOLON.
-variable_declaration ::= variable_attribute_list datatype scalar_or_array SEMICOLON.
-variable_declaration ::= datatype scalar_or_array semantic annotations initializer variable_lowlevel SEMICOLON.
-variable_declaration ::= datatype scalar_or_array semantic annotations initializer SEMICOLON.
-variable_declaration ::= datatype scalar_or_array semantic annotations variable_lowlevel SEMICOLON.
-variable_declaration ::= datatype scalar_or_array semantic annotations SEMICOLON.
-variable_declaration ::= datatype scalar_or_array semantic initializer variable_lowlevel SEMICOLON.
-variable_declaration ::= datatype scalar_or_array semantic initializer SEMICOLON.
-variable_declaration ::= datatype scalar_or_array semantic variable_lowlevel SEMICOLON.
-variable_declaration ::= datatype scalar_or_array semantic SEMICOLON.
-variable_declaration ::= datatype scalar_or_array annotations initializer variable_lowlevel SEMICOLON.
-variable_declaration ::= datatype scalar_or_array annotations initializer SEMICOLON.
-variable_declaration ::= datatype scalar_or_array annotations variable_lowlevel SEMICOLON.
-variable_declaration ::= datatype scalar_or_array annotations SEMICOLON.
-variable_declaration ::= datatype scalar_or_array initializer variable_lowlevel SEMICOLON.
-variable_declaration ::= datatype scalar_or_array initializer SEMICOLON.
-variable_declaration ::= datatype scalar_or_array variable_lowlevel SEMICOLON.
-variable_declaration ::= datatype scalar_or_array SEMICOLON.
+variable_declaration ::= variable_attribute_list datatype variable_declaration_details_list SEMICOLON.
+variable_declaration ::= datatype variable_declaration_details_list SEMICOLON.
 variable_declaration ::= struct_declaration scalar_or_array SEMICOLON.
 
+variable_declaration_details_list ::= variable_declaration_details.
+variable_declaration_details_list ::= variable_declaration_details_list COMMA variable_declaration_details.
+
+variable_declaration_details ::= scalar_or_array semantic annotations initializer variable_lowlevel.
+variable_declaration_details ::= scalar_or_array semantic annotations initializer.
+variable_declaration_details ::= scalar_or_array semantic annotations variable_lowlevel.
+variable_declaration_details ::= scalar_or_array semantic annotations.
+variable_declaration_details ::= scalar_or_array semantic initializer variable_lowlevel.
+variable_declaration_details ::= scalar_or_array semantic initializer.
+variable_declaration_details ::= scalar_or_array semantic variable_lowlevel.
+variable_declaration_details ::= scalar_or_array semantic.
+variable_declaration_details ::= scalar_or_array annotations initializer variable_lowlevel.
+variable_declaration_details ::= scalar_or_array annotations initializer.
+variable_declaration_details ::= scalar_or_array annotations variable_lowlevel.
+variable_declaration_details ::= scalar_or_array annotations.
+variable_declaration_details ::= scalar_or_array initializer variable_lowlevel.
+variable_declaration_details ::= scalar_or_array initializer.
+variable_declaration_details ::= scalar_or_array variable_lowlevel.
+variable_declaration_details ::= scalar_or_array.
+
 // !!! FIXME: we don't handle full sampler declarations at the moment.
 
 struct_declaration ::= STRUCT identifier LBRACE struct_member_list RBRACE.