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,24 @@
|
|
1
|
+
module ORBTest_ExceptionsExt_2_3
|
2
|
+
{
|
3
|
+
interface Intf
|
4
|
+
{
|
5
|
+
void
|
6
|
+
op_CODESET_INCOMPATIBLE_Ex();
|
7
|
+
|
8
|
+
void
|
9
|
+
op_REBIND_Ex();
|
10
|
+
|
11
|
+
void
|
12
|
+
op_TIMEOUT_Ex();
|
13
|
+
|
14
|
+
void
|
15
|
+
op_TRANSACTION_UNAVAILABLE_Ex();
|
16
|
+
|
17
|
+
void
|
18
|
+
op_TRANSACTION_MODE_Ex();
|
19
|
+
|
20
|
+
void
|
21
|
+
op_BAD_QOS_Ex();
|
22
|
+
};
|
23
|
+
|
24
|
+
}; // module ORBTest_ExceptionsExt_2_3
|
@@ -0,0 +1,18 @@
|
|
1
|
+
#include "sc.idl"
|
2
|
+
|
3
|
+
module sc {
|
4
|
+
typedef string UserId_second;
|
5
|
+
|
6
|
+
interface SecurityInfoSupplier_second : LoginInfo {
|
7
|
+
void setUserId(in UserId_second uid);
|
8
|
+
UserId_second getUserId();
|
9
|
+
SrvId_changed getSimulatedSrvId();
|
10
|
+
};
|
11
|
+
|
12
|
+
interface GenSrv_second {
|
13
|
+
boolean ping();
|
14
|
+
void connect(in SecurityInfoSupplier_second logInfSup) raises (SecurityException );
|
15
|
+
oneway void pushKpiMessage(in KpiMessage message);
|
16
|
+
};
|
17
|
+
|
18
|
+
};
|
@@ -0,0 +1,20 @@
|
|
1
|
+
/**
|
2
|
+
* Raising user exceptiong with string msg
|
3
|
+
*/
|
4
|
+
interface Calc {
|
5
|
+
|
6
|
+
exception ex1 {
|
7
|
+
string msg;
|
8
|
+
};
|
9
|
+
|
10
|
+
exception ex2 {
|
11
|
+
};
|
12
|
+
|
13
|
+
exception ex3 {
|
14
|
+
string msg;
|
15
|
+
long err;
|
16
|
+
Calc iface;
|
17
|
+
};
|
18
|
+
|
19
|
+
void m() raises( ex1 );
|
20
|
+
};
|
File without changes
|
@@ -0,0 +1,18 @@
|
|
1
|
+
typedef sequence<long,10> vec10;
|
2
|
+
|
3
|
+
exception simple_error {
|
4
|
+
long reason;
|
5
|
+
};
|
6
|
+
|
7
|
+
interface simple {
|
8
|
+
long op(in long a, out simple b, inout long c)
|
9
|
+
raises (simple_error);
|
10
|
+
};
|
11
|
+
|
12
|
+
interface simple2 : simple {
|
13
|
+
exception simple2_error {
|
14
|
+
long reason2;
|
15
|
+
};
|
16
|
+
long op2(in long a, in simple b, out simple2 c)
|
17
|
+
raises (simple2_error);
|
18
|
+
};
|
@@ -0,0 +1,25 @@
|
|
1
|
+
#include "simple1.idl"
|
2
|
+
|
3
|
+
|
4
|
+
interface simple3 : simple2 {
|
5
|
+
exception OVERFLOW {
|
6
|
+
long a;
|
7
|
+
string msg;
|
8
|
+
};
|
9
|
+
exception UNDERFLOW {
|
10
|
+
long b;
|
11
|
+
string msg;
|
12
|
+
};
|
13
|
+
exception BADNUM {
|
14
|
+
vec10 c;
|
15
|
+
};
|
16
|
+
exception USERERROR {
|
17
|
+
string reason;
|
18
|
+
};
|
19
|
+
long op3(in long a, out simple3 b, out simple2 c, out simple d)
|
20
|
+
raises (OVERFLOW, UNDERFLOW, BADNUM);
|
21
|
+
string op4(in string x, inout string y, out string z)
|
22
|
+
raises(UNDERFLOW);
|
23
|
+
void op5()
|
24
|
+
raises(USERERROR);
|
25
|
+
};
|
@@ -0,0 +1,77 @@
|
|
1
|
+
/**
|
2
|
+
*
|
3
|
+
* This interface represents a record in a database.
|
4
|
+
*
|
5
|
+
**/
|
6
|
+
interface DBRecord
|
7
|
+
{
|
8
|
+
/**
|
9
|
+
*
|
10
|
+
* The database key
|
11
|
+
*
|
12
|
+
**/
|
13
|
+
readonly attribute long key;
|
14
|
+
|
15
|
+
/**
|
16
|
+
*
|
17
|
+
* Some data in the database
|
18
|
+
*
|
19
|
+
**/
|
20
|
+
attribute string data;
|
21
|
+
};
|
22
|
+
|
23
|
+
/**
|
24
|
+
*
|
25
|
+
* This interface represents a factory to create and retrieve database
|
26
|
+
* records.
|
27
|
+
*
|
28
|
+
**/
|
29
|
+
interface DBFactory
|
30
|
+
{
|
31
|
+
exception NoRecord { };
|
32
|
+
|
33
|
+
/** An alias for a sequence of record keys */
|
34
|
+
typedef sequence<long> DBRecordKeySeq;
|
35
|
+
|
36
|
+
/**
|
37
|
+
*
|
38
|
+
* Create a db record.
|
39
|
+
*
|
40
|
+
* @return record The new record.
|
41
|
+
*
|
42
|
+
**/
|
43
|
+
DBRecord createRecord();
|
44
|
+
|
45
|
+
/**
|
46
|
+
*
|
47
|
+
* Destroy a db record. Throws NoRecord exception if the
|
48
|
+
* record doesn't exist in the database.
|
49
|
+
*
|
50
|
+
* @param key The key of the record.
|
51
|
+
*
|
52
|
+
**/
|
53
|
+
void destroyByKey(in long key)
|
54
|
+
raises(NoRecord);
|
55
|
+
|
56
|
+
/**
|
57
|
+
*
|
58
|
+
* Get a db record by id. Throws NoRecord exception if the
|
59
|
+
* record doesn't exist in the database.
|
60
|
+
*
|
61
|
+
* @param key The database key.
|
62
|
+
*
|
63
|
+
* @return record The record.
|
64
|
+
*
|
65
|
+
**/
|
66
|
+
DBRecord getByKey(in long key)
|
67
|
+
raises(NoRecord);
|
68
|
+
|
69
|
+
/**
|
70
|
+
*
|
71
|
+
* Return a sequence of all record keys in the database.
|
72
|
+
*
|
73
|
+
* @param records Sequence of records.
|
74
|
+
*
|
75
|
+
**/
|
76
|
+
DBRecordKeySeq getAllKeys();
|
77
|
+
};
|
@@ -0,0 +1,25 @@
|
|
1
|
+
/**
|
2
|
+
* Objects as in parameters - Factory Pattern
|
3
|
+
*/
|
4
|
+
|
5
|
+
interface foo {
|
6
|
+
void hello( in string name );
|
7
|
+
};
|
8
|
+
|
9
|
+
struct S {
|
10
|
+
long x;
|
11
|
+
foo obj;
|
12
|
+
};
|
13
|
+
|
14
|
+
typedef sequence<foo> fooSeq;
|
15
|
+
|
16
|
+
typedef Object ObjectAlias;
|
17
|
+
typedef sequence<Object> Objects;
|
18
|
+
|
19
|
+
interface bar {
|
20
|
+
foo run( in foo obj );
|
21
|
+
void run1( in ObjectAlias obj );
|
22
|
+
void run2( in S s_obj );
|
23
|
+
void run3( in fooSeq s );
|
24
|
+
};
|
25
|
+
|
@@ -0,0 +1,23 @@
|
|
1
|
+
|
2
|
+
/*
|
3
|
+
* includes b.idl. scope resolution, sequence of structs as in parameter
|
4
|
+
*/
|
5
|
+
|
6
|
+
|
7
|
+
#include "b.idl"
|
8
|
+
|
9
|
+
module A {
|
10
|
+
|
11
|
+
struct S {
|
12
|
+
boolean b;
|
13
|
+
};
|
14
|
+
|
15
|
+
typedef sequence<B::S> BSSeq;
|
16
|
+
typedef sequence<S> SSeq;
|
17
|
+
|
18
|
+
interface foo {
|
19
|
+
void bar( in BSSeq x );
|
20
|
+
};
|
21
|
+
|
22
|
+
};
|
23
|
+
|
@@ -0,0 +1,41 @@
|
|
1
|
+
/**
|
2
|
+
* pragma - prefix, ID and version
|
3
|
+
*/
|
4
|
+
module M {
|
5
|
+
|
6
|
+
typedef long LONG_type;
|
7
|
+
|
8
|
+
#pragma prefix "omg.org"
|
9
|
+
|
10
|
+
interface A {
|
11
|
+
void bar();
|
12
|
+
void bar1();
|
13
|
+
#pragma prefix "test"
|
14
|
+
void bar2();
|
15
|
+
void bar3();
|
16
|
+
#pragma ID bar3 "LOCAL:weird"
|
17
|
+
};
|
18
|
+
|
19
|
+
#include "include1.idl"
|
20
|
+
|
21
|
+
module M2 {
|
22
|
+
#include "include2.idl"
|
23
|
+
};
|
24
|
+
|
25
|
+
struct S {
|
26
|
+
char c;
|
27
|
+
};
|
28
|
+
|
29
|
+
exception E {
|
30
|
+
long err;
|
31
|
+
};
|
32
|
+
|
33
|
+
};
|
34
|
+
|
35
|
+
#pragma version ::M::A::bar2 3.1
|
36
|
+
#pragma version M::E 2.1
|
37
|
+
|
38
|
+
#pragma prefix ""
|
39
|
+
|
40
|
+
typedef long LONG_type;
|
41
|
+
|
@@ -0,0 +1,15 @@
|
|
1
|
+
#include <rookie.idl>
|
2
|
+
#include <manager.idl>
|
3
|
+
|
4
|
+
#ifndef __ROOKIEMANAGER_IDL__
|
5
|
+
#define __ROOKIEMANAGER_IDL__
|
6
|
+
|
7
|
+
interface RookieManager: Rookie, Manager {
|
8
|
+
struct Work {
|
9
|
+
long workHours;
|
10
|
+
any problem;
|
11
|
+
};
|
12
|
+
oneway void torture(in Work yourXOff);
|
13
|
+
};
|
14
|
+
|
15
|
+
#endif
|