Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
en:docs:tk:som:sc:ug [2025/05/29 14:55] – [2. Appendix 2. Terminology changes] prokushev | en:docs:tk:som:sc:ug [2025/06/05 12:39] (current) – prokushev | ||
---|---|---|---|
Line 6: | Line 6: | ||
somFree Compiler and Emitter Framework is a free open source binary compatible reimplementation of IBM SOM Compiler and Emitter Framework. It is tries to be as compatible as possible on API and ABI level. | somFree Compiler and Emitter Framework is a free open source binary compatible reimplementation of IBM SOM Compiler and Emitter Framework. It is tries to be as compatible as possible on API and ABI level. | ||
- | |||
- | |||
===== somFree Compiler ===== | ===== somFree Compiler ===== | ||
Line 474: | Line 472: | ||
todo: add info about internal structures like in http:// | todo: add info about internal structures like in http:// | ||
- | ===== 2. Appendix 2. Terminology changes ===== | + | ===== 2. Appendix 2. Terminology changes |
During SOM compiler evolution, some terms were changed and/or obsolete. Here is a table with terms mapping. | During SOM compiler evolution, some terms were changed and/or obsolete. Here is a table with terms mapping. | ||
- | | SOM 1.0 | SOM 2.0 | somFree | + | ^ SOM 1.0 ^ SOM 2.0 ^ somFree |
| attribute | modifier | annotation | | | attribute | modifier | annotation | | ||
| group | {obsolete} | {obsolete} | | | group | {obsolete} | {obsolete} | | ||
- | ====== | + | |
+ | IBM SOM 1.0 introduced Object Interface Definition Language (OIDL) which predates Interface Definition Language (IDL). It was a simple language which provided simple objects description. IBM SOM 2.0 switched to SOM IDL, which was an extended version of OMG IDL. SOM Compiler provided OIDL to IDL conversion tools. Because of moving to IDL, '' | ||
+ | |||
+ | somFree supports SOM IDL as found in IBM SOM 3.0. | ||
+ | |||
+ | osFree somFree compiler tries to implement current IDL 4.2 Specification. It supports '' | ||
+ | |||
+ | OIDL | ||
+ | < | ||
+ | include < | ||
+ | |||
+ | class Hello; | ||
+ | |||
+ | method: | ||
+ | sayHello(string msg); | ||
+ | |||
+ | passthru C: | ||
+ | #define DEFAULT_MSG " | ||
+ | endpassthru; | ||
+ | </ | ||
+ | |||
+ | SOM IDL | ||
+ | <code idl> | ||
+ | #include < | ||
+ | interface Hello | ||
+ | { | ||
+ | implementation | ||
+ | { | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | IDL 4.2 | ||
+ | <code idl> | ||
+ | #include < | ||
+ | |||
+ | interface Hello | ||
+ | { | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ====== | ||
Line 487: | Line 526: | ||
- IBM, "OS/2 2.0 Technical Library. System Object Model Guide and Reference. First Edition, 1991" | - IBM, "OS/2 2.0 Technical Library. System Object Model Guide and Reference. First Edition, 1991" | ||
- Object Management Group, "The Common Object Request Broker: Architecture and Specification. Revision 1.1, 1991" Available: https:// | - Object Management Group, "The Common Object Request Broker: Architecture and Specification. Revision 1.1, 1991" Available: https:// | ||
+ | - Object Management Group, " | ||