zomg 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +6 -0
- data/Manifest.txt +237 -0
- data/README.txt +59 -0
- data/Rakefile +34 -0
- data/bin/omfg +56 -0
- data/lib/scanner.rex +169 -0
- data/lib/yacc.y +861 -0
- data/lib/zomg.rb +22 -0
- data/lib/zomg/idl.rb +14 -0
- data/lib/zomg/idl/lexer.rb +2151 -0
- data/lib/zomg/idl/nodes/attribute.rb +15 -0
- data/lib/zomg/idl/nodes/binary.rb +19 -0
- data/lib/zomg/idl/nodes/constant.rb +15 -0
- data/lib/zomg/idl/nodes/interface.rb +13 -0
- data/lib/zomg/idl/nodes/interface_header.rb +14 -0
- data/lib/zomg/idl/nodes/member.rb +14 -0
- data/lib/zomg/idl/nodes/node.rb +52 -0
- data/lib/zomg/idl/nodes/operation.rb +17 -0
- data/lib/zomg/idl/nodes/parameter.rb +18 -0
- data/lib/zomg/idl/nodes/typedef.rb +13 -0
- data/lib/zomg/idl/nodes/union.rb +14 -0
- data/lib/zomg/idl/parser.rb +54 -0
- data/lib/zomg/idl/scanner.rb +367 -0
- data/lib/zomg/idl/visitable.rb +15 -0
- data/lib/zomg/idl/visitors/duhr.rb +24 -0
- data/lib/zomg/idl/visitors/ruby_sexp.rb +173 -0
- data/lib/zomg/idl/visitors/sexp.rb +274 -0
- data/lib/zomg/version.rb +3 -0
- data/test/assets/array/array1.idl +60 -0
- data/test/assets/array/array2.idl +38 -0
- data/test/assets/array/array3.idl +8 -0
- data/test/assets/array/array4.idl +7 -0
- data/test/assets/array/array5.idl +80 -0
- data/test/assets/attribute/grid_0attribs_2methods.idl +16 -0
- data/test/assets/attribute/grid_1ROattribs_1attribs_0methods.idl +19 -0
- data/test/assets/attribute/grid_1ROattribs_1attribs_1methods.idl +19 -0
- data/test/assets/attribute/grid_1ROattribs_1attribs_2methods.idl +17 -0
- data/test/assets/attribute/grid_1ROattribs_1methods.idl +16 -0
- data/test/assets/attribute/grid_1ROattribs_2methods.idl +16 -0
- data/test/assets/attribute/grid_1attribs_1methods.idl +17 -0
- data/test/assets/attribute/grid_1attribs_2methods.idl +17 -0
- data/test/assets/attribute/grid_2ROattribs_0methods.idl +16 -0
- data/test/assets/attribute/grid_2ROattribs_1methods.idl +16 -0
- data/test/assets/attribute/grid_2ROattribs_2methods.idl +16 -0
- data/test/assets/attribute/grid_2attribs_0methods.idl +19 -0
- data/test/assets/attribute/grid_2attribs_1methods.idl +19 -0
- data/test/assets/attribute/grid_2attribs_2methods.idl +19 -0
- data/test/assets/comment/c_style_comments.idl +63 -0
- data/test/assets/comment/comment1.idl +57 -0
- data/test/assets/comment/cpp_style_comments.idl +168 -0
- data/test/assets/comment/shortform.idl +0 -0
- data/test/assets/complex/TestCodeSets.idl +10 -0
- data/test/assets/complex/TestIntfContext.idl +13 -0
- data/test/assets/complex/TestIntfLongLong.idl +51 -0
- data/test/assets/complex/TestIntfWChar.idl +52 -0
- data/test/assets/complex/any1.idl +22 -0
- data/test/assets/complex/complex1.idl +495 -0
- data/test/assets/complex/complex2.idl +730 -0
- data/test/assets/complex/complex3.idl +181 -0
- data/test/assets/complex/complex4.idl +181 -0
- data/test/assets/complex/interop_wchar.idl +60 -0
- data/test/assets/constant/constant1.idl +37 -0
- data/test/assets/constant/constant2.idl +29 -0
- data/test/assets/constant/constant3.idl +50 -0
- data/test/assets/constant/constant4.idl +21 -0
- data/test/assets/constant/constant5.idl +65 -0
- data/test/assets/constant/constant6.idl +144 -0
- data/test/assets/constant/constant7.idl +30 -0
- data/test/assets/enum/enum1.idl +13 -0
- data/test/assets/exception/TestIntfExceptions.idl +69 -0
- data/test/assets/exception/TestIntfExceptionsExt_2_0.idl +34 -0
- data/test/assets/exception/TestIntfExceptionsExt_2_3.idl +24 -0
- data/test/assets/exception/ex1.idl +6 -0
- data/test/assets/exception/ex2.idl +18 -0
- data/test/assets/exception/ex3.idl +10 -0
- data/test/assets/exception/ex4.idl +20 -0
- data/test/assets/exception/sc.idl +0 -0
- data/test/assets/exception/simple1.idl +18 -0
- data/test/assets/exception/simple2.idl +25 -0
- data/test/assets/factory/factory1.idl +77 -0
- data/test/assets/factory/objref.idl +25 -0
- data/test/assets/forward/forward.idl +15 -0
- data/test/assets/forward/forward1.idl +13 -0
- data/test/assets/forward/fwd_incl1.idl +6 -0
- data/test/assets/forward/fwd_incl2.idl +7 -0
- data/test/assets/include/a.idl +23 -0
- data/test/assets/include/b.idl +16 -0
- data/test/assets/include/employee.idl +12 -0
- data/test/assets/include/include1.idl +10 -0
- data/test/assets/include/include2.idl +5 -0
- data/test/assets/include/manager.idl +10 -0
- data/test/assets/include/pragma.idl +41 -0
- data/test/assets/include/rookie.idl +13 -0
- data/test/assets/include/rookiemanager.idl +15 -0
- data/test/assets/include/sample.idl +58 -0
- data/test/assets/include/sample_incl.idl +406 -0
- data/test/assets/inherit/IDL1.idl +18 -0
- data/test/assets/inherit/IDL2.idl +18 -0
- data/test/assets/inherit/IDL3.idl +18 -0
- data/test/assets/inherit/IDL4.idl +17 -0
- data/test/assets/inherit/diamond_inheritance.idl +31 -0
- data/test/assets/inherit/inherit.idl +27 -0
- data/test/assets/limit/longidentifiers.idl +25 -0
- data/test/assets/limit/namelens.idl +26 -0
- data/test/assets/limit/tpztest.idl +21 -0
- data/test/assets/module/module1.idl +29 -0
- data/test/assets/module/module2.idl +34 -0
- data/test/assets/module/module3.idl +20 -0
- data/test/assets/module/module4.idl +15 -0
- data/test/assets/nested/nested1.idl +5 -0
- data/test/assets/nested/nested2.idl +11 -0
- data/test/assets/operations/Benchmark.idl +331 -0
- data/test/assets/operations/CCS.idl +82 -0
- data/test/assets/operations/TestIntf.idl +40 -0
- data/test/assets/operations/TestIntfBasic.idl +653 -0
- data/test/assets/operations/atomic.idl +40 -0
- data/test/assets/operations/dif2.idl +48 -0
- data/test/assets/operations/interface1.idl +16 -0
- data/test/assets/operations/parameters.idl +111 -0
- data/test/assets/operations/perf.idl +84 -0
- data/test/assets/operations/timer.idl +104 -0
- data/test/assets/preprocess/base_for_diamond_inheritance_with_macros.idl +17 -0
- data/test/assets/preprocess/basic_macro_marshalling.idl +54 -0
- data/test/assets/preprocess/diamond_inheritance_with_macros.idl +74 -0
- data/test/assets/preprocess/macro1.idl +52 -0
- data/test/assets/preprocess/preprocess1.idl +246 -0
- data/test/assets/preprocess/preprocess2.idl +3 -0
- data/test/assets/recursion/loop.idl +28 -0
- data/test/assets/recursion/recursion1.idl +47 -0
- data/test/assets/recursion/recursion2.idl +74 -0
- data/test/assets/scenarios/filestat.idl +69 -0
- data/test/assets/scenarios/gateway.idl +176 -0
- data/test/assets/scenarios/library.idl +20 -0
- data/test/assets/scenarios/phone.idl +24 -0
- data/test/assets/scenarios/ticketservice.idl +118 -0
- data/test/assets/scope/scope01.idl +58 -0
- data/test/assets/scope/scope02.idl +25 -0
- data/test/assets/scope/scope03.idl +22 -0
- data/test/assets/scope/scope04.idl +27 -0
- data/test/assets/scope/scope05.idl +30 -0
- data/test/assets/scope/scope06.idl +51 -0
- data/test/assets/scope/scope07.idl +20 -0
- data/test/assets/scope/scope08.idl +88 -0
- data/test/assets/scope/scope09.idl +21 -0
- data/test/assets/scope/scope10.idl +95 -0
- data/test/assets/scope/scope11.idl +62 -0
- data/test/assets/scope/scope12.idl +117 -0
- data/test/assets/scope/scope13.idl +117 -0
- data/test/assets/scope/scope14.idl +117 -0
- data/test/assets/scope/scope15.idl +117 -0
- data/test/assets/scope/scope16.idl +117 -0
- data/test/assets/scope/scope17.idl +117 -0
- data/test/assets/scope/scope18.idl +117 -0
- data/test/assets/scope/scope19.idl +117 -0
- data/test/assets/scope/scope20.idl +215 -0
- data/test/assets/scope/scope21.idl +215 -0
- data/test/assets/scope/scope22.idl +205 -0
- data/test/assets/scope/scope23.idl +261 -0
- data/test/assets/scope/scope24.idl +376 -0
- data/test/assets/scope/scope25.idl +266 -0
- data/test/assets/scope/scope26.idl +180 -0
- data/test/assets/scope/scope27.idl +184 -0
- data/test/assets/scope/scope28.idl +182 -0
- data/test/assets/scope/scope29.idl +182 -0
- data/test/assets/scope/scope30.idl +40 -0
- data/test/assets/scope/scope31.idl +33 -0
- data/test/assets/scope/scope32.idl +37 -0
- data/test/assets/scope/scope33.idl +50 -0
- data/test/assets/scope/scope34.idl +97 -0
- data/test/assets/scope/scope35.idl +72 -0
- data/test/assets/scope/scope36.idl +167 -0
- data/test/assets/scope/scope37.idl +57 -0
- data/test/assets/scope/scope38.idl +38 -0
- data/test/assets/scope/scope39.idl +38 -0
- data/test/assets/scope/scope40.idl +38 -0
- data/test/assets/scope/scope41.idl +24 -0
- data/test/assets/scope/scope42.idl +64 -0
- data/test/assets/scope/scope43.idl +66 -0
- data/test/assets/scope/scope44.idl +52 -0
- data/test/assets/sequence/sequence1.idl +24 -0
- data/test/assets/sequence/sequence2.idl +9 -0
- data/test/assets/simple/basictypes1.idl +80 -0
- data/test/assets/simple/basictypes2.idl +197 -0
- data/test/assets/simple/basictypes3.idl +23 -0
- data/test/assets/simple/basictypes4.idl +73 -0
- data/test/assets/simple/basictypes5.idl +29 -0
- data/test/assets/simple/basictypes6.idl +63 -0
- data/test/assets/simple/simple1.idl +45 -0
- data/test/assets/simple/simple2.idl +61 -0
- data/test/assets/simple/simple3.idl +36 -0
- data/test/assets/string/string1.idl +11 -0
- data/test/assets/string/string2.idl +29 -0
- data/test/assets/struct/struct1.idl +20 -0
- data/test/assets/struct/struct2.idl +21 -0
- data/test/assets/struct/struct3.idl +42 -0
- data/test/assets/struct/struct4.idl +57 -0
- data/test/assets/struct/struct5.idl +71 -0
- data/test/assets/typecode/orb.idl +0 -0
- data/test/assets/typecode/pseudo.idl +25 -0
- data/test/assets/typedef/shorthand_typedef_struct_insideIF.idl +17 -0
- data/test/assets/typedef/shorthand_typedef_struct_insideIF_noMO.idl +16 -0
- data/test/assets/typedef/shorthand_typedef_struct_insideMO.idl +17 -0
- data/test/assets/typedef/shorthand_typedef_struct_outsideMO.idl +17 -0
- data/test/assets/typedef/typedef1.idl +8 -0
- data/test/assets/typedef/typedef2.idl +22 -0
- data/test/assets/typedef/typedef_struct_insideIF.idl +18 -0
- data/test/assets/typedef/typedef_struct_insideMO.idl +18 -0
- data/test/assets/typedef/typedef_struct_outsideMO.idl +18 -0
- data/test/assets/union/union1.idl +31 -0
- data/test/assets/union/union2.idl +22 -0
- data/test/assets/union/union3.idl +26 -0
- data/test/conversions/test_attribute.rb +30 -0
- data/test/conversions/test_enum.rb +25 -0
- data/test/conversions/test_exception.rb +24 -0
- data/test/conversions/test_forward_declaration.rb +22 -0
- data/test/conversions/test_interface.rb +30 -0
- data/test/conversions/test_module.rb +24 -0
- data/test/conversions/test_struct.rb +25 -0
- data/test/conversions/test_typedef.rb +22 -0
- data/test/conversions/test_union.rb +27 -0
- data/test/conversions/test_value_box_dcl.rb +22 -0
- data/test/helper.rb +23 -0
- data/test/simple/test_basictypes1.rb +87 -0
- data/test/simple/test_basictypes2.rb +18 -0
- data/test/simple/test_basictypes3.rb +32 -0
- data/test/simple/test_basictypes4.rb +25 -0
- data/test/simple/test_basictypes5.rb +17 -0
- data/test/simple/test_basictypes6.rb +19 -0
- data/test/simple/test_simple1.rb +40 -0
- data/test/simple/test_simple2.rb +48 -0
- data/test/simple/test_simple3.rb +20 -0
- data/test/test_array.rb +22 -0
- data/test/test_assets.rb +33 -0
- data/test/test_complex.rb +17 -0
- data/test/test_node.rb +15 -0
- data/test/test_parser.rb +17 -0
- data/test/test_scanner.rb +234 -0
- metadata +336 -0
@@ -0,0 +1,58 @@
|
|
1
|
+
#include "sample_incl.idl"
|
2
|
+
|
3
|
+
interface OWTEST {
|
4
|
+
oneway void foo(in short x);
|
5
|
+
};
|
6
|
+
|
7
|
+
module RVModule4 {
|
8
|
+
|
9
|
+
interface RVInterface0 : RVModule2::RVModule21::RVInterface0 {
|
10
|
+
void RVM0(in GSTRUCT1 gs) raises (RVModule1::RVInterface1::IEXCEPTION1);
|
11
|
+
};
|
12
|
+
|
13
|
+
interface RVInterface1 : RVModule1::RVInterface1 {
|
14
|
+
};
|
15
|
+
};
|
16
|
+
|
17
|
+
module RVModule3 {
|
18
|
+
interface RVInterface2 : RVModule2::RVModule21::RVInterface0 {
|
19
|
+
void RVM21 ();
|
20
|
+
};
|
21
|
+
};
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
|
26
|
+
// object reference
|
27
|
+
|
28
|
+
interface myYetAnotherInterface {
|
29
|
+
struct myStruct {
|
30
|
+
RVModule3::RVInterface2 my_if;
|
31
|
+
string str;
|
32
|
+
} ;
|
33
|
+
|
34
|
+
myStruct myOperation( in RVModule3::RVInterface2 if, out RVModule3::RVInterface2 aif);
|
35
|
+
};
|
36
|
+
|
37
|
+
// factory. use option -factory myFactoryIF, to generate
|
38
|
+
// a schema with the appropriate information.
|
39
|
+
|
40
|
+
interface myFactoryIF {
|
41
|
+
attribute short temp;
|
42
|
+
void myOperation(in string istr, out string ostr);
|
43
|
+
};
|
44
|
+
|
45
|
+
// same as above, but within a module.
|
46
|
+
// use option -factory M1/myFactoryIF, to generate a
|
47
|
+
// schema with the appropriate information.
|
48
|
+
|
49
|
+
module M1 {
|
50
|
+
interface myFactoryIF {
|
51
|
+
attribute short temp;
|
52
|
+
void myOperation(in string istr, out string ostr);
|
53
|
+
};
|
54
|
+
|
55
|
+
interface myIF {
|
56
|
+
void myOperation( in string istr, out string ostr);
|
57
|
+
};
|
58
|
+
};
|
@@ -0,0 +1,406 @@
|
|
1
|
+
// Description : Included by sample.idl
|
2
|
+
|
3
|
+
/* NOTES:
|
4
|
+
G -> Global
|
5
|
+
M -> Module
|
6
|
+
I -> Interface
|
7
|
+
A -> Alias to primitive or user defined
|
8
|
+
A -> Alias to Alias
|
9
|
+
*/
|
10
|
+
|
11
|
+
typedef short GSTYPE;
|
12
|
+
typedef GSTYPE GSTYPEA;
|
13
|
+
typedef GSTYPEA GSTYPEAA;
|
14
|
+
|
15
|
+
typedef sequence<short> seqShort;
|
16
|
+
typedef sequence<short> seqShort1;
|
17
|
+
|
18
|
+
|
19
|
+
typedef sequence<octet, 100> seqOctet;
|
20
|
+
|
21
|
+
enum Color {red, green, blue, black, mauve, orange};
|
22
|
+
typedef sequence<sequence<Color> > mycolor;
|
23
|
+
|
24
|
+
typedef long myLong;
|
25
|
+
typedef sequence<sequence<octet> > seq3;
|
26
|
+
typedef seq3 seq33;
|
27
|
+
|
28
|
+
typedef sequence<sequence<myLong> > seqMyLong;
|
29
|
+
typedef sequence<sequence<seqMyLong> >seqseqMyLong;
|
30
|
+
typedef long arrGS1[10];
|
31
|
+
|
32
|
+
module M1 {
|
33
|
+
interface I1 {
|
34
|
+
typedef sequence<short> seq;
|
35
|
+
};
|
36
|
+
};
|
37
|
+
|
38
|
+
exception GEXCEPTION11{
|
39
|
+
|
40
|
+
struct GS1234 {
|
41
|
+
struct GS123{
|
42
|
+
short i;
|
43
|
+
struct S12 {
|
44
|
+
short i;
|
45
|
+
}gs1;
|
46
|
+
}gs2;
|
47
|
+
|
48
|
+
string s;
|
49
|
+
} mi;
|
50
|
+
|
51
|
+
};
|
52
|
+
|
53
|
+
struct GS2 {
|
54
|
+
struct GS123{
|
55
|
+
short i;
|
56
|
+
struct S12 {
|
57
|
+
short i;
|
58
|
+
}gs1;
|
59
|
+
}gs22;
|
60
|
+
|
61
|
+
};
|
62
|
+
|
63
|
+
|
64
|
+
struct GS3 {
|
65
|
+
struct S123{
|
66
|
+
short i;
|
67
|
+
long j;
|
68
|
+
struct S12 {
|
69
|
+
short i;
|
70
|
+
long ii;
|
71
|
+
}gs1;
|
72
|
+
}gs2;
|
73
|
+
};
|
74
|
+
|
75
|
+
module M2 {
|
76
|
+
struct TEST1 {
|
77
|
+
short i;
|
78
|
+
struct TEST11 {
|
79
|
+
short i;
|
80
|
+
} gs1;
|
81
|
+
};
|
82
|
+
|
83
|
+
struct TEST2 {
|
84
|
+
short i;
|
85
|
+
struct TEST11 {
|
86
|
+
short i;
|
87
|
+
} gs2;
|
88
|
+
};
|
89
|
+
module M21 {
|
90
|
+
struct TEST1 {
|
91
|
+
long i;
|
92
|
+
struct TEST11 {
|
93
|
+
short i;
|
94
|
+
} gs1;
|
95
|
+
};
|
96
|
+
interface I1 {
|
97
|
+
struct TEST1 {
|
98
|
+
struct TEST11 {
|
99
|
+
sequence<short> seqS;
|
100
|
+
struct TEST111 {
|
101
|
+
short i;
|
102
|
+
}gs1;
|
103
|
+
} gs2;
|
104
|
+
};
|
105
|
+
};
|
106
|
+
};
|
107
|
+
};
|
108
|
+
|
109
|
+
|
110
|
+
struct GSTRUCT1 {
|
111
|
+
short s;
|
112
|
+
long l;
|
113
|
+
unsigned short us;
|
114
|
+
unsigned long ul;
|
115
|
+
float f;
|
116
|
+
double d;
|
117
|
+
char c;
|
118
|
+
string str;
|
119
|
+
boolean b;
|
120
|
+
octet o;
|
121
|
+
any a;
|
122
|
+
|
123
|
+
sequence<long> j; // Creates Anonymous type.
|
124
|
+
sequence <GSTRUCT1> seqGS1; // Legal recursion. Anonymous type
|
125
|
+
sequence <seqShort> seqS;
|
126
|
+
sequence <arrGS1> astr;
|
127
|
+
sequence <seqOctet> seqOct;
|
128
|
+
|
129
|
+
struct GSTRUCT11 {
|
130
|
+
short s;
|
131
|
+
boolean b;
|
132
|
+
// GSTRUCT1 gs; -> Illegal recursion.
|
133
|
+
// typedef sequence<GSTRUCT1> seq1; -> Illegal
|
134
|
+
} gs11;
|
135
|
+
|
136
|
+
|
137
|
+
};
|
138
|
+
|
139
|
+
|
140
|
+
typedef GSTRUCT1 arr2GS1[10][20];
|
141
|
+
typedef GSTRUCT1 arr3GS1[10][20][30];
|
142
|
+
|
143
|
+
exception GEXCEPTION1 {
|
144
|
+
string s;
|
145
|
+
sequence<sequence<GSTRUCT1> >k;
|
146
|
+
sequence<sequence<sequence<long> > > j; // Anonymous type.
|
147
|
+
|
148
|
+
};
|
149
|
+
|
150
|
+
|
151
|
+
/*
|
152
|
+
Illegal:
|
153
|
+
exception GEXCEPTION2 {
|
154
|
+
GEXCEPTION1 g;
|
155
|
+
};
|
156
|
+
typedef sequence <GEXCEPTION1> g; illegal
|
157
|
+
*/
|
158
|
+
|
159
|
+
|
160
|
+
|
161
|
+
module RVModule1 {
|
162
|
+
|
163
|
+
enum Color {red, green, blue, black, mauve, orange, brown};
|
164
|
+
enum OpType {OP_AND, OP_OR, OP_NOT};
|
165
|
+
|
166
|
+
union ColorCount switch (Color) {
|
167
|
+
case red:
|
168
|
+
union InnerUnion switch (OpType) {
|
169
|
+
case OP_AND:
|
170
|
+
unsigned short and;
|
171
|
+
case OP_OR:
|
172
|
+
unsigned short or;
|
173
|
+
case OP_NOT:
|
174
|
+
unsigned short not;
|
175
|
+
|
176
|
+
} iu;
|
177
|
+
case green:
|
178
|
+
case blue:
|
179
|
+
unsigned long num_in_stock;
|
180
|
+
case black:
|
181
|
+
float discount;
|
182
|
+
case brown:
|
183
|
+
short j;
|
184
|
+
case mauve:
|
185
|
+
struct UnaryOp {
|
186
|
+
OpType op;
|
187
|
+
sequence<ColorCount, 1> child;
|
188
|
+
} uop;
|
189
|
+
|
190
|
+
default:
|
191
|
+
string order_details;
|
192
|
+
};
|
193
|
+
|
194
|
+
struct MSTRUCT1 {
|
195
|
+
GSTRUCT1 gs;
|
196
|
+
arr3GS1 arr;
|
197
|
+
union InnerUnion switch (OpType) {
|
198
|
+
case OP_AND:
|
199
|
+
string and;
|
200
|
+
case OP_OR:
|
201
|
+
string or;
|
202
|
+
case OP_NOT:
|
203
|
+
unsigned short not;
|
204
|
+
|
205
|
+
} iu;
|
206
|
+
|
207
|
+
};
|
208
|
+
|
209
|
+
typedef MSTRUCT1 MS1;
|
210
|
+
|
211
|
+
interface RVInterface0 {
|
212
|
+
};
|
213
|
+
|
214
|
+
|
215
|
+
interface RVInterface1 {
|
216
|
+
typedef sequence<octet, 10000> seqOctet;
|
217
|
+
|
218
|
+
struct GSTRUCT1 {
|
219
|
+
MSTRUCT1 ms;
|
220
|
+
};
|
221
|
+
|
222
|
+
exception GEXCEPTION1 {
|
223
|
+
short i;
|
224
|
+
::GSTRUCT1 j;
|
225
|
+
};
|
226
|
+
|
227
|
+
exception IEXCEPTION1 {
|
228
|
+
MS1 ms;
|
229
|
+
};
|
230
|
+
|
231
|
+
struct ISTRUCT {
|
232
|
+
GSTRUCT1 gs1;
|
233
|
+
::GSTRUCT1 gs2;
|
234
|
+
|
235
|
+
MSTRUCT1 ms;
|
236
|
+
};
|
237
|
+
attribute short temparature;
|
238
|
+
readonly attribute GSTRUCT1 info;
|
239
|
+
|
240
|
+
void RVM0();
|
241
|
+
|
242
|
+
short RVM1(in GSTYPEAA p1, out GSTYPEA p2) ;
|
243
|
+
GSTRUCT1 RVM2(in ::GSTRUCT1 p1, out ISTRUCT p2);
|
244
|
+
MS1 RVM3(in seqOctet so, out arr2GS1 ags1) raises (GEXCEPTION1, IEXCEPTION1);
|
245
|
+
ISTRUCT RVM4 (inout ISTRUCT p1) raises (::GEXCEPTION1);
|
246
|
+
void RVM5(inout ColorCount cc);
|
247
|
+
void RVM6(in short i);
|
248
|
+
|
249
|
+
|
250
|
+
};
|
251
|
+
|
252
|
+
|
253
|
+
};
|
254
|
+
|
255
|
+
|
256
|
+
|
257
|
+
// forward declartion.
|
258
|
+
|
259
|
+
module RVModule3 {
|
260
|
+
interface RVInterface0;
|
261
|
+
};
|
262
|
+
|
263
|
+
|
264
|
+
|
265
|
+
module RVModule2 {
|
266
|
+
struct MSTRUCT {
|
267
|
+
RVModule1::MSTRUCT1 s;
|
268
|
+
RVModule1::RVInterface1::ISTRUCT is;
|
269
|
+
};
|
270
|
+
typedef sequence<octet> seq5;
|
271
|
+
typedef sequence<sequence<octet> > seq4;
|
272
|
+
typedef sequence<sequence<MSTRUCT> > seq6;
|
273
|
+
interface RVInterface1;
|
274
|
+
|
275
|
+
interface RVInterface0 {
|
276
|
+
RVInterface1 RVM01(in MSTRUCT i);
|
277
|
+
};
|
278
|
+
|
279
|
+
interface RVInterface1 {
|
280
|
+
RVModule3::RVInterface0 RVM11(in short i);
|
281
|
+
};
|
282
|
+
|
283
|
+
interface RVInterface2 : RVModule1::RVInterface1, RVInterface1, RVInterface0 {
|
284
|
+
void RVM21(out ISTRUCT p1);
|
285
|
+
};
|
286
|
+
|
287
|
+
module RVModule21 {
|
288
|
+
struct MSTRUCT {
|
289
|
+
arr3GS1 gs;
|
290
|
+
};
|
291
|
+
interface RVInterface0 {
|
292
|
+
void RVM01 (in MSTRUCT p1, out RVModule2::MSTRUCT p2);
|
293
|
+
};
|
294
|
+
};
|
295
|
+
struct MSTRUCT1 {
|
296
|
+
short i;
|
297
|
+
};
|
298
|
+
interface RVInterface3 {
|
299
|
+
void RVM31 (in short p1);
|
300
|
+
};
|
301
|
+
enum Color {red, green, blue, black, mauve, orange};
|
302
|
+
enum OpType {OP_AND, OP_OR, OP_NOT};
|
303
|
+
|
304
|
+
union ColorCount switch (Color) {
|
305
|
+
case red:
|
306
|
+
case green:
|
307
|
+
case blue:
|
308
|
+
RVModule2::RVInterface2 rvi;
|
309
|
+
case black:
|
310
|
+
short i;
|
311
|
+
case mauve:
|
312
|
+
struct UnaryOp {
|
313
|
+
OpType op;
|
314
|
+
sequence<ColorCount, 1> child;
|
315
|
+
} uop;
|
316
|
+
|
317
|
+
default:
|
318
|
+
short seq;
|
319
|
+
};
|
320
|
+
typedef ColorCount cca;
|
321
|
+
typedef cca ccaa;
|
322
|
+
};
|
323
|
+
|
324
|
+
typedef RVModule2::RVInterface2 RVM2RVI2;
|
325
|
+
typedef RVM2RVI2 ARVM2RVI2;
|
326
|
+
typedef ARVM2RVI2 AARVM2RVI2;
|
327
|
+
|
328
|
+
typedef sequence<GSTRUCT1> seqStruct1;
|
329
|
+
typedef sequence<sequence<sequence<RVModule2::RVInterface2> > > seqRVMRVI2;
|
330
|
+
typedef sequence<sequence<octet> > seq4; // same as seq3.
|
331
|
+
|
332
|
+
typedef seqRVMRVI2 aseqRVMRVI2;
|
333
|
+
typedef aseqRVMRVI2 aaseqRVMRVI2;
|
334
|
+
typedef seq4 aseq4;
|
335
|
+
typedef RVModule2::MSTRUCT ams;
|
336
|
+
typedef ams aams;
|
337
|
+
typedef aams aaams;
|
338
|
+
|
339
|
+
|
340
|
+
module RVModule3 {
|
341
|
+
interface RVInterface0 {
|
342
|
+
|
343
|
+
enum Color {red, green, blue, black, mauve, orange};
|
344
|
+
enum OpType {OP_AND, OP_OR, OP_NOT};
|
345
|
+
|
346
|
+
union ColorCount switch (Color) {
|
347
|
+
case red:
|
348
|
+
case green:
|
349
|
+
case blue:
|
350
|
+
RVModule2::RVInterface2 rvi;
|
351
|
+
case black:
|
352
|
+
RVM2RVI2 arvi;
|
353
|
+
case mauve:
|
354
|
+
struct UnaryOp {
|
355
|
+
seqStruct1 seq;
|
356
|
+
OpType op;
|
357
|
+
sequence<ColorCount, 1> child;
|
358
|
+
} uop;
|
359
|
+
|
360
|
+
default:
|
361
|
+
seqRVMRVI2 seq;
|
362
|
+
};
|
363
|
+
typedef ColorCount cca;
|
364
|
+
|
365
|
+
|
366
|
+
typedef sequence<ColorCount> auseq;
|
367
|
+
typedef auseq aauseq;
|
368
|
+
typedef sequence<RVModule2::MSTRUCT> asseq;
|
369
|
+
typedef asseq aasseq;
|
370
|
+
typedef aasseq aaasseq;
|
371
|
+
|
372
|
+
struct MSTRUCT33 {
|
373
|
+
|
374
|
+
aaams aaamsv;
|
375
|
+
cca ccav;
|
376
|
+
RVModule2::ccaa ccaav;
|
377
|
+
AARVM2RVI2 aav;
|
378
|
+
RVModule2::seq5 seq1;
|
379
|
+
RVModule2::seq4 seq2;
|
380
|
+
|
381
|
+
RVModule2::MSTRUCT rvms;
|
382
|
+
RVModule2::RVInterface2 rvi;
|
383
|
+
RVM2RVI2 arvi;
|
384
|
+
RVModule2::MSTRUCT ms;
|
385
|
+
|
386
|
+
seqRVMRVI2 seq3;
|
387
|
+
aseqRVMRVI2 seq4;
|
388
|
+
aaseqRVMRVI2 seq5;
|
389
|
+
aseq4 seq6;
|
390
|
+
auseq seq7;
|
391
|
+
aauseq seq8;
|
392
|
+
asseq seq9;
|
393
|
+
|
394
|
+
RVModule2::seq6 seq13;
|
395
|
+
aasseq seq10;
|
396
|
+
aaasseq seq11;
|
397
|
+
seq33 seq12;
|
398
|
+
};
|
399
|
+
|
400
|
+
|
401
|
+
RVModule2::RVInterface2 RVM04 ();
|
402
|
+
};
|
403
|
+
interface RVInterface1 : RVModule2::RVModule21::RVInterface0 {
|
404
|
+
void RVM11 ();
|
405
|
+
};
|
406
|
+
};
|