aaronp-zomg 1.0.2.20080827232412
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +25 -0
- data/Manifest.txt +238 -0
- data/README.txt +59 -0
- data/Rakefile +43 -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/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 +54 -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/visitable.rb +15 -0
- data/lib/zomg/idl/visitors/duhr.rb +24 -0
- data/lib/zomg/idl/visitors/ruby_sexp.rb +204 -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 +46 -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 +16 -0
- data/test/test_parser.rb +17 -0
- data/test/test_scanner.rb +234 -0
- metadata +334 -0
@@ -0,0 +1,58 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
module Apple{
|
4
|
+
struct BlackCherry{
|
5
|
+
octet Carrots;
|
6
|
+
Object Lemon;
|
7
|
+
};
|
8
|
+
|
9
|
+
|
10
|
+
enum Starfruit{
|
11
|
+
Rhubarb,
|
12
|
+
PassionFruit,
|
13
|
+
Pumpkin,
|
14
|
+
Mango
|
15
|
+
};
|
16
|
+
|
17
|
+
|
18
|
+
typedef sequence<short > WaterMelon;
|
19
|
+
|
20
|
+
};
|
21
|
+
|
22
|
+
typedef any BlackEyedBeans;
|
23
|
+
|
24
|
+
typedef unsigned long Dates;
|
25
|
+
|
26
|
+
union Cabbage switch (char) {
|
27
|
+
case 'a':
|
28
|
+
double Coconut;
|
29
|
+
default :
|
30
|
+
float Lychees;
|
31
|
+
};
|
32
|
+
|
33
|
+
|
34
|
+
const boolean Cucumber=TRUE;
|
35
|
+
|
36
|
+
|
37
|
+
const boolean Ginger=FALSE;
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
interface idlServer{
|
42
|
+
|
43
|
+
exception Asparagus{
|
44
|
+
::Dates Leek;
|
45
|
+
};
|
46
|
+
|
47
|
+
readonly attribute string Mint;
|
48
|
+
|
49
|
+
void GardenPeas(
|
50
|
+
out ::BlackEyedBeans p1,
|
51
|
+
inout ::BlackEyedBeans p2
|
52
|
+
) raises (Asparagus);
|
53
|
+
|
54
|
+
oneway void Banana(
|
55
|
+
in ::BlackEyedBeans p1
|
56
|
+
) context ("Orange");
|
57
|
+
};
|
58
|
+
|
@@ -0,0 +1,25 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
module Apple{
|
4
|
+
|
5
|
+
module BlackCherry{
|
6
|
+
typedef short Carrots;
|
7
|
+
};
|
8
|
+
|
9
|
+
typedef long Carrots;
|
10
|
+
|
11
|
+
module BlackCherry{
|
12
|
+
typedef float Starfruit;
|
13
|
+
};
|
14
|
+
|
15
|
+
};
|
16
|
+
|
17
|
+
interface idlServer{
|
18
|
+
|
19
|
+
void Rhubarb(
|
20
|
+
in ::Apple::Carrots p1,
|
21
|
+
out ::Apple::BlackCherry::Carrots p2,
|
22
|
+
inout ::Apple::BlackCherry::Starfruit p3
|
23
|
+
);
|
24
|
+
};
|
25
|
+
|
@@ -0,0 +1,22 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
interface idlServer {
|
4
|
+
|
5
|
+
const long Apple = 4;
|
6
|
+
|
7
|
+
typedef float Banana;
|
8
|
+
|
9
|
+
exception Orange{
|
10
|
+
short Starfruit;
|
11
|
+
};
|
12
|
+
|
13
|
+
attribute char Lychees;
|
14
|
+
|
15
|
+
void Lemon();
|
16
|
+
};
|
17
|
+
|
18
|
+
// Empty interfaces are permitted
|
19
|
+
interface emptyInterface
|
20
|
+
{
|
21
|
+
};
|
22
|
+
|
@@ -0,0 +1,27 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
interface Banana;
|
4
|
+
|
5
|
+
struct Corn{
|
6
|
+
short Eddo;
|
7
|
+
Banana Yam;
|
8
|
+
long Rasin;
|
9
|
+
float Peach;
|
10
|
+
};
|
11
|
+
|
12
|
+
interface Banana;
|
13
|
+
|
14
|
+
interface Apple {
|
15
|
+
attribute Banana Peanuts;
|
16
|
+
};
|
17
|
+
|
18
|
+
interface Banana {
|
19
|
+
void Orange(in Banana p1);
|
20
|
+
void Basil(out Banana p1);
|
21
|
+
void VineTomatoes(inout Banana p1);
|
22
|
+
};
|
23
|
+
|
24
|
+
interface idlServer : Apple, Banana {
|
25
|
+
idlServer Lemon(in Corn p1);
|
26
|
+
};
|
27
|
+
|
@@ -0,0 +1,30 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
interface Banana {
|
4
|
+
|
5
|
+
const float Apple = 23.4;
|
6
|
+
|
7
|
+
typedef long Dates;
|
8
|
+
|
9
|
+
exception Orange{
|
10
|
+
short Starfruit;
|
11
|
+
};
|
12
|
+
|
13
|
+
};
|
14
|
+
|
15
|
+
interface idlServer: Banana {
|
16
|
+
|
17
|
+
const short Apple = 5;
|
18
|
+
|
19
|
+
typedef struct Dates{
|
20
|
+
char Dill;
|
21
|
+
}Oregano;
|
22
|
+
|
23
|
+
exception Orange{
|
24
|
+
float Aniseed;
|
25
|
+
double Bayleaf;
|
26
|
+
};
|
27
|
+
|
28
|
+
void Lemon(in Dates p1, inout ::Banana::Dates p2) raises (Orange);
|
29
|
+
};
|
30
|
+
|
@@ -0,0 +1,51 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
interface Apple {
|
4
|
+
const long Lemon = 3;
|
5
|
+
typedef long Pumpkin;
|
6
|
+
exception Oregano{
|
7
|
+
long Sultana;
|
8
|
+
};
|
9
|
+
};
|
10
|
+
|
11
|
+
interface Banana : Apple {
|
12
|
+
const short Lemon = 3;
|
13
|
+
typedef short Pumpkin;
|
14
|
+
exception Oregano{
|
15
|
+
short Sultana;
|
16
|
+
};
|
17
|
+
};
|
18
|
+
|
19
|
+
interface Carrots : Apple{
|
20
|
+
const float Lemon = 4.5;
|
21
|
+
typedef float Pumpkin;
|
22
|
+
exception Oregano{
|
23
|
+
float Sultana;
|
24
|
+
};
|
25
|
+
};
|
26
|
+
|
27
|
+
interface Dates : Banana, Carrots{
|
28
|
+
const char Lemon = '6';
|
29
|
+
typedef char Pumpkin;
|
30
|
+
exception Oregano{
|
31
|
+
char Sultana;
|
32
|
+
};
|
33
|
+
};
|
34
|
+
|
35
|
+
|
36
|
+
interface idlServer: Dates {
|
37
|
+
|
38
|
+
typedef short Melon[::Apple::Lemon];
|
39
|
+
|
40
|
+
void Lemon(
|
41
|
+
in Melon p1,
|
42
|
+
inout ::Apple::Pumpkin p2,
|
43
|
+
inout ::Banana::Pumpkin p3,
|
44
|
+
inout ::Carrots::Pumpkin p4,
|
45
|
+
inout ::Dates::Pumpkin p5)
|
46
|
+
raises (::Carrots::Oregano);
|
47
|
+
};
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
|
@@ -0,0 +1,88 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
interface idlServer {
|
4
|
+
|
5
|
+
void Bayleaf();
|
6
|
+
|
7
|
+
float BlackCherry(
|
8
|
+
in float p1,
|
9
|
+
out float p2,
|
10
|
+
inout float p3
|
11
|
+
);
|
12
|
+
|
13
|
+
double Starfruit(
|
14
|
+
in double p1,
|
15
|
+
out double p2,
|
16
|
+
inout double p3
|
17
|
+
);
|
18
|
+
|
19
|
+
long Rhubarb(
|
20
|
+
in long p1,
|
21
|
+
out long p2,
|
22
|
+
inout long p3
|
23
|
+
);
|
24
|
+
|
25
|
+
short PassionFruit(
|
26
|
+
in short p1,
|
27
|
+
out short p2,
|
28
|
+
inout short p3
|
29
|
+
);
|
30
|
+
|
31
|
+
|
32
|
+
unsigned long Pumpkin(
|
33
|
+
in unsigned long p1,
|
34
|
+
out unsigned long p2,
|
35
|
+
inout unsigned long p3
|
36
|
+
);
|
37
|
+
|
38
|
+
|
39
|
+
unsigned short Mango(
|
40
|
+
in unsigned short p1,
|
41
|
+
out unsigned short p2,
|
42
|
+
inout unsigned short p3
|
43
|
+
);
|
44
|
+
|
45
|
+
|
46
|
+
char WaterMelon(
|
47
|
+
in char p1,
|
48
|
+
out char p2,
|
49
|
+
inout char p3
|
50
|
+
);
|
51
|
+
|
52
|
+
|
53
|
+
boolean Lime(
|
54
|
+
in boolean p1,
|
55
|
+
out boolean p2,
|
56
|
+
inout boolean p3
|
57
|
+
);
|
58
|
+
|
59
|
+
|
60
|
+
octet Dates(
|
61
|
+
in octet p1,
|
62
|
+
out octet p2,
|
63
|
+
inout octet p3
|
64
|
+
);
|
65
|
+
|
66
|
+
|
67
|
+
Object Coconut(
|
68
|
+
in Object p1,
|
69
|
+
out Object p2,
|
70
|
+
inout Object p3
|
71
|
+
);
|
72
|
+
|
73
|
+
|
74
|
+
string Lychees(
|
75
|
+
in string p1,
|
76
|
+
out string p2,
|
77
|
+
inout string p3
|
78
|
+
);
|
79
|
+
|
80
|
+
|
81
|
+
string<20> Cabbage(
|
82
|
+
in string<23> p1,
|
83
|
+
out string<38> p2,
|
84
|
+
inout string<44> p3
|
85
|
+
);
|
86
|
+
|
87
|
+
};
|
88
|
+
|
@@ -0,0 +1,95 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
enum Sweetcorn{
|
4
|
+
Banana,
|
5
|
+
Carrots,
|
6
|
+
Lemon,
|
7
|
+
BlackCherry,
|
8
|
+
Starfruit,
|
9
|
+
Rhubarb
|
10
|
+
};
|
11
|
+
|
12
|
+
exception Mangetout{
|
13
|
+
};
|
14
|
+
|
15
|
+
exception Cress{
|
16
|
+
unsigned long Plum;
|
17
|
+
};
|
18
|
+
|
19
|
+
exception BambooShoot{
|
20
|
+
float Plum;
|
21
|
+
double KidneyBean;
|
22
|
+
long Zucchini;
|
23
|
+
unsigned long ButterBean;
|
24
|
+
short Avocado;
|
25
|
+
unsigned short GoldenDelicous;
|
26
|
+
char Lentil;
|
27
|
+
boolean Fig;
|
28
|
+
octet CrabApple;
|
29
|
+
string RedOnion;
|
30
|
+
string<23> HazelNut;
|
31
|
+
Object Cinnamon;
|
32
|
+
any GooseBerry;
|
33
|
+
};
|
34
|
+
|
35
|
+
typedef struct Guava{
|
36
|
+
float Sultana;
|
37
|
+
} Runnerbean;
|
38
|
+
|
39
|
+
union BrazilNut switch (long) {
|
40
|
+
case 23:
|
41
|
+
Runnerbean Parsnip;
|
42
|
+
case -25:
|
43
|
+
long Celery;
|
44
|
+
default :
|
45
|
+
short WhiteCabbage;
|
46
|
+
};
|
47
|
+
|
48
|
+
exception Cassava{
|
49
|
+
Guava Oregano;
|
50
|
+
Runnerbean Almonds;
|
51
|
+
Guava Mushroom[3];
|
52
|
+
Runnerbean Tofu[1];
|
53
|
+
};
|
54
|
+
|
55
|
+
exception Melon{
|
56
|
+
BrazilNut SweetPotato;
|
57
|
+
BrazilNut Orange[2];
|
58
|
+
sequence<octet> Tangarine;
|
59
|
+
sequence<float> GardenPeas[4];
|
60
|
+
sequence<octet> CantelopeMelon;
|
61
|
+
Sweetcorn Apple;
|
62
|
+
Sweetcorn Onion[5];
|
63
|
+
};
|
64
|
+
|
65
|
+
interface idlServer{
|
66
|
+
|
67
|
+
exception RedGrapes{
|
68
|
+
float Plum[34];
|
69
|
+
double KidneyBean[12];
|
70
|
+
long Zucchini[3];
|
71
|
+
unsigned long ButterBean[6];
|
72
|
+
short Avocado[1];
|
73
|
+
unsigned short GoldenDelicous[32];
|
74
|
+
char Lentil[9];
|
75
|
+
boolean Fig[2];
|
76
|
+
octet CrabApple[13];
|
77
|
+
string RedOnion[2];
|
78
|
+
string<15> HazelNut[1];
|
79
|
+
Object Cinnamon[6];
|
80
|
+
any GooseBerry[2];
|
81
|
+
};
|
82
|
+
|
83
|
+
void JuniperBerries(
|
84
|
+
in long p1,
|
85
|
+
out Sweetcorn p2,
|
86
|
+
inout octet p3
|
87
|
+
) raises (Mangetout);
|
88
|
+
|
89
|
+
void Daikan() raises (Cress, idlServer::RedGrapes);
|
90
|
+
|
91
|
+
void Thyme() raises (Cress, idlServer::RedGrapes);
|
92
|
+
|
93
|
+
void Lettuce() raises (Mangetout, Cress, BambooShoot, Cassava, Melon, RedGrapes);
|
94
|
+
};
|
95
|
+
|