r4534: update the yapp generated code
authorStefan Metzmacher <metze@samba.org>
Wed, 5 Jan 2005 15:28:10 +0000 (15:28 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:08:19 +0000 (13:08 -0500)
metze
(This used to be commit afef9b10481da3857d3cba598a71c01b827f29de)

source4/build/pidl/idl.pm

index ed0192e3e9089967c24a2b027ea1b74386751364..a3e23fcda10b80fed5d41c2ddc11691e2d6788f6 100644 (file)
@@ -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);