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 [2024/10/11 08:57] – [SOM Interface Definition Language] prokushev | en:docs:tk:som:sc:ug [2024/11/09 13:02] (current) – prokushev | ||
---|---|---|---|
Line 7: | Line 7: | ||
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. | ||
- | ===== Changes ===== | ||
- | Changes from original somFree compiler: | ||
- | |||
- | * Most of internal structures now also present as in old IBM SOM 2.1 NT Toolkit. | ||
- | * New emitters: | ||
- | * LNK - Open Watcom WLink support. | ||
- | * DUMP - displays structures, available to emitter. | ||
- | * PAS - Pascal client support. | ||
- | * IPAS - Pascal implementation classes support. | ||
- | * SOM Compiler library now mostly documented. | ||
- | * SOMLINK style functions for most of SOM Compiler library added. | ||
- | * Emitters now IBM SOM 2.1 and IBM SOM 3.0 compatible without recompilation. | ||
- | * somFree Compiler supports IBM SOM 2.1, IBM SOM 3.0, and somFree 1.0 emitters. | ||
- | * somtShowEntry function outputs more info. | ||
- | * Undocumented SOMTTypes now documented. | ||
- | * SOMIPC now supports IDL 4.2 specification. | ||
- | * CORBA C Language Mapping Specification 1.0 now supported by default instead of CORBA 1.1 C Language mapping. | ||
- | * Added support of OIDL files | ||
===== somFree Compiler ===== | ===== somFree Compiler ===== | ||
Line 381: | Line 363: | ||
* Methods section (optional) | * Methods section (optional) | ||
- | ==== Include section ==== | + | ==== Include section |
+ | |||
+ | Include section handled by SPP preprocessor. Preprocessor is a simple tool which includes files pointed by include section into the original file. | ||
Include section is optional and contains names of OIDL files with definition of parent class, metaclasses and private interfaces of ancestor classes. | Include section is optional and contains names of OIDL files with definition of parent class, metaclasses and private interfaces of ancestor classes. | ||
Line 393: | Line 377: | ||
ancestor is the name of the OIDL file containing the private part of an ancestor class' interface needed in the definition of this class. If ancestor is enclosed in angle brackets (%%<> | ancestor is the name of the OIDL file containing the private part of an ancestor class' interface needed in the definition of this class. If ancestor is enclosed in angle brackets (%%<> | ||
- | parent is the name of the OIDL file containing the parent class of the class for which the Include statement is provided. If parent is enclosed in angle | + | parent is the name of the OIDL file containing the parent class of the class for which the Include statement is provided. If parent is enclosed in angle brackets (%%<> |
- | brackets (%%<> | + | |
metaclass is the OIDL file containing the metaclass of the class for which the include statement is provided. If metaclass is enclosed in angle brackets (%%<> | metaclass is the OIDL file containing the metaclass of the class for which the include statement is provided. If metaclass is enclosed in angle brackets (%%<> | ||
+ | |||
+ | todo: @ line " | ||
==== Class section ==== | ==== Class section ==== |