summaryrefslogtreecommitdiff
path: root/source4/pidl/lib/Parse/Pidl/IDL.pm
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2008-09-17 17:12:27 +0200
committerJelmer Vernooij <jelmer@samba.org>2008-09-17 17:12:27 +0200
commit79190992b3820cd028c961c48bdea9b35baf13c9 (patch)
tree0de851669d98f04e947d20349d96723462cd1eb0 /source4/pidl/lib/Parse/Pidl/IDL.pm
parent3b5330e9094ecf0be94d3dbea744de140ec55e19 (diff)
downloadsamba-79190992b3820cd028c961c48bdea9b35baf13c9.tar.gz
samba-79190992b3820cd028c961c48bdea9b35baf13c9.tar.bz2
samba-79190992b3820cd028c961c48bdea9b35baf13c9.zip
Move pidl to top-level directory.
Diffstat (limited to 'source4/pidl/lib/Parse/Pidl/IDL.pm')
-rw-r--r--source4/pidl/lib/Parse/Pidl/IDL.pm2534
1 files changed, 0 insertions, 2534 deletions
diff --git a/source4/pidl/lib/Parse/Pidl/IDL.pm b/source4/pidl/lib/Parse/Pidl/IDL.pm
deleted file mode 100644
index 06d54fb4b5..0000000000
--- a/source4/pidl/lib/Parse/Pidl/IDL.pm
+++ /dev/null
@@ -1,2534 +0,0 @@
-####################################################################
-#
-# This file was generated using Parse::Yapp version 1.05.
-#
-# Don't edit this file, use source file instead.
-#
-# ANY CHANGE MADE HERE WILL BE LOST !
-#
-####################################################################
-package Parse::Pidl::IDL;
-use vars qw ( @ISA );
-use strict;
-
-@ISA= qw ( Parse::Yapp::Driver );
-use Parse::Yapp::Driver;
-
-
-
-sub new {
- my($class)=shift;
- ref($class)
- and $class=ref($class);
-
- my($self)=$class->SUPER::new( yyversion => '1.05',
- yystates =>
-[
- {#State 0
- DEFAULT => -1,
- GOTOS => {
- 'idl' => 1
- }
- },
- {#State 1
- ACTIONS => {
- '' => 2,
- "cpp_quote" => 3,
- "importlib" => 4,
- "import" => 7,
- "include" => 13
- },
- DEFAULT => -85,
- GOTOS => {
- 'cpp_quote' => 11,
- 'importlib' => 10,
- 'interface' => 9,
- 'include' => 5,
- 'coclass' => 12,
- 'import' => 8,
- 'property_list' => 6
- }
- },
- {#State 2
- DEFAULT => 0
- },
- {#State 3
- ACTIONS => {
- "(" => 14
- }
- },
- {#State 4
- ACTIONS => {
- 'TEXT' => 16
- },
- GOTOS => {
- 'commalist' => 15,
- 'text' => 17
- }
- },
- {#State 5
- DEFAULT => -5
- },
- {#State 6
- ACTIONS => {
- "coclass" => 18,
- "[" => 20,
- "interface" => 19
- }
- },
- {#State 7
- ACTIONS => {
- 'TEXT' => 16
- },
- GOTOS => {
- 'commalist' => 21,
- 'text' => 17
- }
- },
- {#State 8
- DEFAULT => -4
- },
- {#State 9
- DEFAULT => -2
- },
- {#State 10
- DEFAULT => -6
- },
- {#State 11
- DEFAULT => -7
- },
- {#State 12
- DEFAULT => -3
- },
- {#State 13
- ACTIONS => {
- 'TEXT' => 16
- },
- GOTOS => {
- 'commalist' => 22,
- 'text' => 17
- }
- },
- {#State 14
- ACTIONS => {
- 'TEXT' => 16
- },
- GOTOS => {
- 'text' => 23
- }
- },
- {#State 15
- ACTIONS => {
- ";" => 24,
- "," => 25
- }
- },
- {#State 16
- DEFAULT => -116
- },
- {#State 17
- DEFAULT => -11
- },
- {#State 18
- ACTIONS => {
- 'IDENTIFIER' => 26
- },
- GOTOS => {
- 'identifier' => 27
- }
- },
- {#State 19
- ACTIONS => {
- 'IDENTIFIER' => 26
- },
- GOTOS => {
- 'identifier' => 28
- }
- },
- {#State 20
- ACTIONS => {
- 'IDENTIFIER' => 26
- },
- GOTOS => {
- 'identifier' => 30,
- 'property' => 31,
- 'properties' => 29
- }
- },
- {#State 21
- ACTIONS => {
- ";" => 32,
- "," => 25
- }
- },
- {#State 22
- ACTIONS => {
- ";" => 33,
- "," => 25
- }
- },
- {#State 23
- ACTIONS => {
- ")" => 34
- }
- },
- {#State 24
- DEFAULT => -10
- },
- {#State 25
- ACTIONS => {
- 'TEXT' => 16
- },
- GOTOS => {
- 'text' => 35
- }
- },
- {#State 26
- DEFAULT => -112
- },
- {#State 27
- ACTIONS => {
- "{" => 36
- }
- },
- {#State 28
- ACTIONS => {
- ":" => 37
- },
- DEFAULT => -17,
- GOTOS => {
- 'base_interface' => 38
- }
- },
- {#State 29
- ACTIONS => {
- "," => 39,
- "]" => 40
- }
- },
- {#State 30
- ACTIONS => {
- "(" => 41
- },
- DEFAULT => -89
- },
- {#State 31
- DEFAULT => -87
- },
- {#State 32
- DEFAULT => -8
- },
- {#State 33
- DEFAULT => -9
- },
- {#State 34
- DEFAULT => -19
- },
- {#State 35
- DEFAULT => -12
- },
- {#State 36
- DEFAULT => -14,
- GOTOS => {
- 'interface_names' => 42
- }
- },
- {#State 37
- ACTIONS => {
- 'IDENTIFIER' => 26
- },
- GOTOS => {
- 'identifier' => 43
- }
- },
- {#State 38
- ACTIONS => {
- "{" => 44
- }
- },
- {#State 39
- ACTIONS => {
- 'IDENTIFIER' => 26
- },
- GOTOS => {
- 'identifier' => 30,
- 'property' => 45
- }
- },
- {#State 40
- DEFAULT => -86
- },
- {#State 41
- ACTIONS => {
- 'CONSTANT' => 48,
- 'TEXT' => 16,
- 'IDENTIFIER' => 26
- },
- DEFAULT => -93,
- GOTOS => {
- 'identifier' => 50,
- 'text' => 51,
- 'anytext' => 46,
- 'constant' => 47,
- 'commalisttext' => 49
- }
- },
- {#State 42
- ACTIONS => {
- "}" => 52,
- "interface" => 53
- }
- },
- {#State 43
- DEFAULT => -18
- },
- {#State 44
- ACTIONS => {
- "const" => 63
- },
- DEFAULT => -85,
- GOTOS => {
- 'typedecl' => 54,
- 'function' => 55,
- 'definitions' => 57,
- 'bitmap' => 56,
- 'definition' => 60,
- 'property_list' => 59,
- 'usertype' => 58,
- 'const' => 62,
- 'struct' => 61,
- 'typedef' => 65,
- 'enum' => 64,
- 'union' => 66
- }
- },
- {#State 45
- DEFAULT => -88
- },
- {#State 46
- ACTIONS => {
- "-" => 68,
- ":" => 67,
- "<" => 70,
- "+" => 72,
- "~" => 71,
- "*" => 79,
- "?" => 69,
- "{" => 73,
- "&" => 74,
- "/" => 75,
- "=" => 76,
- "(" => 77,
- "|" => 78,
- "." => 80,
- ">" => 81
- },
- DEFAULT => -91
- },
- {#State 47
- DEFAULT => -95
- },
- {#State 48
- DEFAULT => -115
- },
- {#State 49
- ACTIONS => {
- "," => 82,
- ")" => 83
- }
- },
- {#State 50
- DEFAULT => -94
- },
- {#State 51
- DEFAULT => -96
- },
- {#State 52
- ACTIONS => {
- ";" => 85
- },
- DEFAULT => -117,
- GOTOS => {
- 'optional_semicolon' => 84
- }
- },
- {#State 53
- ACTIONS => {
- 'IDENTIFIER' => 26
- },
- GOTOS => {
- 'identifier' => 86
- }
- },
- {#State 54
- DEFAULT => -25
- },
- {#State 55
- DEFAULT => -22
- },
- {#State 56
- DEFAULT => -33
- },
- {#State 57
- ACTIONS => {
- "}" => 87,
- "const" => 63
- },
- DEFAULT => -85,
- GOTOS => {
- 'typedecl' => 54,
- 'function' => 55,
- 'bitmap' => 56,
- 'definition' => 88,
- 'property_list' => 59,
- 'usertype' => 58,
- 'struct' => 61,
- 'const' => 62,
- 'typedef' => 65,
- 'enum' => 64,
- 'union' => 66
- }
- },
- {#State 58
- ACTIONS => {
- ";" => 89
- }
- },
- {#State 59
- ACTIONS => {
- "typedef" => 90,
- 'IDENTIFIER' => 26,
- "signed" => 98,
- "union" => 91,
- "enum" => 100,
- "bitmap" => 101,
- 'void' => 92,
- "unsigned" => 102,
- "[" => 20,
- "struct" => 97
- },
- GOTOS => {
- 'existingtype' => 99,
- 'bitmap' => 56,
- 'usertype' => 94,
- 'property_list' => 93,
- 'identifier' => 95,
- 'struct' => 61,
- 'enum' => 64,
- 'type' => 103,
- 'union' => 66,
- 'sign' => 96
- }
- },
- {#State 60
- DEFAULT => -20
- },
- {#State 61
- DEFAULT => -30
- },
- {#State 62
- DEFAULT => -23
- },
- {#State 63
- ACTIONS => {
- 'IDENTIFIER' => 26
- },
- GOTOS => {
- 'identifier' => 104
- }
- },
- {#State 64
- DEFAULT => -32
- },
- {#State 65
- DEFAULT => -24
- },
- {#State 66
- DEFAULT => -31
- },
- {#State 67
- ACTIONS => {
- 'CONSTANT' => 48,
- 'TEXT' => 16,
- 'IDENTIFIER' => 26
- },
- DEFAULT => -93,
- GOTOS => {
- 'identifier' => 50,
- 'anytext' => 105,
- 'text' => 51,
- 'constant' => 47
- }
- },
- {#State 68
- ACTIONS => {
- 'CONSTANT' => 48,
- 'TEXT' => 16,
- 'IDENTIFIER' => 26
- },
- DEFAULT => -93,
- GOTOS => {
- 'identifier' => 50,
- 'anytext' => 106,
- 'text' => 51,
- 'constant' => 47
- }
- },
- {#State 69
- ACTIONS => {
- 'CONSTANT' => 48,
- 'TEXT' => 16,
- 'IDENTIFIER' => 26
- },
- DEFAULT => -93,
- GOTOS => {
- 'identifier' => 50,
- 'anytext' => 107,
- 'text' => 51,
- 'constant' => 47
- }
- },
- {#State 70
- ACTIONS => {
- 'CONSTANT' => 48,
- 'TEXT' => 16,
- 'IDENTIFIER' => 26
- },
- DEFAULT => -93,
- GOTOS => {
- 'identifier' => 50,
- 'anytext' => 108,
- 'text' => 51,
- 'constant' => 47
- }
- },
- {#State 71
- ACTIONS => {
- 'CONSTANT' => 48,
- 'TEXT' => 16,
- 'IDENTIFIER' => 26
- },
- DEFAULT => -93,
- GOTOS => {
- 'identifier' => 50,
- 'anytext' => 109,
- 'text' => 51,
- 'constant' => 47
- }
- },
- {#State 72
- ACTIONS => {
- 'CONSTANT' => 48,
- 'TEXT' => 16,
- 'IDENTIFIER' => 26
- },
- DEFAULT => -93,
- GOTOS => {
- 'identifier' => 50,
- 'anytext' => 110,
- 'text' => 51,
- 'constant' => 47
- }
- },
- {#State 73
- ACTIONS => {
- 'CONSTANT' => 48,
- 'TEXT' => 16,
- 'IDENTIFIER' => 26
- },
- DEFAULT => -93,
- GOTOS => {
- 'identifier' => 50,
- 'anytext' => 46,
- 'text' => 51,
- 'constant' => 47,
- 'commalisttext' => 111
- }
- },
- {#State 74
- ACTIONS => {
- 'CONSTANT' => 48,
- 'TEXT' => 16,
- 'IDENTIFIER' => 26
- },
- DEFAULT => -93,
- GOTOS => {
- 'identifier' => 50,
- 'anytext' => 112,
- 'text' => 51,
- 'constant' => 47
- }
- },
- {#State 75
- ACTIONS => {
- 'CONSTANT' => 48,
- 'TEXT' => 16,
- 'IDENTIFIER' => 26
- },
- DEFAULT => -93,
- GOTOS => {
- 'identifier' => 50,
- 'anytext' => 113,
- 'text' => 51,
- 'constant' => 47
- }
- },
- {#State 76
- ACTIONS => {
- 'CONSTANT' => 48,
- 'TEXT' => 16,
- 'IDENTIFIER' => 26
- },
- DEFAULT => -93,
- GOTOS => {
- 'identifier' => 50,
- 'anytext' => 114,
- 'text' => 51,
- 'constant' => 47
- }
- },
- {#State 77
- ACTIONS => {
- 'CONSTANT' => 48,
- 'TEXT' => 16,
- 'IDENTIFIER' => 26
- },
- DEFAULT => -93,
- GOTOS => {
- 'identifier' => 50,
- 'anytext' => 46,
- 'text' => 51,
- 'constant' => 47,
- 'commalisttext' => 115
- }
- },
- {#State 78
- ACTIONS => {
- 'CONSTANT' => 48,
- 'TEXT' => 16,
- 'IDENTIFIER' => 26
- },
- DEFAULT => -93,
- GOTOS => {
- 'identifier' => 50,
- 'anytext' => 116,
- 'text' => 51,
- 'constant' => 47
- }
- },
- {#State 79
- ACTIONS => {
- 'CONSTANT' => 48,
- 'TEXT' => 16,
- 'IDENTIFIER' => 26
- },
- DEFAULT => -93,
- GOTOS => {
- 'identifier' => 50,
- 'anytext' => 117,
- 'text' => 51,
- 'constant' => 47
- }
- },
- {#State 80
- ACTIONS => {
- 'CONSTANT' => 48,
- 'TEXT' => 16,
- 'IDENTIFIER' => 26
- },
- DEFAULT => -93,
- GOTOS => {
- 'identifier' => 50,
- 'anytext' => 118,
- 'text' => 51,
- 'constant' => 47
- }
- },
- {#State 81
- ACTIONS => {
- 'CONSTANT' => 48,
- 'TEXT' => 16,
- 'IDENTIFIER' => 26
- },
- DEFAULT => -93,
- GOTOS => {
- 'identifier' => 50,
- 'anytext' => 119,
- 'text' => 51,
- 'constant' => 47
- }
- },
- {#State 82
- ACTIONS => {
- 'CONSTANT' => 48,
- 'TEXT' => 16,
- 'IDENTIFIER' => 26
- },
- DEFAULT => -93,
- GOTOS => {
- 'identifier' => 50,
- 'anytext' => 120,
- 'text' => 51,
- 'constant' => 47
- }
- },
- {#State 83
- DEFAULT => -90
- },
- {#State 84
- DEFAULT => -13
- },
- {#State 85
- DEFAULT => -118
- },
- {#State 86
- ACTIONS => {
- ";" => 121
- }
- },
- {#State 87
- ACTIONS => {
- ";" => 85
- },
- DEFAULT => -117,
- GOTOS => {
- 'optional_semicolon' => 122
- }
- },
- {#State 88
- DEFAULT => -21
- },
- {#State 89
- DEFAULT => -34
- },
- {#State 90
- ACTIONS => {
- 'IDENTIFIER' => 26,
- "signed" => 98,
- 'void' => 92,
- "unsigned" => 102
- },
- DEFAULT => -85,
- GOTOS => {
- 'existingtype' => 99,
- 'bitmap' => 56,
- 'usertype' => 94,
- 'property_list' => 93,
- 'identifier' => 95,
- 'struct' => 61,
- 'enum' => 64,
- 'type' => 123,
- 'union' => 66,
- 'sign' => 96
- }
- },
- {#State 91
- ACTIONS => {
- 'IDENTIFIER' => 124
- },
- DEFAULT => -114,
- GOTOS => {
- 'optional_identifier' => 125
- }
- },
- {#State 92
- DEFAULT => -41
- },
- {#State 93
- ACTIONS => {
- "union" => 91,
- "enum" => 100,
- "bitmap" => 101,
- "[" => 20,
- "struct" => 97
- }
- },
- {#State 94
- DEFAULT => -39
- },
- {#State 95
- DEFAULT => -38
- },
- {#State 96
- ACTIONS => {
- 'IDENTIFIER' => 26
- },
- GOTOS => {
- 'identifier' => 126
- }
- },
- {#State 97
- ACTIONS => {
- 'IDENTIFIER' => 124
- },
- DEFAULT => -114,
- GOTOS => {
- 'optional_identifier' => 127
- }
- },
- {#State 98
- DEFAULT => -35
- },
- {#State 99
- DEFAULT => -40
- },
- {#State 100
- ACTIONS => {
- 'IDENTIFIER' => 124
- },
- DEFAULT => -114,
- GOTOS => {
- 'optional_identifier' => 128
- }
- },
- {#State 101
- ACTIONS => {
- 'IDENTIFIER' => 124
- },
- DEFAULT => -114,
- GOTOS => {
- 'optional_identifier' => 129
- }
- },
- {#State 102
- DEFAULT => -36
- },
- {#State 103
- ACTIONS => {
- 'IDENTIFIER' => 26
- },
- GOTOS => {
- 'identifier' => 130
- }
- },
- {#State 104
- DEFAULT => -74,
- GOTOS => {
- 'pointers' => 131
- }
- },
- {#State 105
- ACTIONS => {
- "-" => 68,
- ":" => 67,
- "<" => 70,
- "+" => 72,
- "~" => 71,
- "*" => 79,
- "?" => 69,
- "{" => 73,
- "&" => 74,
- "/" => 75,
- "=" => 76,
- "(" => 77,
- "|" => 78,
- "." => 80,
- ">" => 81
- },
- DEFAULT => -106
- },
- {#State 106
- ACTIONS => {
- ":" => 67,
- "<" => 70,
- "~" => 71,
- "?" => 69,
- "{" => 73,
- "=" => 76
- },
- DEFAULT => -97
- },
- {#State 107
- ACTIONS => {
- "-" => 68,
- ":" => 67,
- "<" => 70,
- "+" => 72,
- "~" => 71,
- "*" => 79,
- "?" => 69,
- "{" => 73,
- "&" => 74,
- "/" => 75,
- "=" => 76,
- "(" => 77,
- "|" => 78,
- "." => 80,
- ">" => 81
- },
- DEFAULT => -105
- },
- {#State 108
- ACTIONS => {
- "-" => 68,
- ":" => 67,
- "<" => 70,
- "+" => 72,
- "~" => 71,
- "*" => 79,
- "?" => 69,
- "{" => 73,
- "&" => 74,
- "/" => 75,
- "=" => 76,
- "(" => 77,
- "|" => 78,
- "." => 80,
- ">" => 81
- },
- DEFAULT => -101
- },
- {#State 109
- ACTIONS => {
- "-" => 68,
- ":" => 67,
- "<" => 70,
- "+" => 72,
- "~" => 71,
- "*" => 79,
- "?" => 69,
- "{" => 73,
- "&" => 74,
- "/" => 75,
- "=" => 76,
- "(" => 77,
- "|" => 78,
- "." => 80,
- ">" => 81
- },
- DEFAULT => -109
- },
- {#State 110
- ACTIONS => {
- ":" => 67,
- "<" => 70,
- "~" => 71,
- "?" => 69,
- "{" => 73,
- "=" => 76
- },
- DEFAULT => -108
- },
- {#State 111
- ACTIONS => {
- "}" => 132,
- "," => 82
- }
- },
- {#State 112
- ACTIONS => {
- ":" => 67,
- "<" => 70,
- "~" => 71,
- "?" => 69,
- "{" => 73,
- "=" => 76
- },
- DEFAULT => -103
- },
- {#State 113
- ACTIONS => {
- ":" => 67,
- "<" => 70,
- "~" => 71,
- "?" => 69,
- "{" => 73,
- "=" => 76
- },
- DEFAULT => -104
- },
- {#State 114
- ACTIONS => {
- "-" => 68,
- ":" => 67,
- "<" => 70,
- "+" => 72,
- "~" => 71,
- "*" => 79,
- "?" => 69,
- "{" => 73,
- "&" => 74,
- "/" => 75,
- "=" => 76,
- "(" => 77,
- "|" => 78,
- "." => 80,
- ">" => 81
- },
- DEFAULT => -107
- },
- {#State 115
- ACTIONS => {
- "," => 82,
- ")" => 133
- }
- },
- {#State 116
- ACTIONS => {
- ":" => 67,
- "<" => 70,
- "~" => 71,
- "?" => 69,
- "{" => 73,
- "=" => 76
- },
- DEFAULT => -102
- },
- {#State 117
- ACTIONS => {
- ":" => 67,
- "<" => 70,
- "~" => 71,
- "?" => 69,
- "{" => 73,
- "=" => 76
- },
- DEFAULT => -99
- },
- {#State 118
- ACTIONS => {
- ":" => 67,
- "<" => 70,
- "~" => 71,
- "?" => 69,
- "{" => 73,
- "=" => 76
- },
- DEFAULT => -98
- },
- {#State 119
- ACTIONS => {
- ":" => 67,
- "<" => 70,
- "~" => 71,
- "?" => 69,
- "{" => 73,
- "=" => 76
- },
- DEFAULT => -100
- },
- {#State 120
- ACTIONS => {
- "-" => 68,
- ":" => 67,
- "<" => 70,
- "+" => 72,
- "~" => 71,
- "*" => 79,
- "?" => 69,
- "{" => 73,
- "&" => 74,
- "/" => 75,
- "=" => 76,
- "(" => 77,
- "|" => 78,
- "." => 80,
- ">" => 81
- },
- DEFAULT => -92
- },
- {#State 121
- DEFAULT => -15
- },
- {#State 122
- DEFAULT => -16
- },
- {#State 123
- ACTIONS => {
- 'IDENTIFIER' => 26
- },
- GOTOS => {
- 'identifier' => 134
- }
- },
- {#State 124
- DEFAULT => -113
- },
- {#State 125
- ACTIONS => {
- "{" => 136
- },
- DEFAULT => -70,
- GOTOS => {
- 'union_body' => 137,
- 'opt_union_body' => 135
- }
- },
- {#State 126
- DEFAULT => -37
- },
- {#State 127
- ACTIONS => {
- "{" => 139
- },
- DEFAULT => -60,
- GOTOS => {
- 'struct_body' => 138,
- 'opt_struct_body' => 140
- }
- },
- {#State 128
- ACTIONS => {
- "{" => 141
- },
- DEFAULT => -43,
- GOTOS => {
- 'opt_enum_body' => 143,
- 'enum_body' => 142
- }
- },
- {#State 129
- ACTIONS => {
- "{" => 145
- },
- DEFAULT => -51,
- GOTOS => {
- 'bitmap_body' => 146,
- 'opt_bitmap_body' => 144
- }
- },
- {#State 130
- ACTIONS => {
- "(" => 147
- }
- },
- {#State 131
- ACTIONS => {
- 'IDENTIFIER' => 26,
- "*" => 149
- },
- GOTOS => {
- 'identifier' => 148
- }
- },
- {#State 132
- ACTIONS => {
- 'CONSTANT' => 48,
- 'TEXT' => 16,
- 'IDENTIFIER' => 26
- },
- DEFAULT => -93,
- GOTOS => {
- 'identifier' => 50,
- 'anytext' => 150,
- 'text' => 51,
- 'constant' => 47
- }
- },
- {#State 133
- ACTIONS => {
- 'CONSTANT' => 48,
- 'TEXT' => 16,
- 'IDENTIFIER' => 26
- },
- DEFAULT => -93,
- GOTOS => {
- 'identifier' => 50,
- 'anytext' => 151,
- 'text' => 51,
- 'constant' => 47
- }
- },
- {#State 134
- ACTIONS => {
- "[" => 152
- },
- DEFAULT => -82,
- GOTOS => {
- 'array_len' => 153
- }
- },
- {#State 135
- DEFAULT => -72
- },
- {#State 136
- DEFAULT => -67,
- GOTOS => {
- 'union_elements' => 154
- }
- },
- {#State 137
- DEFAULT => -71
- },
- {#State 138
- DEFAULT => -61
- },
- {#State 139
- DEFAULT => -76,
- GOTOS => {
- 'element_list1' => 155
- }
- },
- {#State 140
- DEFAULT => -62
- },
- {#State 141
- ACTIONS => {
- 'IDENTIFIER' => 26
- },
- GOTOS => {
- 'identifier' => 156,
- 'enum_element' => 157,
- 'enum_elements' => 158
- }
- },
- {#State 142
- DEFAULT => -44
- },
- {#State 143
- DEFAULT => -45
- },
- {#State 144
- DEFAULT => -53
- },
- {#State 145
- ACTIONS => {
- 'IDENTIFIER' => 26
- },
- DEFAULT => -56,
- GOTOS => {
- 'identifier' => 161,
- 'bitmap_element' => 160,
- 'bitmap_elements' => 159,
- 'opt_bitmap_elements' => 162
- }
- },
- {#State 146
- DEFAULT => -52
- },
- {#State 147
- ACTIONS => {
- "," => -78,
- "void" => 166,
- ")" => -78
- },
- DEFAULT => -85,
- GOTOS => {
- 'base_element' => 163,
- 'element_list2' => 165,
- 'property_list' => 164
- }
- },
- {#State 148
- ACTIONS => {
- "[" => 152,
- "=" => 168
- },
- GOTOS => {
- 'array_len' => 167
- }
- },
- {#State 149
- DEFAULT => -75
- },
- {#State 150
- ACTIONS => {
- "-" => 68,
- ":" => 67,
- "<" => 70,
- "+" => 72,
- "~" => 71,
- "*" => 79,
- "?" => 69,
- "{" => 73,
- "&" => 74,
- "/" => 75,
- "=" => 76,
- "(" => 77,
- "|" => 78,
- "." => 80,
- ">" => 81
- },
- DEFAULT => -111
- },
- {#State 151
- ACTIONS => {
- ":" => 67,
- "<" => 70,
- "~" => 71,
- "?" => 69,
- "{" => 73,
- "=" => 76
- },
- DEFAULT => -110
- },
- {#State 152
- ACTIONS => {
- 'CONSTANT' => 48,
- 'TEXT' => 16,
- "]" => 169,
- 'IDENTIFIER' => 26
- },
- DEFAULT => -93,
- GOTOS => {
- 'identifier' => 50,
- 'anytext' => 170,
- 'text' => 51,
- 'constant' => 47
- }
- },
- {#State 153
- ACTIONS => {
- ";" => 171
- }
- },
- {#State 154
- ACTIONS => {
- "}" => 172
- },
- DEFAULT => -85,
- GOTOS => {
- 'optional_base_element' => 174,
- 'property_list' => 173
- }
- },
- {#State 155
- ACTIONS => {
- "}" => 175
- },
- DEFAULT => -85,
- GOTOS => {
- 'base_element' => 176,
- 'property_list' => 164
- }
- },
- {#State 156
- ACTIONS => {
- "=" => 177
- },
- DEFAULT => -48
- },
- {#State 157
- DEFAULT => -46
- },
- {#State 158
- ACTIONS => {
- "}" => 178,
- "," => 179
- }
- },
- {#State 159
- ACTIONS => {
- "," => 180
- },
- DEFAULT => -57
- },
- {#State 160
- DEFAULT => -54
- },
- {#State 161
- ACTIONS => {
- "=" => 181
- }
- },
- {#State 162
- ACTIONS => {
- "}" => 182
- }
- },
- {#State 163
- DEFAULT => -80
- },
- {#State 164
- ACTIONS => {
- 'IDENTIFIER' => 26,
- "signed" => 98,
- 'void' => 92,
- "unsigned" => 102,
- "[" => 20
- },
- DEFAULT => -85,
- GOTOS => {
- 'existingtype' => 99,
- 'bitmap' => 56,
- 'usertype' => 94,
- 'property_list' => 93,
- 'identifier' => 95,
- 'struct' => 61,
- 'enum' => 64,
- 'type' => 183,
- 'union' => 66,
- 'sign' => 96
- }
- },
- {#State 165
- ACTIONS => {
- "," => 184,
- ")" => 185
- }
- },
- {#State 166
- DEFAULT => -79
- },
- {#State 167
- ACTIONS => {
- "=" => 186
- }
- },
- {#State 168
- ACTIONS => {
- 'CONSTANT' => 48,
- 'TEXT' => 16,
- 'IDENTIFIER' => 26
- },
- DEFAULT => -93,
- GOTOS => {
- 'identifier' => 50,
- 'anytext' => 187,
- 'text' => 51,
- 'constant' => 47
- }
- },
- {#State 169
- ACTIONS => {
- "[" => 152
- },
- DEFAULT => -82,
- GOTOS => {
- 'array_len' => 188
- }
- },
- {#State 170
- ACTIONS => {
- "-" => 68,
- ":" => 67,
- "?" => 69,
- "<" => 70,
- "+" => 72,
- "~" => 71,
- "&" => 74,
- "{" => 73,
- "/" => 75,
- "=" => 76,
- "|" => 78,
- "(" => 77,
- "*" => 79,
- "." => 80,
- "]" => 189,
- ">" => 81
- }
- },
- {#State 171
- DEFAULT => -29
- },
- {#State 172
- DEFAULT => -69
- },
- {#State 173
- ACTIONS => {
- "[" => 20
- },
- DEFAULT => -85,
- GOTOS => {
- 'base_or_empty' => 190,
- 'base_element' => 191,
- 'empty_element' => 192,
- 'property_list' => 193
- }
- },
- {#State 174
- DEFAULT => -68
- },
- {#State 175
- DEFAULT => -59
- },
- {#State 176
- ACTIONS => {
- ";" => 194
- }
- },
- {#State 177
- ACTIONS => {
- 'CONSTANT' => 48,
- 'TEXT' => 16,
- 'IDENTIFIER' => 26
- },
- DEFAULT => -93,
- GOTOS => {
- 'identifier' => 50,
- 'anytext' => 195,
- 'text' => 51,
- 'constant' => 47
- }
- },
- {#State 178
- DEFAULT => -42
- },
- {#State 179
- ACTIONS => {
- 'IDENTIFIER' => 26
- },
- GOTOS => {
- 'identifier' => 156,
- 'enum_element' => 196
- }
- },
- {#State 180
- ACTIONS => {
- 'IDENTIFIER' => 26
- },
- GOTOS => {
- 'identifier' => 161,
- 'bitmap_element' => 197
- }
- },
- {#State 181
- ACTIONS => {
- 'CONSTANT' => 48,
- 'TEXT' => 16,
- 'IDENTIFIER' => 26
- },
- DEFAULT => -93,
- GOTOS => {
- 'identifier' => 50,
- 'anytext' => 198,
- 'text' => 51,
- 'constant' => 47
- }
- },
- {#State 182
- DEFAULT => -50
- },
- {#State 183
- DEFAULT => -74,
- GOTOS => {
- 'pointers' => 199
- }
- },
- {#State 184
- DEFAULT => -85,
- GOTOS => {
- 'base_element' => 200,
- 'property_list' => 164
- }
- },
- {#State 185
- ACTIONS => {
- ";" => 201
- }
- },
- {#State 186
- ACTIONS => {
- 'CONSTANT' => 48,
- 'TEXT' => 16,
- 'IDENTIFIER' => 26
- },
- DEFAULT => -93,
- GOTOS => {
- 'identifier' => 50,
- 'anytext' => 202,
- 'text' => 51,
- 'constant' => 47
- }
- },
- {#State 187
- ACTIONS => {
- "-" => 68,
- ":" => 67,
- "?" => 69,
- "<" => 70,
- ";" => 203,
- "+" => 72,
- "~" => 71,
- "&" => 74,
- "{" => 73,
- "/" => 75,
- "=" => 76,
- "|" => 78,
- "(" => 77,
- "*" => 79,
- "." => 80,
- ">" => 81
- }
- },
- {#State 188
- DEFAULT => -83
- },
- {#State 189
- ACTIONS => {
- "[" => 152
- },
- DEFAULT => -82,
- GOTOS => {
- 'array_len' => 204
- }
- },
- {#State 190
- DEFAULT => -66
- },
- {#State 191
- ACTIONS => {
- ";" => 205
- }
- },
- {#State 192
- DEFAULT => -65
- },
- {#State 193
- ACTIONS => {
- 'IDENTIFIER' => 26,
- "signed" => 98,
- ";" => 206,
- 'void' => 92,
- "unsigned" => 102,
- "[" => 20
- },
- DEFAULT => -85,
- GOTOS => {
- 'existingtype' => 99,
- 'bitmap' => 56,
- 'usertype' => 94,
- 'property_list' => 93,
- 'identifier' => 95,
- 'struct' => 61,
- 'enum' => 64,
- 'type' => 183,
- 'union' => 66,
- 'sign' => 96
- }
- },
- {#State 194
- DEFAULT => -77
- },
- {#State 195
- ACTIONS => {
- "-" => 68,
- ":" => 67,
- "<" => 70,
- "+" => 72,
- "~" => 71,
- "*" => 79,
- "?" => 69,
- "{" => 73,
- "&" => 74,
- "/" => 75,
- "=" => 76,
- "(" => 77,
- "|" => 78,
- "." => 80,
- ">" => 81
- },
- DEFAULT => -49
- },
- {#State 196
- DEFAULT => -47
- },
- {#State 197
- DEFAULT => -55
- },
- {#State 198
- ACTIONS => {
- "-" => 68,
- ":" => 67,
- "<" => 70,
- "+" => 72,
- "~" => 71,
- "*" => 79,
- "?" => 69,
- "{" => 73,
- "&" => 74,
- "/" => 75,
- "=" => 76,
- "(" => 77,
- "|" => 78,
- "." => 80,
- ">" => 81
- },
- DEFAULT => -58
- },
- {#State 199
- ACTIONS => {
- 'IDENTIFIER' => 26,
- "*" => 149
- },
- GOTOS => {
- 'identifier' => 207
- }
- },
- {#State 200
- DEFAULT => -81
- },
- {#State 201
- DEFAULT => -28
- },
- {#State 202
- ACTIONS => {
- "-" => 68,
- ":" => 67,
- "?" => 69,
- "<" => 70,
- ";" => 208,
- "+" => 72,
- "~" => 71,
- "&" => 74,
- "{" => 73,
- "/" => 75,
- "=" => 76,
- "|" => 78,
- "(" => 77,
- "*" => 79,
- "." => 80,
- ">" => 81
- }
- },
- {#State 203
- DEFAULT => -26
- },
- {#State 204
- DEFAULT => -84
- },
- {#State 205
- DEFAULT => -64
- },
- {#State 206
- DEFAULT => -63
- },
- {#State 207
- ACTIONS => {
- "[" => 152
- },
- DEFAULT => -82,
- GOTOS => {
- 'array_len' => 209
- }
- },
- {#State 208
- DEFAULT => -27
- },
- {#State 209
- DEFAULT => -73
- }
-],
- yyrules =>
-[
- [#Rule 0
- '$start', 2, undef
- ],
- [#Rule 1
- 'idl', 0, undef
- ],
- [#Rule 2
- 'idl', 2,
-sub
-#line 19 "pidl/idl.yp"
-{ push(@{$_[1]}, $_[2]); $_[1] }
- ],
- [#Rule 3
- 'idl', 2,
-sub
-#line 20 "pidl/idl.yp"
-{ push(@{$_[1]}, $_[2]); $_[1] }
- ],
- [#Rule 4
- 'idl', 2,
-sub
-#line 21 "pidl/idl.yp"
-{ push(@{$_[1]}, $_[2]); $_[1] }
- ],
- [#Rule 5
- 'idl', 2,
-sub
-#line 22 "pidl/idl.yp"
-{ push(@{$_[1]}, $_[2]); $_[1] }
- ],
- [#Rule 6
- 'idl', 2,
-sub
-#line 23 "pidl/idl.yp"
-{ push(@{$_[1]}, $_[2]); $_[1] }
- ],
- [#Rule 7
- 'idl', 2,
-sub
-#line 24 "pidl/idl.yp"
-{ push(@{$_[1]}, $_[2]); $_[1] }
- ],
- [#Rule 8
- 'import', 3,
-sub
-#line 27 "pidl/idl.yp"
-{{
- "TYPE" => "IMPORT",
- "PATHS" => $_[2],
- "FILE" => $_[0]->YYData->{FILE},
- "LINE" => $_[0]->YYData->{LINE}
- }}
- ],
- [#Rule 9
- 'include', 3,
-sub
-#line 34 "pidl/idl.yp"
-{{
- "TYPE" => "INCLUDE",
- "PATHS" => $_[2],
- "FILE" => $_[0]->YYData->{FILE},
- "LINE" => $_[0]->YYData->{LINE}
- }}
- ],
- [#Rule 10
- 'importlib', 3,
-sub
-#line 41 "pidl/idl.yp"
-{{
- "TYPE" => "IMPORTLIB",
- "PATHS" => $_[2],
- "FILE" => $_[0]->YYData->{FILE},
- "LINE" => $_[0]->YYData->{LINE}
- }}
- ],
- [#Rule 11
- 'commalist', 1,
-sub
-#line 50 "pidl/idl.yp"
-{ [ $_[1] ] }
- ],
- [#Rule 12
- 'commalist', 3,
-sub
-#line 51 "pidl/idl.yp"
-{ push(@{$_[1]}, $_[3]); $_[1] }
- ],
- [#Rule 13
- 'coclass', 7,
-sub
-#line 55 "pidl/idl.yp"
-{{
- "TYPE" => "COCLASS",
- "PROPERTIES" => $_[1],
- "NAME" => $_[3],
- "DATA" => $_[5],
- "FILE" => $_[0]->YYData->{FILE},
- "LINE" => $_[0]->YYData->{LINE},
- }}
- ],
- [#Rule 14
- 'interface_names', 0, undef
- ],
- [#Rule 15
- 'interface_names', 4,
-sub
-#line 67 "pidl/idl.yp"
-{ push(@{$_[1]}, $_[2]); $_[1] }
- ],
- [#Rule 16
- 'interface', 8,
-sub
-#line 71 "pidl/idl.yp"
-{{
- "TYPE" => "INTERFACE",
- "PROPERTIES" => $_[1],
- "NAME" => $_[3],
- "BASE" => $_[4],
- "DATA" => $_[6],
- "FILE" => $_[0]->YYData->{FILE},
- "LINE" => $_[0]->YYData->{LINE},
- }}
- ],
- [#Rule 17
- 'base_interface', 0, undef
- ],
- [#Rule 18
- 'base_interface', 2,
-sub
-#line 84 "pidl/idl.yp"
-{ $_[2] }
- ],
- [#Rule 19
- 'cpp_quote', 4,
-sub
-#line 89 "pidl/idl.yp"
-{{
- "TYPE" => "CPP_QUOTE",
- "FILE" => $_[0]->YYData->{FILE},
- "LINE" => $_[0]->YYData->{LINE},
- "DATA" => $_[3]
- }}
- ],
- [#Rule 20
- 'definitions', 1,
-sub
-#line 98 "pidl/idl.yp"
-{ [ $_[1] ] }
- ],
- [#Rule 21
- 'definitions', 2,
-sub
-#line 99 "pidl/idl.yp"
-{ push(@{$_[1]}, $_[2]); $_[1] }
- ],
- [#Rule 22
- 'definition', 1, undef
- ],
- [#Rule 23
- 'definition', 1, undef
- ],
- [#Rule 24
- 'definition', 1, undef
- ],
- [#Rule 25
- 'definition', 1, undef
- ],
- [#Rule 26
- 'const', 7,
-sub
-#line 107 "pidl/idl.yp"
-{{
- "TYPE" => "CONST",
- "DTYPE" => $_[2],
- "POINTERS" => $_[3],
- "NAME" => $_[4],
- "VALUE" => $_[6],
- "FILE" => $_[0]->YYData->{FILE},
- "LINE" => $_[0]->YYData->{LINE},
- }}
- ],
- [#Rule 27
- 'const', 8,
-sub
-#line 117 "pidl/idl.yp"
-{{
- "TYPE" => "CONST",
- "DTYPE" => $_[2],
- "POINTERS" => $_[3],
- "NAME" => $_[4],
- "ARRAY_LEN" => $_[5],
- "VALUE" => $_[7],
- "FILE" => $_[0]->YYData->{FILE},
- "LINE" => $_[0]->YYData->{LINE},
- }}
- ],
- [#Rule 28
- 'function', 7,
-sub
-#line 131 "pidl/idl.yp"
-{{
- "TYPE" => "FUNCTION",
- "NAME" => $_[3],
- "RETURN_TYPE" => $_[2],
- "PROPERTIES" => $_[1],
- "ELEMENTS" => $_[5],
- "FILE" => $_[0]->YYData->{FILE},
- "LINE" => $_[0]->YYData->{LINE},
- }}
- ],
- [#Rule 29
- 'typedef', 6,
-sub
-#line 143 "pidl/idl.yp"
-{{
- "TYPE" => "TYPEDEF",
- "PROPERTIES" => $_[1],
- "NAME" => $_[4],
- "DATA" => $_[3],
- "ARRAY_LEN" => $_[5],
- "FILE" => $_[0]->YYData->{FILE},
- "LINE" => $_[0]->YYData->{LINE},
- }}
- ],
- [#Rule 30
- 'usertype', 1, undef
- ],
- [#Rule 31
- 'usertype', 1, undef
- ],
- [#Rule 32
- 'usertype', 1, undef
- ],
- [#Rule 33
- 'usertype', 1, undef
- ],
- [#Rule 34
- 'typedecl', 2,
-sub
-#line 156 "pidl/idl.yp"
-{ $_[1] }
- ],
- [#Rule 35
- 'sign', 1, undef
- ],
- [#Rule 36
- 'sign', 1, undef
- ],
- [#Rule 37
- 'existingtype', 2,
-sub
-#line 161 "pidl/idl.yp"
-{ ($_[1]?$_[1]:"signed") ." $_[2]" }
- ],
- [#Rule 38
- 'existingtype', 1, undef
- ],
- [#Rule 39
- 'type', 1, undef
- ],
- [#Rule 40
- 'type', 1, undef
- ],
- [#Rule 41
- 'type', 1,
-sub
-#line 165 "pidl/idl.yp"
-{ "void" }
- ],
- [#Rule 42
- 'enum_body', 3,
-sub
-#line 167 "pidl/idl.yp"
-{ $_[2] }
- ],
- [#Rule 43
- 'opt_enum_body', 0, undef
- ],
- [#Rule 44
- 'opt_enum_body', 1, undef
- ],
- [#Rule 45
- 'enum', 4,
-sub
-#line 170 "pidl/idl.yp"
-{{
- "TYPE" => "ENUM",
- "PROPERTIES" => $_[1],
- "NAME" => $_[3],
- "ELEMENTS" => $_[4]
- }}
- ],
- [#Rule 46
- 'enum_elements', 1,
-sub
-#line 179 "pidl/idl.yp"
-{ [ $_[1] ] }
- ],
- [#Rule 47
- 'enum_elements', 3,
-sub
-#line 180 "pidl/idl.yp"
-{ push(@{$_[1]}, $_[3]); $_[1] }
- ],
- [#Rule 48
- 'enum_element', 1, undef
- ],
- [#Rule 49
- 'enum_element', 3,
-sub
-#line 184 "pidl/idl.yp"
-{ "$_[1]$_[2]$_[3]" }
- ],
- [#Rule 50
- 'bitmap_body', 3,
-sub
-#line 187 "pidl/idl.yp"
-{ $_[2] }
- ],
- [#Rule 51
- 'opt_bitmap_body', 0, undef
- ],
- [#Rule 52
- 'opt_bitmap_body', 1, undef
- ],
- [#Rule 53
- 'bitmap', 4,
-sub
-#line 190 "pidl/idl.yp"
-{{
- "TYPE" => "BITMAP",
- "PROPERTIES" => $_[1],
- "NAME" => $_[3],
- "ELEMENTS" => $_[4]
- }}
- ],
- [#Rule 54
- 'bitmap_elements', 1,
-sub
-#line 199 "pidl/idl.yp"
-{ [ $_[1] ] }
- ],
- [#Rule 55
- 'bitmap_elements', 3,
-sub
-#line 200 "pidl/idl.yp"
-{ push(@{$_[1]}, $_[3]); $_[1] }
- ],
- [#Rule 56
- 'opt_bitmap_elements', 0, undef
- ],
- [#Rule 57
- 'opt_bitmap_elements', 1, undef
- ],
- [#Rule 58
- 'bitmap_element', 3,
-sub
-#line 205 "pidl/idl.yp"
-{ "$_[1] ( $_[3] )" }
- ],
- [#Rule 59
- 'struct_body', 3,
-sub
-#line 208 "pidl/idl.yp"
-{ $_[2] }
- ],
- [#Rule 60
- 'opt_struct_body', 0, undef
- ],
- [#Rule 61
- 'opt_struct_body', 1, undef
- ],
- [#Rule 62
- 'struct', 4,
-sub
-#line 212 "pidl/idl.yp"
-{{
- "TYPE" => "STRUCT",
- "PROPERTIES" => $_[1],
- "NAME" => $_[3],
- "ELEMENTS" => $_[4]
- }}
- ],
- [#Rule 63
- 'empty_element', 2,
-sub
-#line 221 "pidl/idl.yp"
-{{
- "NAME" => "",
- "TYPE" => "EMPTY",
- "PROPERTIES" => $_[1],
- "POINTERS" => 0,
- "ARRAY_LEN" => [],
- "FILE" => $_[0]->YYData->{FILE},
- "LINE" => $_[0]->YYData->{LINE},
- }}
- ],
- [#Rule 64
- 'base_or_empty', 2, undef
- ],
- [#Rule 65
- 'base_or_empty', 1, undef
- ],
- [#Rule 66
- 'optional_base_element', 2,
-sub
-#line 235 "pidl/idl.yp"
-{ $_[2]->{PROPERTIES} = FlattenHash([$_[1],$_[2]->{PROPERTIES}]); $_[2] }
- ],
- [#Rule 67
- 'union_elements', 0, undef
- ],
- [#Rule 68
- 'union_elements', 2,
-sub
-#line 240 "pidl/idl.yp"
-{ push(@{$_[1]}, $_[2]); $_[1] }
- ],
- [#Rule 69
- 'union_body', 3,
-sub
-#line 243 "pidl/idl.yp"
-{ $_[2] }
- ],
- [#Rule 70
- 'opt_union_body', 0, undef
- ],
- [#Rule 71
- 'opt_union_body', 1, undef
- ],
- [#Rule 72
- 'union', 4,
-sub
-#line 247 "pidl/idl.yp"
-{{
- "TYPE" => "UNION",
- "PROPERTIES" => $_[1],
- "NAME" => $_[3],
- "ELEMENTS" => $_[4]
- }}
- ],
- [#Rule 73
- 'base_element', 5,
-sub
-#line 256 "pidl/idl.yp"
-{{
- "NAME" => $_[4],
- "TYPE" => $_[2],
- "PROPERTIES" => $_[1],
- "POINTERS" => $_[3],
- "ARRAY_LEN" => $_[5],
- "FILE" => $_[0]->YYData->{FILE},
- "LINE" => $_[0]->YYData->{LINE},
- }}
- ],
- [#Rule 74
- 'pointers', 0,
-sub
-#line 270 "pidl/idl.yp"
-{ 0 }
- ],
- [#Rule 75
- 'pointers', 2,
-sub
-#line 271 "pidl/idl.yp"
-{ $_[1]+1 }
- ],
- [#Rule 76
- 'element_list1', 0,
-sub
-#line 275 "pidl/idl.yp"
-{ [] }
- ],
- [#Rule 77
- 'element_list1', 3,
-sub
-#line 276 "pidl/idl.yp"
-{ push(@{$_[1]}, $_[2]); $_[1] }
- ],
- [#Rule 78
- 'element_list2', 0, undef
- ],
- [#Rule 79
- 'element_list2', 1, undef
- ],
- [#Rule 80
- 'element_list2', 1,
-sub
-#line 282 "pidl/idl.yp"
-{ [ $_[1] ] }
- ],
- [#Rule 81
- 'element_list2', 3,
-sub
-#line 283 "pidl/idl.yp"
-{ push(@{$_[1]}, $_[3]); $_[1] }
- ],
- [#Rule 82
- 'array_len', 0, undef
- ],
- [#Rule 83
- 'array_len', 3,
-sub
-#line 288 "pidl/idl.yp"
-{ push(@{$_[3]}, "*"); $_[3] }
- ],
- [#Rule 84
- 'array_len', 4,
-sub
-#line 289 "pidl/idl.yp"
-{ push(@{$_[4]}, "$_[2]"); $_[4] }
- ],
- [#Rule 85
- 'property_list', 0, undef
- ],
- [#Rule 86
- 'property_list', 4,
-sub
-#line 295 "pidl/idl.yp"
-{ FlattenHash([$_[1],$_[3]]); }
- ],
- [#Rule 87
- 'properties', 1,
-sub
-#line 298 "pidl/idl.yp"
-{ $_[1] }
- ],
- [#Rule 88
- 'properties', 3,
-sub
-#line 299 "pidl/idl.yp"
-{ FlattenHash([$_[1], $_[3]]); }
- ],
- [#Rule 89
- 'property', 1,
-sub
-#line 302 "pidl/idl.yp"
-{{ "$_[1]" => "1" }}
- ],
- [#Rule 90
- 'property', 4,
-sub
-#line 303 "pidl/idl.yp"
-{{ "$_[1]" => "$_[3]" }}
- ],
- [#Rule 91
- 'commalisttext', 1, undef
- ],
- [#Rule 92
- 'commalisttext', 3,
-sub
-#line 308 "pidl/idl.yp"
-{ "$_[1],$_[3]" }
- ],
- [#Rule 93
- 'anytext', 0,
-sub
-#line 312 "pidl/idl.yp"
-{ "" }
- ],
- [#Rule 94
- 'anytext', 1, undef
- ],
- [#Rule 95
- 'anytext', 1, undef
- ],
- [#Rule 96
- 'anytext', 1, undef
- ],
- [#Rule 97
- 'anytext', 3,
-sub
-#line 314 "pidl/idl.yp"
-{ "$_[1]$_[2]$_[3]" }
- ],
- [#Rule 98
- 'anytext', 3,
-sub
-#line 315 "pidl/idl.yp"
-{ "$_[1]$_[2]$_[3]" }
- ],
- [#Rule 99
- 'anytext', 3,
-sub
-#line 316 "pidl/idl.yp"
-{ "$_[1]$_[2]$_[3]" }
- ],
- [#Rule 100
- 'anytext', 3,
-sub
-#line 317 "pidl/idl.yp"
-{ "$_[1]$_[2]$_[3]" }
- ],
- [#Rule 101
- 'anytext', 3,
-sub
-#line 318 "pidl/idl.yp"
-{ "$_[1]$_[2]$_[3]" }
- ],
- [#Rule 102
- 'anytext', 3,
-sub
-#line 319 "pidl/idl.yp"
-{ "$_[1]$_[2]$_[3]" }
- ],
- [#Rule 103
- 'anytext', 3,
-sub
-#line 320 "pidl/idl.yp"
-{ "$_[1]$_[2]$_[3]" }
- ],
- [#Rule 104
- 'anytext', 3,
-sub
-#line 321 "pidl/idl.yp"
-{ "$_[1]$_[2]$_[3]" }
- ],
- [#Rule 105
- 'anytext', 3,
-sub
-#line 322 "pidl/idl.yp"
-{ "$_[1]$_[2]$_[3]" }
- ],
- [#Rule 106
- 'anytext', 3,
-sub
-#line 323 "pidl/idl.yp"
-{ "$_[1]$_[2]$_[3]" }
- ],
- [#Rule 107
- 'anytext', 3,
-sub
-#line 324 "pidl/idl.yp"
-{ "$_[1]$_[2]$_[3]" }
- ],
- [#Rule 108
- 'anytext', 3,
-sub
-#line 325 "pidl/idl.yp"
-{ "$_[1]$_[2]$_[3]" }
- ],
- [#Rule 109
- 'anytext', 3,
-sub
-#line 326 "pidl/idl.yp"
-{ "$_[1]$_[2]$_[3]" }
- ],
- [#Rule 110
- 'anytext', 5,
-sub
-#line 327 "pidl/idl.yp"
-{ "$_[1]$_[2]$_[3]$_[4]$_[5]" }
- ],
- [#Rule 111
- 'anytext', 5,
-sub
-#line 328 "pidl/idl.yp"
-{ "$_[1]$_[2]$_[3]$_[4]$_[5]" }
- ],
- [#Rule 112
- 'identifier', 1, undef
- ],
- [#Rule 113
- 'optional_identifier', 1, undef
- ],
- [#Rule 114
- 'optional_identifier', 0, undef
- ],
- [#Rule 115
- 'constant', 1, undef
- ],
- [#Rule 116
- 'text', 1,
-sub
-#line 342 "pidl/idl.yp"
-{ "\"$_[1]\"" }
- ],
- [#Rule 117
- 'optional_semicolon', 0, undef
- ],
- [#Rule 118
- 'optional_semicolon', 1, undef
- ]
-],
- @_);
- bless($self,$class);
-}
-
-#line 353 "pidl/idl.yp"
-
-
-use Parse::Pidl qw(error);
-
-#####################################################################
-# flatten an array of hashes into a single hash
-sub FlattenHash($)
-{
- my $a = shift;
- my %b;
- for my $d (@{$a}) {
- for my $k (keys %{$d}) {
- $b{$k} = $d->{$k};
- }
- }
- return \%b;
-}
-
-
-
-#####################################################################
-# traverse a perl data structure removing any empty arrays or
-# hashes and any hash elements that map to undef
-sub CleanData($)
-{
- sub CleanData($);
- my($v) = shift;
- return undef if (not defined($v));
- if (ref($v) eq "ARRAY") {
- foreach my $i (0 .. $#{$v}) {
- CleanData($v->[$i]);
- }
- # this removes any undefined elements from the array
- @{$v} = grep { defined $_ } @{$v};
- } elsif (ref($v) eq "HASH") {
- foreach my $x (keys %{$v}) {
- CleanData($v->{$x});
- if (!defined $v->{$x}) { delete($v->{$x}); next; }
- }
- }
- return $v;
-}
-
-sub _Error {
- if (exists $_[0]->YYData->{ERRMSG}) {
- error($_[0]->YYData, $_[0]->YYData->{ERRMSG});
- delete $_[0]->YYData->{ERRMSG};
- return;
- }
- my $last_token = $_[0]->YYData->{LAST_TOKEN};
-
- error($_[0]->YYData, "Syntax error near '$last_token'");
-}
-
-sub _Lexer($)
-{
- my($parser)=shift;
-
- $parser->YYData->{INPUT} or return('',undef);
-
-again:
- $parser->YYData->{INPUT} =~ s/^[ \t]*//;
-
- for ($parser->YYData->{INPUT}) {
- if (/^\#/) {
- if (s/^\# (\d+) \"(.*?)\"( \d+|)//) {
- $parser->YYData->{LINE} = $1-1;
- $parser->YYData->{FILE} = $2;
- goto again;
- }
- if (s/^\#line (\d+) \"(.*?)\"( \d+|)//) {
- $parser->YYData->{LINE} = $1-1;
- $parser->YYData->{FILE} = $2;
- goto again;
- }
- if (s/^(\#.*)$//m) {
- goto again;
- }
- }
- if (s/^(\n)//) {
- $parser->YYData->{LINE}++;
- goto again;
- }
- if (s/^\"(.*?)\"//) {
- $parser->YYData->{LAST_TOKEN} = $1;
- return('TEXT',$1);
- }
- if (s/^(\d+)(\W|$)/$2/) {
- $parser->YYData->{LAST_TOKEN} = $1;
- return('CONSTANT',$1);
- }
- if (s/^([\w_]+)//) {
- $parser->YYData->{LAST_TOKEN} = $1;
- if ($1 =~
- /^(coclass|interface|const|typedef|union|cpp_quote
- |struct|enum|bitmap|void|unsigned|signed|import|include
- |importlib)$/x) {
- return $1;
- }
- return('IDENTIFIER',$1);
- }
- if (s/^(.)//s) {
- $parser->YYData->{LAST_TOKEN} = $1;
- return($1,$1);
- }
- }
-}
-
-sub parse_string
-{
- my ($data,$filename) = @_;
-
- my $self = new Parse::Pidl::IDL;
-
- $self->YYData->{FILE} = $filename;
- $self->YYData->{INPUT} = $data;
- $self->YYData->{LINE} = 0;
- $self->YYData->{LAST_TOKEN} = "NONE";
-
- my $idl = $self->YYParse( yylex => \&_Lexer, yyerror => \&_Error );
-
- return CleanData($idl);
-}
-
-sub parse_file($$)
-{
- my ($filename,$incdirs) = @_;
-
- my $saved_delim = $/;
- undef $/;
- my $cpp = $ENV{CPP};
- if (! defined $cpp) {
- $cpp = "cpp";
- }
- my $includes = join('',map { " -I$_" } @$incdirs);
- my $data = `$cpp -D__PIDL__$includes -xc $filename`;
- $/ = $saved_delim;
-
- return parse_string($data, $filename);
-}
-
-1;