Professional Development System Homepages
Janus/Ada 95 PDS for Microsoft Windows
Major Compiler Features
Janus/Ada 95 Compilers

Our Committment to the Ada programming language

Ada 95 was the first internationally standardized object oriented programming language.

The power of this language lies in its heritage: it is built on the stability of Ada 83, an existing standardized programming language that had been in use for nearly a decade when Ada 95 was designed.

Nor has Ada been standing still: the standardization of Ada 2007 and Ada 2012 shows a dynamic language that is continuing to evolve to meet the challenges of the 21st century.

Janus Ada95: expand your Ada Boundaries

RR Software strives to be on the leading edge of Ada technology. Consider our aggressive approach to Ada 95. In March of 1993 we were the first company to ship beta Ada 9X compilers, and in April of 1994 we commercially introduced the first Ada 9X product line. In October of 1996 we successfully validated separate Ada 95 compiler packages for three of the most popular PC-based operating systems.

Today, we remain at the forefront of the evolution of Ada. Our president serves as the editor for the Ada Standard; he literally inserted the changes for Ada 2007 and Ada 2012 into the text of the Standard. He continues to be a key player in guiding the evolution of Ada to Ada 2020 and beyond.

Our Ada 95 compilers form the backbone of our Ada technology. They've been enhanced with basic Ada 2007 support, and in the near future, will also support some Ada 2012 features. Compiler options allow the selection of the language version desired, if newer features need to be avoided for some reason. For Ada 83, our Ada 83 product line continues to be available.

Newer Ada 95 features are being added to our products on a regular basis, with the goal of full Ada 2012 support. The currently released Ada 95 compilers implement more than 87% of the core of Ada 95, based on a section-by-section list of Ada 95 features. The current list of major features is available below.

Our Ada compilers are currently available for Microsoft Windows (which works on all modern versions of Windows). [Find more information about our PDS (Professional Development Systems) for Microsoft Windows here.] We've supported other targets in the past (ranging from MS-DOS to a mainframe Unix), so if you have other needs, we may be able to fill them. Contact us with your requirements.

Janus/Ada 95 Professional Development Systems: Overview

The Janus/Ada 95 compiler supports the complete syntax and features of the Ada 95 programming language. A wide selection of options allows the user to tailor the system operation to their specific needs. This compiler is faster than our Ada 83 version, due to improvements in with and use clause processing, with additional optimizations applied to code.

Janus/Ada 95 supports multiple levels of optimization depending on the programmer's needs. In its safest modes, most uninitialized variables and dangling pointers will be detected before they do any damage. The compiler can be configured to generate all Ada checks (without optimizing any checks away) while other optimizations can still be performed.

When performance is of the essence, the compiler can aggressively eliminate unnecessary checks. For the fastest processing, all elaboration and stack checks, and virtually every constraint check can be suppressed.

There are two linkers, Jlink and JBind, which offer unused code removal and support for multiple memory models on 80x86 targets. Jlink directly produces executable files for quick program development, while JBind produces Microsoft compatible .OBJ files for interfacing and for use with third party tools. The Linker and Binder have been updated to support Ada 95 features, including child library units and new elaboration pragmas. These tools also enforce the new Ada 95 library rules and implement the library unit categorization pragmas. [Note: JLink not available on Microsoft Windows versions.]

The Janus/Ada Workstation System II (JAWS II), an Ada sensitive editor, has been enhanced to recognize Ada 95 syntax extensions, and has added Ada 95 templates for faster programming. JAWS allows compilation and linking directly from the environment, and includes integrated syntax checking and error correction. JAWS supports multiple windows and menus on all platforms. [Note: Jaws II is not available on Microsoft Windows 7 or 10.]

The library and file management utility, JManager, has been updated to handle the improvements made possible by Ada 95. JManager provides command line access into the library manager, making automation possible.

The compilation order tool (COrder) is an automatic Ada-specific make utility that derives legal compilation orders and eliminates the need for unnecessary recompilations. It operates directly on the Ada source code to generate a batch file/script for optimum compilation, and was enhanced to take advantage of the new child library unit features and several other improvements of Ada 95.

The syntax checker and pretty printer now recognizes and pretty prints Ada 95 syntax extensions. [PDS only.]

The Janus/Ada assemblers, JASM, is a fully functional assembler for the 80x86 or 80386. Using Ada-like syntax, it supports Ada entities, making interface between Ada and assemble language simpler and more useful. JASM has been revised, making it easier to use assemble code with Ada 95 programs. [PDS only.]

Claw is a GUI interface for Windows that is designed to take advantage of the object-oriented features of Ada 95. The Claw package includes a GUI Builder program so that the tedious work of creating GUI programs can be simplified. [PDS and available separately.]

All of our products come with complete, well-indexed and professionally written documentation. The user manual covers everything from implementation dependencies to operation of the tools. It was written to be easily understood, and the binder will lay flat. Example programs demonstrating Ada 95 features are included in the package, as is an Ada 95 tutorial, helpful for recognizing the new language features.

