JSW Technology Home Page

http://www.jswalker.demon.co.uk/jswtech.htm

Copyright John Walker & JSW Technology 1997-2003. All Rights Reserved.
The information contained herein is subject to change without notice.

ObjectAda is a trademark of Aonix
Microsoft, Visual C++, Win32 and Windows NT are trademarks of Microsoft, Inc.
Phar Lap is Registered in the U.S. Patent and Trademark Office by Phar Lap Software, Inc.
ETS is a trademark of Phar Lap Software, Inc.

Last updated: 23 December 2003

Welcome to the Home Page for JSW Technology. Please send your comments and suggestions to jswtech@jswalker.demon.co.uk.

Contents


Shortcuts to Recent Highlights

C++ to Ada Technology

Ada Binding to Win32 (WinAPI)

Ada Foundation Classes

Ada Binding to Phar Lap ETS Kernel

Extending the Bindings (11 May 2000)

Go to start of JSW Technology Home Page


C++ to Ada Technology

The C++ to Ada Technology (CPPToAda) generates an Ada binding from a C++ specification, usually header files.

CPPToAda supports pragma directives relating to the generation process such as the renaming of symbols to avoid ambiguities in Ada, different mapping strategies and the distribution of Ada packages. Typically these pragmas are maintained in separate header files so that they can be reused when generating a new version of a binding for a new release of the C++ specification.

The pragma directives are maintained to enable the output from CPPToAda to be used directly without manual intervention. This facilitates the timely release of a new version of a binding for a new release of the C++ specification.

Current products support Microsoft Visual C++ Version 6.0. Work is currently in hand to support Microsoft Visual C++ .NET 2003. This has involved considerable reworking to support namespaces and template classes.

CPPToAda includes 6 phases as follows:

Currently the first five phases run as a single executable, BuildST, which generates a symbol table for input to the final phase, GenAda. BuildST is not intended to be an end-user tool largely because the C++ parser assumes compiled C++ and has had limited application beyond the applications described below.

The symbol table is delivered with the binding. Potentially this enables the user to regenerate the binding using different options.

The Symbol Table Viewer (STViewer) is a tool for browsing a symbol table. It includes the Derive Ada Class Tool (DACTool) which generates an Ada package corresponding to a class derived from a C++ class in the symbol table. STViewer is delivered with the bindings.

Other tools under consideration include:

Go to start of JSW Technology Home Page


Ada Binding to Win32 (WinAPI)

This binding to Win32 provides an alternative to the Win32Ada product. It is actively supported by JSW Technology and distributed by Aonix as part of ObjectAda OpenPack.

ObjectAda OpenPack 7.2.1 includes WinAPI Version 4.1.

For further information and upgrades see:

The following information applies to earlier versions of WinAPI and will be deleted from this web site in due course.

Go to start of JSW Technology Home Page


Ada Foundation Classes (AFC)

AFC (the Ada Foundation Classes) is a thin Ada binding to the Microsoft Foundation Classes (MFC).

AFC is generated using the C++ to Ada Technology (CPPToAda) from the C++ header files for MFC. This technology allows AFC to be maintained with timely upgrades for new versions of MFC.

ObjectAda OpenPack 7.2.1 includes AFC Version 4.1.

For further information and upgrades see:

The following information applies to earlier versions of AFC and will be deleted from this web site in due course.

Go to start of JSW Technology Home Page


Ada Binding to the Phar Lap ETS Kernel

The Ada Binding to the Phar Lap ETS Kernel provides a thin Ada binding to the Microsoft C runtime and the Phar Lap ETS Kernel as described in Datasheet for Ada Binding to the Phar Lap ETS Kernel.

Ada Binding to the Phar Lap ETS Kernel Version 4.3 has been delivered to Aonix for inclusion with ObjectAda Real-Time for Windows x Intel/ETS Version 7.2.1

Ada Binding to the Phar Lap ETS Kernel Version 3.1 is distributed by Aonix with ObjectAda Real-Time for Windows x Intel/ETS Version 7.2.

For further information and upgrades see:

Go to start of JSW Technology Home Page


Extending the Bindings

This section is intended to help users to extend the bindings offered above.

CWaveSoundRead is a package which provides a binding to the class CWaveSoundRead in the DirectX 5.2 SDK sample AdjustSound. It can be downloaded from cwavesound.ads. This source file includes comments explaining how the binding is derived from the C++ class.

Go to start of JSW Technology Home Page