en:docs:tk:som:sc:ug

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:docs:tk:som:sc:ug [2025/05/29 15:45] – [Bibliography] prokusheven: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 482: Line 480:
 | 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, ''attribute'' were renamed to ''modifier'' and ''group'' obsolete. SOM IDL extensions mostly ''implementation'' section. +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, ''attribute'' were renamed to ''modifier'' and ''group'' obsolete. SOM IDL extensions mostly ''implementation'' section. Also ''#pragma'' statement was added. Modifiers now can be declared via ''#pragma modifier''. Some modifiers were only defined via ''#pragma''.
-IBM SOM 3.0 added some more OMG IDL compatibility according to CORBA 2.x standards, like ''#pragma'' statement. Modifiers now can be declared via ''#pragma modifier''. Some modifiers were only defined via ''#pragma''.+
  
 somFree supports SOM IDL as found in IBM SOM 3.0. somFree supports SOM IDL as found in IBM SOM 3.0.
Line 489: Line 486:
 osFree somFree compiler tries to implement current IDL 4.2 Specification. It supports ''@annotation''. So, many constructions can be (and must be) implemented via standard and somFree specific annotations. osFree somFree compiler tries to implement current IDL 4.2 Specification. It supports ''@annotation''. So, many constructions can be (and must be) implemented via standard and somFree specific annotations.
  
-OIDL SOM IDL IDL 4.2 ^ +OIDL 
-| | | |+<code> 
 +include <somobj.csc>; 
 + 
 +class Hello; 
 + 
 +method: 
 +  sayHello(string msg); 
 + 
 +passthru C: 
 +#define DEFAULT_MSG "Hello!" 
 +endpassthru; 
 +</code> 
 + 
 +SOM IDL 
 +<code idl> 
 +#include <somobj.idl> 
 +interface Hello 
 +
 +  implementation 
 +  { 
 +  } 
 +
 +</code> 
 + 
 +IDL 4.2 
 +<code idl> 
 +#include <somobj.idl> 
 + 
 +interface Hello 
 +
 +
 +</code> 
 ====== Bibliography ====== ====== Bibliography ======