All of the Janus/Ada runtime libraries included with our commerical product line are completely royalty free to the licensed user.

Janus/Ada 95 Professional Development Systems: Major Ada 95 Features

The following is a list of major Ada 95 features currently available in the Janus/Ada 95 Professional Development Systems. Janus/Ada 95 was based on our validated Ada 83 compilers, so a complete implementation of Ada 83 is supported. Thus all basic features of Ada (including tasks, generics, representation clauses, etc.) are supported. Many minor improvements of Ada 95 also have been implemented. Other features will be available soon, so be sure to get a software support agreement.

  • The complete syntax, including all new reserved words, is supported.
  • Latin-1 (8-bit) characters can be used in identifiers and literals.
  • Pragmas which are badly placed or have bad arguments are now errors.
  • Wide_Character, Wide_String, and their operations are supported.
  • The attributes Image, Value, and Width work on real types. Wide versions of those attributes are available for all types. The new Float attributes are also available.
  • Modular types are available. Support for full 16 and 32-bit unsigned types and their operations is included.
  • Tagged types are available, including classwide operations and dispatching. Tagged Private types are implemented. Classwide objects, type conversions, and access types are supported.
  • Type extensions are implemented, including private extensions. Extension aggregates are available for type extensions.
  • General access types, the aliased object modifier, and the 'Access attribute are supported.
  • Access Discriminants are supported.
  • Ordering requirements on declarations have been removed.
  • Sliding (implicit array subtype conversion) now occurs everywhere except qualified expressions.
  • Subprogram access types are implemented.
  • Access Parameter Types can be used.
  • Abstract subprograms and types are available.
  • Out parameters now can be read, and used in renames and in generic instantiations.
  • A subprogram body can be a renaming declaration, completing an earlier specification.
  • Explicit overloading of "=" and "/=" is allowed for all types, with some restrictions on "/=".
  • Conformance rules have been made more usable and understandable.
  • Controlled and Limited Controlled types are supported.
  • Use type is implemented.
  • Generic units can be renamed.
  • Delay Until is implemented.
  • Child library units, including private library units. [This feature is currently limited to non-generic parent units.]
  • Library-level renames of subprograms, packages, and generic units can be used.
  • Library packages which do not require bodies are forbidden to have bodies.
  • Elaboration pragmas have been improved.
  • Pragmas Pure and PreElaborate allow user classification of compilation units.
  • Package Ada.Exceptions and exception choice parameters are available. Subprogram call walkbacks are stored in the Exception_Occurrences. Reraised exceptions include both the original point of raising and the reraising location.
  • Generic formal tagged private types are implemented.
  • Packages System.Storage_Elements and System.Address_to_Access_Conversions are implemented.
  • Testing for validity of data values with the Valid attribute is supported.
  • Storage_Pools are supported.
  • Package Ada.Streams is provided.
  • User-defined stream attributes are supported, as well as default stream attributes for elementary types.
  • Character handling packages are available. All of the string handling packages are implemented, including all the representations: Fixed, Bounded, and Unbounded strings.
  • Package Ada.Numerics.Generic_Elementary_Functions is provided.
  • The random number generation packages are implemented.
  • Append_Mode is supported on all file types.
  • Ada.Text_IO contains Modular_IO and immediate get facilities.
  • Packages Ada.Streams.Stream_IO and Ada.Text_IO.Text_Streams are provided.
  • The package Ada.Command_Line is supported.
  • Interface facilities are substantially improved. Ada 95 includes a more logical set of pragmas for interfacing to other languages. It also includes a series of packages intended to provide most of the types needed to interface to other languages, easing the work, and making interfaces much more portable.
  • Packages Ada.Task_Identification and Ada.Task_Attributes are implemented.

Janus/Ada 95 Professional Development Systems: Major Ada 2007 Features

The following is a list of major Ada 2007 features currently available in the Janus/Ada 95 Professional Development Systems. The current version is the first version to support any Ada 2007 features, so the list is rather short at the moment. Other features will be available soon, so be sure to get a software support agreement.

  • The complete syntax of Ada 2007, including all new reserved words, is supported.
  • Anonymous access-to-constant types are supported.
  • Anonymous access types are allowed in component and object declarations.
  • Aggregates allow <> components to represent default initialized components.
  • Aggregates may be of a limited type.
  • Pragma Unsuppress is supported.
  • Raise statements with message strings are supported.
Janus/Ada 95 Validation Info
Home   |  Top  |  Claw  |  News  |  Janus/Ada 83


Copyright © 2016 RR Software, Inc. Please read the terms of use. Use of this site constitutes your acceptance of these terms of use. All rights reserved. Microsoft and Microsoft Windows are registered trademarks of the Microsoft Corporation. All other trademarks and/or registered trademarks are of their respective companies. RR Software makes no warranties about the use of this page and forbids reproduction of any RR Software content in other publications without the prior written consent of RR Software, Inc.