diff options
Diffstat (limited to 'source4/build/pidl')
-rw-r--r-- | source4/build/pidl/idl.pm | 820 |
1 files changed, 466 insertions, 354 deletions
diff --git a/source4/build/pidl/idl.pm b/source4/build/pidl/idl.pm index ed0192e3e9..a3e23fcda1 100644 --- a/source4/build/pidl/idl.pm +++ b/source4/build/pidl/idl.pm @@ -509,7 +509,7 @@ sub new { ACTIONS => { '' => 2 }, - DEFAULT => -49, + DEFAULT => -54, GOTOS => { 'interface' => 3, 'coclass' => 4, @@ -559,7 +559,7 @@ sub new { } }, {#State 9 - DEFAULT => -73 + DEFAULT => -78 }, {#State 10 ACTIONS => { @@ -570,10 +570,10 @@ sub new { ACTIONS => { "(" => 16 }, - DEFAULT => -53 + DEFAULT => -58 }, {#State 12 - DEFAULT => -51 + DEFAULT => -56 }, {#State 13 ACTIONS => { @@ -602,7 +602,7 @@ sub new { 'TEXT' => 22, 'IDENTIFIER' => 9 }, - DEFAULT => -59, + DEFAULT => -64, GOTOS => { 'identifier' => 23, 'listtext' => 26, @@ -621,7 +621,7 @@ sub new { } }, {#State 18 - DEFAULT => -50 + DEFAULT => -55 }, {#State 19 ACTIONS => { @@ -640,20 +640,20 @@ sub new { ACTIONS => { "}" => 32 }, - DEFAULT => -49, + DEFAULT => -54, GOTOS => { 'interface' => 33, 'property_list' => 34 } }, {#State 22 - DEFAULT => -75 + DEFAULT => -80 }, {#State 23 - DEFAULT => -60 + DEFAULT => -65 }, {#State 24 - DEFAULT => -62 + DEFAULT => -67 }, {#State 25 ACTIONS => { @@ -668,7 +668,7 @@ sub new { "." => 43, ">" => 44 }, - DEFAULT => -55 + DEFAULT => -60 }, {#State 26 ACTIONS => { @@ -677,13 +677,13 @@ sub new { } }, {#State 27 - DEFAULT => -61 + DEFAULT => -66 }, {#State 28 - DEFAULT => -74 + DEFAULT => -79 }, {#State 29 - DEFAULT => -52 + DEFAULT => -57 }, {#State 30 DEFAULT => -9 @@ -693,7 +693,7 @@ sub new { "typedef" => 47, "const" => 53 }, - DEFAULT => -49, + DEFAULT => -54, GOTOS => { 'const' => 52, 'function' => 48, @@ -707,7 +707,7 @@ sub new { ACTIONS => { ";" => 56 }, - DEFAULT => -76, + DEFAULT => -81, GOTOS => { 'optional_semicolon' => 55 } @@ -727,7 +727,7 @@ sub new { 'TEXT' => 22, 'IDENTIFIER' => 9 }, - DEFAULT => -59, + DEFAULT => -64, GOTOS => { 'identifier' => 23, 'text' => 24, @@ -741,7 +741,7 @@ sub new { 'TEXT' => 22, 'IDENTIFIER' => 9 }, - DEFAULT => -59, + DEFAULT => -64, GOTOS => { 'identifier' => 23, 'text' => 24, @@ -755,7 +755,7 @@ sub new { 'TEXT' => 22, 'IDENTIFIER' => 9 }, - DEFAULT => -59, + DEFAULT => -64, GOTOS => { 'identifier' => 23, 'text' => 24, @@ -770,7 +770,7 @@ sub new { 'TEXT' => 22, 'IDENTIFIER' => 9 }, - DEFAULT => -59, + DEFAULT => -64, GOTOS => { 'identifier' => 23, 'text' => 24, @@ -784,7 +784,7 @@ sub new { 'TEXT' => 22, 'IDENTIFIER' => 9 }, - DEFAULT => -59, + DEFAULT => -64, GOTOS => { 'identifier' => 23, 'text' => 24, @@ -798,7 +798,7 @@ sub new { 'TEXT' => 22, 'IDENTIFIER' => 9 }, - DEFAULT => -59, + DEFAULT => -64, GOTOS => { 'identifier' => 23, 'text' => 24, @@ -812,7 +812,7 @@ sub new { 'TEXT' => 22, 'IDENTIFIER' => 9 }, - DEFAULT => -59, + DEFAULT => -64, GOTOS => { 'identifier' => 23, 'text' => 24, @@ -827,7 +827,7 @@ sub new { 'TEXT' => 22, 'IDENTIFIER' => 9 }, - DEFAULT => -59, + DEFAULT => -64, GOTOS => { 'identifier' => 23, 'text' => 24, @@ -841,7 +841,7 @@ sub new { 'TEXT' => 22, 'IDENTIFIER' => 9 }, - DEFAULT => -59, + DEFAULT => -64, GOTOS => { 'identifier' => 23, 'text' => 24, @@ -855,7 +855,7 @@ sub new { 'TEXT' => 22, 'IDENTIFIER' => 9 }, - DEFAULT => -59, + DEFAULT => -64, GOTOS => { 'identifier' => 23, 'text' => 24, @@ -869,7 +869,7 @@ sub new { 'TEXT' => 22, 'IDENTIFIER' => 9 }, - DEFAULT => -59, + DEFAULT => -64, GOTOS => { 'identifier' => 23, 'text' => 24, @@ -878,10 +878,10 @@ sub new { } }, {#State 46 - DEFAULT => -54 + DEFAULT => -59 }, {#State 47 - DEFAULT => -49, + DEFAULT => -54, GOTOS => { 'property_list' => 69 } @@ -895,7 +895,7 @@ sub new { "typedef" => 47, "const" => 53 }, - DEFAULT => -49, + DEFAULT => -54, GOTOS => { 'const' => 52, 'function' => 48, @@ -910,15 +910,17 @@ sub new { "union" => 72, "enum" => 73, "[" => 7, - 'void' => 74, - "struct" => 80 + 'void' => 75, + "bitmap" => 74, + "struct" => 82 }, GOTOS => { - 'identifier' => 75, - 'struct' => 76, - 'enum' => 77, - 'type' => 78, - 'union' => 79 + 'identifier' => 77, + 'struct' => 78, + 'enum' => 79, + 'type' => 80, + 'union' => 81, + 'bitmap' => 76 } }, {#State 51 @@ -932,7 +934,7 @@ sub new { 'IDENTIFIER' => 9 }, GOTOS => { - 'identifier' => 81 + 'identifier' => 83 } }, {#State 54 @@ -942,19 +944,19 @@ sub new { DEFAULT => -4 }, {#State 56 - DEFAULT => -77 + DEFAULT => -82 }, {#State 57 ACTIONS => { "{" => 37 }, - DEFAULT => -63 + DEFAULT => -68 }, {#State 58 ACTIONS => { "{" => 37 }, - DEFAULT => -70 + DEFAULT => -75 }, {#State 59 ACTIONS => { @@ -969,55 +971,55 @@ sub new { "." => 43, ">" => 44 }, - DEFAULT => -57 + DEFAULT => -62 }, {#State 60 ACTIONS => { - "}" => 82, - "," => 83 + "}" => 84, + "," => 85 } }, {#State 61 ACTIONS => { "{" => 37 }, - DEFAULT => -68 + DEFAULT => -73 }, {#State 62 ACTIONS => { "{" => 37 }, - DEFAULT => -69 + DEFAULT => -74 }, {#State 63 ACTIONS => { "{" => 37 }, - DEFAULT => -67 + DEFAULT => -72 }, {#State 64 ACTIONS => { - "," => 83, - ")" => 84 + "," => 85, + ")" => 86 } }, {#State 65 ACTIONS => { "{" => 37 }, - DEFAULT => -65 + DEFAULT => -70 }, {#State 66 ACTIONS => { "{" => 37 }, - DEFAULT => -64 + DEFAULT => -69 }, {#State 67 ACTIONS => { "{" => 37 }, - DEFAULT => -66 + DEFAULT => -71 }, {#State 68 ACTIONS => { @@ -1032,7 +1034,7 @@ sub new { "." => 43, ">" => 44 }, - DEFAULT => -56 + DEFAULT => -61 }, {#State 69 ACTIONS => { @@ -1040,24 +1042,26 @@ sub new { "union" => 72, "enum" => 73, "[" => 7, - 'void' => 74, - "struct" => 80 + 'void' => 75, + "bitmap" => 74, + "struct" => 82 }, GOTOS => { - 'identifier' => 75, - 'struct' => 76, - 'enum' => 77, - 'type' => 85, - 'union' => 79 + 'identifier' => 77, + 'struct' => 78, + 'enum' => 79, + 'type' => 87, + 'union' => 81, + 'bitmap' => 76 } }, {#State 70 ACTIONS => { ";" => 56 }, - DEFAULT => -76, + DEFAULT => -81, GOTOS => { - 'optional_semicolon' => 86 + 'optional_semicolon' => 88 } }, {#State 71 @@ -1065,143 +1069,161 @@ sub new { }, {#State 72 ACTIONS => { - "{" => 87 + "{" => 89 } }, {#State 73 ACTIONS => { - "{" => 88 + "{" => 90 } }, {#State 74 - DEFAULT => -23 + ACTIONS => { + "{" => 91 + } }, {#State 75 - DEFAULT => -22 + DEFAULT => -24 }, {#State 76 - DEFAULT => -19 + DEFAULT => -22 }, {#State 77 - DEFAULT => -21 + DEFAULT => -23 }, {#State 78 + DEFAULT => -19 + }, + {#State 79 + DEFAULT => -21 + }, + {#State 80 ACTIONS => { 'IDENTIFIER' => 9 }, GOTOS => { - 'identifier' => 89 + 'identifier' => 92 } }, - {#State 79 + {#State 81 DEFAULT => -20 }, - {#State 80 + {#State 82 ACTIONS => { - "{" => 90 + "{" => 93 } }, - {#State 81 + {#State 83 ACTIONS => { 'IDENTIFIER' => 9 }, GOTOS => { - 'identifier' => 91 + 'identifier' => 94 } }, - {#State 82 + {#State 84 ACTIONS => { 'CONSTANT' => 28, 'TEXT' => 22, 'IDENTIFIER' => 9 }, - DEFAULT => -59, + DEFAULT => -64, GOTOS => { 'identifier' => 23, 'text' => 24, - 'anytext' => 92, + 'anytext' => 95, 'constant' => 27 } }, - {#State 83 + {#State 85 ACTIONS => { 'CONSTANT' => 28, 'TEXT' => 22, 'IDENTIFIER' => 9 }, - DEFAULT => -59, + DEFAULT => -64, GOTOS => { 'identifier' => 23, 'text' => 24, - 'anytext' => 93, + 'anytext' => 96, 'constant' => 27 } }, - {#State 84 + {#State 86 ACTIONS => { 'CONSTANT' => 28, 'TEXT' => 22, 'IDENTIFIER' => 9 }, - DEFAULT => -59, + DEFAULT => -64, GOTOS => { 'identifier' => 23, 'text' => 24, - 'anytext' => 94, + 'anytext' => 97, 'constant' => 27 } }, - {#State 85 + {#State 87 ACTIONS => { 'IDENTIFIER' => 9 }, GOTOS => { - 'identifier' => 95 + 'identifier' => 98 } }, - {#State 86 + {#State 88 DEFAULT => -7 }, - {#State 87 + {#State 89 ACTIONS => { - "[" => 98 + "[" => 101 }, GOTOS => { - 'union_elements' => 96, - 'union_element' => 97 + 'union_elements' => 99, + 'union_element' => 100 } }, - {#State 88 + {#State 90 ACTIONS => { 'IDENTIFIER' => 9 }, GOTOS => { - 'identifier' => 99, - 'enum_element' => 100, - 'enum_elements' => 101 + 'identifier' => 102, + 'enum_element' => 103, + 'enum_elements' => 104 } }, - {#State 89 + {#State 91 ACTIONS => { - "(" => 102 + 'IDENTIFIER' => 9 + }, + GOTOS => { + 'identifier' => 107, + 'bitmap_elements' => 106, + 'bitmap_element' => 105 } }, - {#State 90 - DEFAULT => -40, + {#State 92 + ACTIONS => { + "(" => 108 + } + }, + {#State 93 + DEFAULT => -45, GOTOS => { - 'element_list1' => 103 + 'element_list1' => 109 } }, - {#State 91 + {#State 94 ACTIONS => { - "[" => 106, - "=" => 105 + "[" => 112, + "=" => 111 }, GOTOS => { - 'array_len' => 104 + 'array_len' => 110 } }, - {#State 92 + {#State 95 ACTIONS => { "-" => 35, "+" => 36, @@ -1214,9 +1236,9 @@ sub new { "." => 43, ">" => 44 }, - DEFAULT => -72 + DEFAULT => -77 }, - {#State 93 + {#State 96 ACTIONS => { "-" => 35, "+" => 36, @@ -1229,215 +1251,257 @@ sub new { "." => 43, ">" => 44 }, - DEFAULT => -58 + DEFAULT => -63 }, - {#State 94 + {#State 97 ACTIONS => { "{" => 37 }, - DEFAULT => -71 + DEFAULT => -76 }, - {#State 95 + {#State 98 ACTIONS => { - "[" => 106 + "[" => 112 }, - DEFAULT => -46, + DEFAULT => -51, GOTOS => { - 'array_len' => 107 + 'array_len' => 113 } }, - {#State 96 + {#State 99 ACTIONS => { - "}" => 108, - "[" => 98 + "}" => 114, + "[" => 101 }, GOTOS => { - 'union_element' => 109 + 'union_element' => 115 } }, - {#State 97 - DEFAULT => -31 + {#State 100 + DEFAULT => -36 }, - {#State 98 + {#State 101 ACTIONS => { - "case" => 110, - "default" => 111 + "case" => 116, + "default" => 117 } }, - {#State 99 + {#State 102 ACTIONS => { - "=" => 112 + "=" => 118 }, - DEFAULT => -27 + DEFAULT => -28 }, - {#State 100 - DEFAULT => -25 + {#State 103 + DEFAULT => -26 }, - {#State 101 + {#State 104 ACTIONS => { - "}" => 113, - "," => 114 + "}" => 119, + "," => 120 } }, - {#State 102 + {#State 105 + DEFAULT => -31 + }, + {#State 106 + ACTIONS => { + "}" => 121, + "," => 122 + } + }, + {#State 107 + ACTIONS => { + "=" => 123 + } + }, + {#State 108 ACTIONS => { - "," => -42, - "void" => 117, - ")" => -42 + "," => -47, + "void" => 126, + ")" => -47 }, - DEFAULT => -49, + DEFAULT => -54, GOTOS => { - 'base_element' => 115, - 'element_list2' => 118, - 'property_list' => 116 + 'base_element' => 124, + 'element_list2' => 127, + 'property_list' => 125 } }, - {#State 103 + {#State 109 ACTIONS => { - "}" => 119 + "}" => 128 }, - DEFAULT => -49, + DEFAULT => -54, GOTOS => { - 'base_element' => 120, - 'property_list' => 116 + 'base_element' => 129, + 'property_list' => 125 } }, - {#State 104 + {#State 110 ACTIONS => { - "=" => 121 + "=" => 130 } }, - {#State 105 + {#State 111 ACTIONS => { 'IDENTIFIER' => 9, 'CONSTANT' => 28, 'TEXT' => 22 }, - DEFAULT => -59, + DEFAULT => -64, GOTOS => { 'identifier' => 23, 'text' => 24, - 'anytext' => 122, + 'anytext' => 131, 'constant' => 27 } }, - {#State 106 + {#State 112 ACTIONS => { 'IDENTIFIER' => 9, 'CONSTANT' => 28, 'TEXT' => 22, - "]" => 124 + "]" => 133 }, - DEFAULT => -59, + DEFAULT => -64, GOTOS => { 'identifier' => 23, 'text' => 24, - 'anytext' => 123, + 'anytext' => 132, 'constant' => 27 } }, - {#State 107 + {#State 113 ACTIONS => { - ";" => 125 + ";" => 134 } }, - {#State 108 - DEFAULT => -30 + {#State 114 + DEFAULT => -35 }, - {#State 109 - DEFAULT => -32 + {#State 115 + DEFAULT => -37 }, - {#State 110 + {#State 116 ACTIONS => { - "(" => 126 + "(" => 135 } }, - {#State 111 + {#State 117 ACTIONS => { - "]" => 127 + "]" => 136 } }, - {#State 112 + {#State 118 ACTIONS => { 'CONSTANT' => 28, 'TEXT' => 22, 'IDENTIFIER' => 9 }, - DEFAULT => -59, + DEFAULT => -64, GOTOS => { 'identifier' => 23, 'text' => 24, - 'anytext' => 128, + 'anytext' => 137, 'constant' => 27 } }, - {#State 113 - DEFAULT => -24 + {#State 119 + DEFAULT => -25 }, - {#State 114 + {#State 120 ACTIONS => { 'IDENTIFIER' => 9 }, GOTOS => { - 'identifier' => 99, - 'enum_element' => 129 + 'identifier' => 102, + 'enum_element' => 138 } }, - {#State 115 - DEFAULT => -44 + {#State 121 + DEFAULT => -30 }, - {#State 116 + {#State 122 + ACTIONS => { + 'IDENTIFIER' => 9 + }, + GOTOS => { + 'identifier' => 107, + 'bitmap_element' => 139 + } + }, + {#State 123 + ACTIONS => { + 'CONSTANT' => 28, + 'TEXT' => 22, + 'IDENTIFIER' => 9 + }, + DEFAULT => -64, + GOTOS => { + 'identifier' => 23, + 'text' => 24, + 'anytext' => 140, + 'constant' => 27 + } + }, + {#State 124 + DEFAULT => -49 + }, + {#State 125 ACTIONS => { 'IDENTIFIER' => 9, "union" => 72, "enum" => 73, "[" => 7, - 'void' => 74, - "struct" => 80 + 'void' => 75, + "bitmap" => 74, + "struct" => 82 }, GOTOS => { - 'identifier' => 75, - 'struct' => 76, - 'enum' => 77, - 'type' => 130, - 'union' => 79 + 'identifier' => 77, + 'struct' => 78, + 'enum' => 79, + 'type' => 141, + 'union' => 81, + 'bitmap' => 76 } }, - {#State 117 - DEFAULT => -43 + {#State 126 + DEFAULT => -48 }, - {#State 118 + {#State 127 ACTIONS => { - "," => 131, - ")" => 132 + "," => 142, + ")" => 143 } }, - {#State 119 - DEFAULT => -29 + {#State 128 + DEFAULT => -34 }, - {#State 120 + {#State 129 ACTIONS => { - ";" => 133 + ";" => 144 } }, - {#State 121 + {#State 130 ACTIONS => { 'IDENTIFIER' => 9, 'CONSTANT' => 28, 'TEXT' => 22 }, - DEFAULT => -59, + DEFAULT => -64, GOTOS => { 'identifier' => 23, 'text' => 24, - 'anytext' => 134, + 'anytext' => 145, 'constant' => 27 } }, - {#State 122 + {#State 131 ACTIONS => { "-" => 35, - ";" => 135, + ";" => 146, "+" => 36, "&" => 38, "{" => 37, @@ -1449,7 +1513,7 @@ sub new { ">" => 44 } }, - {#State 123 + {#State 132 ACTIONS => { "-" => 35, "+" => 36, @@ -1460,41 +1524,41 @@ sub new { "|" => 40, "*" => 42, "." => 43, - "]" => 136, + "]" => 147, ">" => 44 } }, - {#State 124 - DEFAULT => -47 + {#State 133 + DEFAULT => -52 }, - {#State 125 + {#State 134 DEFAULT => -18 }, - {#State 126 + {#State 135 ACTIONS => { 'IDENTIFIER' => 9, 'CONSTANT' => 28, 'TEXT' => 22 }, - DEFAULT => -59, + DEFAULT => -64, GOTOS => { 'identifier' => 23, 'text' => 24, - 'anytext' => 137, + 'anytext' => 148, 'constant' => 27 } }, - {#State 127 + {#State 136 ACTIONS => { - ";" => 138 + ";" => 149 }, - DEFAULT => -49, + DEFAULT => -54, GOTOS => { - 'base_element' => 139, - 'property_list' => 116 + 'base_element' => 150, + 'property_list' => 125 } }, - {#State 128 + {#State 137 ACTIONS => { "-" => 35, "+" => 36, @@ -1507,36 +1571,54 @@ sub new { "." => 43, ">" => 44 }, - DEFAULT => -28 + DEFAULT => -29 }, - {#State 129 - DEFAULT => -26 + {#State 138 + DEFAULT => -27 }, - {#State 130 - DEFAULT => -38, + {#State 139 + DEFAULT => -32 + }, + {#State 140 + ACTIONS => { + "-" => 35, + "+" => 36, + "&" => 38, + "{" => 37, + "/" => 39, + "(" => 41, + "|" => 40, + "*" => 42, + "." => 43, + ">" => 44 + }, + DEFAULT => -33 + }, + {#State 141 + DEFAULT => -43, GOTOS => { - 'pointers' => 140 + 'pointers' => 151 } }, - {#State 131 - DEFAULT => -49, + {#State 142 + DEFAULT => -54, GOTOS => { - 'base_element' => 141, - 'property_list' => 116 + 'base_element' => 152, + 'property_list' => 125 } }, - {#State 132 + {#State 143 ACTIONS => { - ";" => 142 + ";" => 153 } }, - {#State 133 - DEFAULT => -41 + {#State 144 + DEFAULT => -46 }, - {#State 134 + {#State 145 ACTIONS => { "-" => 35, - ";" => 143, + ";" => 154, "+" => 36, "&" => 38, "{" => 37, @@ -1548,13 +1630,13 @@ sub new { ">" => 44 } }, - {#State 135 + {#State 146 DEFAULT => -15 }, - {#State 136 - DEFAULT => -48 + {#State 147 + DEFAULT => -53 }, - {#State 137 + {#State 148 ACTIONS => { "-" => 35, "+" => 36, @@ -1565,79 +1647,79 @@ sub new { "|" => 40, "*" => 42, "." => 43, - ")" => 144, + ")" => 155, ">" => 44 } }, - {#State 138 - DEFAULT => -36 + {#State 149 + DEFAULT => -41 }, - {#State 139 + {#State 150 ACTIONS => { - ";" => 145 + ";" => 156 } }, - {#State 140 + {#State 151 ACTIONS => { 'IDENTIFIER' => 9, - "*" => 147 + "*" => 158 }, GOTOS => { - 'identifier' => 146 + 'identifier' => 157 } }, - {#State 141 - DEFAULT => -45 + {#State 152 + DEFAULT => -50 }, - {#State 142 + {#State 153 DEFAULT => -17 }, - {#State 143 + {#State 154 DEFAULT => -16 }, - {#State 144 + {#State 155 ACTIONS => { - "]" => 148 + "]" => 159 } }, - {#State 145 - DEFAULT => -35 + {#State 156 + DEFAULT => -40 }, - {#State 146 + {#State 157 ACTIONS => { - "[" => 106 + "[" => 112 }, - DEFAULT => -46, + DEFAULT => -51, GOTOS => { - 'array_len' => 149 + 'array_len' => 160 } }, - {#State 147 - DEFAULT => -39 + {#State 158 + DEFAULT => -44 }, - {#State 148 + {#State 159 ACTIONS => { - ";" => 150 + ";" => 161 }, - DEFAULT => -49, + DEFAULT => -54, GOTOS => { - 'base_element' => 151, - 'property_list' => 116 + 'base_element' => 162, + 'property_list' => 125 } }, - {#State 149 - DEFAULT => -37 + {#State 160 + DEFAULT => -42 }, - {#State 150 - DEFAULT => -34 + {#State 161 + DEFAULT => -39 }, - {#State 151 + {#State 162 ACTIONS => { - ";" => 152 + ";" => 163 } }, - {#State 152 - DEFAULT => -33 + {#State 163 + DEFAULT => -38 } ], yyrules => @@ -1782,12 +1864,15 @@ sub 'type', 1, undef ], [#Rule 23 + 'type', 1, undef + ], + [#Rule 24 'type', 1, sub #line 100 "build/pidl/idl.yp" { "void" } ], - [#Rule 24 + [#Rule 25 'enum', 4, sub #line 105 "build/pidl/idl.yp" @@ -1796,99 +1881,126 @@ sub "ELEMENTS" => $_[3] }} ], - [#Rule 25 + [#Rule 26 'enum_elements', 1, sub #line 112 "build/pidl/idl.yp" { [ $_[1] ] } ], - [#Rule 26 + [#Rule 27 'enum_elements', 3, sub #line 113 "build/pidl/idl.yp" { push(@{$_[1]}, $_[3]); $_[1] } ], - [#Rule 27 + [#Rule 28 'enum_element', 1, undef ], - [#Rule 28 + [#Rule 29 'enum_element', 3, sub #line 117 "build/pidl/idl.yp" { "$_[1]$_[2]$_[3]" } ], - [#Rule 29 - 'struct', 4, + [#Rule 30 + 'bitmap', 4, sub #line 121 "build/pidl/idl.yp" {{ + "TYPE" => "BITMAP", + "ELEMENTS" => $_[3] + }} + ], + [#Rule 31 + 'bitmap_elements', 1, +sub +#line 128 "build/pidl/idl.yp" +{ [ $_[1] ] } + ], + [#Rule 32 + 'bitmap_elements', 3, +sub +#line 129 "build/pidl/idl.yp" +{ push(@{$_[1]}, $_[3]); $_[1] } + ], + [#Rule 33 + 'bitmap_element', 3, +sub +#line 132 "build/pidl/idl.yp" +{ "$_[1] ( $_[3] )" } + ], + [#Rule 34 + 'struct', 4, +sub +#line 136 "build/pidl/idl.yp" +{{ "TYPE" => "STRUCT", "ELEMENTS" => $_[3] }} ], - [#Rule 30 + [#Rule 35 'union', 4, sub -#line 128 "build/pidl/idl.yp" +#line 143 "build/pidl/idl.yp" {{ "TYPE" => "UNION", "DATA" => $_[3] }} ], - [#Rule 31 + [#Rule 36 'union_elements', 1, sub -#line 135 "build/pidl/idl.yp" +#line 150 "build/pidl/idl.yp" { [ $_[1] ] } ], - [#Rule 32 + [#Rule 37 'union_elements', 2, sub -#line 136 "build/pidl/idl.yp" +#line 151 "build/pidl/idl.yp" { push(@{$_[1]}, $_[2]); $_[1] } ], - [#Rule 33 + [#Rule 38 'union_element', 8, sub -#line 141 "build/pidl/idl.yp" +#line 156 "build/pidl/idl.yp" {{ "TYPE" => "UNION_ELEMENT", "CASE" => $_[4], "DATA" => $_[7] }} ], - [#Rule 34 + [#Rule 39 'union_element', 7, sub -#line 147 "build/pidl/idl.yp" +#line 162 "build/pidl/idl.yp" {{ "TYPE" => "EMPTY", "CASE" => $_[4], }} ], - [#Rule 35 + [#Rule 40 'union_element', 5, sub -#line 152 "build/pidl/idl.yp" +#line 167 "build/pidl/idl.yp" {{ "TYPE" => "UNION_ELEMENT", "CASE" => "default", "DATA" => $_[4] }} ], - [#Rule 36 + [#Rule 41 'union_element', 4, sub -#line 158 "build/pidl/idl.yp" +#line 173 "build/pidl/idl.yp" {{ "TYPE" => "EMPTY", "CASE" => "default", }} ], - [#Rule 37 + [#Rule 42 'base_element', 5, sub -#line 165 "build/pidl/idl.yp" +#line 180 "build/pidl/idl.yp" {{ "NAME" => $_[4], "TYPE" => $_[2], @@ -1897,202 +2009,202 @@ sub "ARRAY_LEN" => $_[5] }} ], - [#Rule 38 + [#Rule 43 'pointers', 0, sub -#line 177 "build/pidl/idl.yp" +#line 192 "build/pidl/idl.yp" { 0 } ], - [#Rule 39 + [#Rule 44 'pointers', 2, sub -#line 178 "build/pidl/idl.yp" +#line 193 "build/pidl/idl.yp" { $_[1]+1 } ], - [#Rule 40 + [#Rule 45 'element_list1', 0, undef ], - [#Rule 41 + [#Rule 46 'element_list1', 3, sub -#line 185 "build/pidl/idl.yp" +#line 200 "build/pidl/idl.yp" { push(@{$_[1]}, $_[2]); $_[1] } ], - [#Rule 42 + [#Rule 47 'element_list2', 0, undef ], - [#Rule 43 + [#Rule 48 'element_list2', 1, undef ], - [#Rule 44 + [#Rule 49 'element_list2', 1, sub -#line 191 "build/pidl/idl.yp" +#line 206 "build/pidl/idl.yp" { [ $_[1] ] } ], - [#Rule 45 + [#Rule 50 'element_list2', 3, sub -#line 192 "build/pidl/idl.yp" +#line 207 "build/pidl/idl.yp" { push(@{$_[1]}, $_[3]); $_[1] } ], - [#Rule 46 + [#Rule 51 'array_len', 0, undef ], - [#Rule 47 + [#Rule 52 'array_len', 2, sub -#line 197 "build/pidl/idl.yp" +#line 212 "build/pidl/idl.yp" { "*" } ], - [#Rule 48 + [#Rule 53 'array_len', 3, sub -#line 198 "build/pidl/idl.yp" +#line 213 "build/pidl/idl.yp" { "$_[2]" } ], - [#Rule 49 + [#Rule 54 'property_list', 0, undef ], - [#Rule 50 + [#Rule 55 'property_list', 4, sub -#line 204 "build/pidl/idl.yp" +#line 219 "build/pidl/idl.yp" { util::FlattenHash([$_[1],$_[3]]); } ], - [#Rule 51 + [#Rule 56 'properties', 1, sub -#line 207 "build/pidl/idl.yp" +#line 222 "build/pidl/idl.yp" { $_[1] } ], - [#Rule 52 + [#Rule 57 'properties', 3, sub -#line 208 "build/pidl/idl.yp" +#line 223 "build/pidl/idl.yp" { util::FlattenHash([$_[1], $_[3]]); } ], - [#Rule 53 + [#Rule 58 'property', 1, sub -#line 211 "build/pidl/idl.yp" +#line 226 "build/pidl/idl.yp" {{ "$_[1]" => "1" }} ], - [#Rule 54 + [#Rule 59 'property', 4, sub -#line 212 "build/pidl/idl.yp" +#line 227 "build/pidl/idl.yp" {{ "$_[1]" => "$_[3]" }} ], - [#Rule 55 + [#Rule 60 'listtext', 1, undef ], - [#Rule 56 + [#Rule 61 'listtext', 3, sub -#line 217 "build/pidl/idl.yp" +#line 232 "build/pidl/idl.yp" { "$_[1] $_[3]" } ], - [#Rule 57 + [#Rule 62 'commalisttext', 1, undef ], - [#Rule 58 + [#Rule 63 'commalisttext', 3, sub -#line 222 "build/pidl/idl.yp" +#line 237 "build/pidl/idl.yp" { "$_[1],$_[3]" } ], - [#Rule 59 + [#Rule 64 'anytext', 0, sub -#line 226 "build/pidl/idl.yp" +#line 241 "build/pidl/idl.yp" { "" } ], - [#Rule 60 + [#Rule 65 'anytext', 1, undef ], - [#Rule 61 + [#Rule 66 'anytext', 1, undef ], - [#Rule 62 + [#Rule 67 'anytext', 1, undef ], - [#Rule 63 + [#Rule 68 'anytext', 3, sub -#line 228 "build/pidl/idl.yp" +#line 243 "build/pidl/idl.yp" { "$_[1]$_[2]$_[3]" } ], - [#Rule 64 + [#Rule 69 'anytext', 3, sub -#line 229 "build/pidl/idl.yp" +#line 244 "build/pidl/idl.yp" { "$_[1]$_[2]$_[3]" } ], - [#Rule 65 + [#Rule 70 'anytext', 3, sub -#line 230 "build/pidl/idl.yp" +#line 245 "build/pidl/idl.yp" { "$_[1]$_[2]$_[3]" } ], - [#Rule 66 + [#Rule 71 'anytext', 3, sub -#line 231 "build/pidl/idl.yp" +#line 246 "build/pidl/idl.yp" { "$_[1]$_[2]$_[3]" } ], - [#Rule 67 + [#Rule 72 'anytext', 3, sub -#line 232 "build/pidl/idl.yp" +#line 247 "build/pidl/idl.yp" { "$_[1]$_[2]$_[3]" } ], - [#Rule 68 + [#Rule 73 'anytext', 3, sub -#line 233 "build/pidl/idl.yp" +#line 248 "build/pidl/idl.yp" { "$_[1]$_[2]$_[3]" } ], - [#Rule 69 + [#Rule 74 'anytext', 3, sub -#line 234 "build/pidl/idl.yp" +#line 249 "build/pidl/idl.yp" { "$_[1]$_[2]$_[3]" } ], - [#Rule 70 + [#Rule 75 'anytext', 3, sub -#line 235 "build/pidl/idl.yp" +#line 250 "build/pidl/idl.yp" { "$_[1]$_[2]$_[3]" } ], - [#Rule 71 + [#Rule 76 'anytext', 5, sub -#line 236 "build/pidl/idl.yp" +#line 251 "build/pidl/idl.yp" { "$_[1]$_[2]$_[3]$_[4]$_[5]" } ], - [#Rule 72 + [#Rule 77 'anytext', 5, sub -#line 237 "build/pidl/idl.yp" +#line 252 "build/pidl/idl.yp" { "$_[1]$_[2]$_[3]$_[4]$_[5]" } ], - [#Rule 73 + [#Rule 78 'identifier', 1, undef ], - [#Rule 74 + [#Rule 79 'constant', 1, undef ], - [#Rule 75 + [#Rule 80 'text', 1, sub -#line 246 "build/pidl/idl.yp" +#line 261 "build/pidl/idl.yp" { "\"$_[1]\"" } ], - [#Rule 76 + [#Rule 81 'optional_semicolon', 0, undef ], - [#Rule 77 + [#Rule 82 'optional_semicolon', 1, undef ] ], @@ -2100,7 +2212,7 @@ sub bless($self,$class); } -#line 257 "build/pidl/idl.yp" +#line 272 "build/pidl/idl.yp" use util; @@ -2160,7 +2272,7 @@ again: $parser->YYData->{LAST_TOKEN} = $1; if ($1 =~ /^(coclass|interface|const|typedef|union - |struct|enum|void|case|default)$/x) { + |struct|enum|bitmap|void|case|default)$/x) { return $1; } return('IDENTIFIER',$1); |