Professional Development System Homepages
Janus/Ada 95 PDS for Windows 95 and NT
Janus/Ada 95 PDS for 32-bit DOS Extender
Janus/Ada 95 PDS for 80386 Unix
Major Compiler Features
Janus/Ada 95 Compilers

Janus/Ada 95 Validation Info

Our Committment to the Ada 95 Transition

    Ada 95 is the is 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, a 13 + year old standardized programming language.

    Janus Ada95: expand your Ada Boundaries

    RR Software strives to be on the leading edge of Ada technology, and affirm that with an 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.

    Our Ada 95 compilers form a separate product line, so that the compilers and tools can take advantage of both the simplifications and improvements available in Ada 95. Our existing customers are rewarded with a unique upgrade policy (generally, any product can be upgraded to another for just the difference in list price) allowing them to move to Ada 95 when they are ready for it. We will continue to support our Ada 83 product line as long as our clients demand.

    Ada 95 features are being added to our products on a regular basis, with the goal of full Ada 95 support. Our current focus emphasizes the object-oriented programming (OOP) features of Ada 95. The currently released Ada 95 compilers implement more than 85% 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.

    Ada 95 compilers are available for 32-bit MS-DOS extenders (one is included with the compiler); Microsoft Windows (which works on Windows 95, Windows 98, Windows ME, Windows NT, Windows 2000, Windows XP, and Windows Vista); and Unix systems supporting the Intel ABI (including SCO Unix and Unixware Unix). Most of the compiler tools have been updated to support Ada 95, including the compilation order tool, the syntax checker and pretty printer, and the programming environment. The improved programming environment includes Ada 95 templates and syntax capabilities, as well as built-in editor and compiler features.

    We have online information about our PDS (Professional Development Systems) for Microsoft Windows 95/NT (which works on more recent versions of Windows as well), Unix, and 32-bit DOS Extenders.

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 product 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.
  • 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
  • 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.

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 use clause processing, with additional optimizations applied to aggregates and generic units.

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.

The Janus/Ada Workstation System (JAWS), 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.

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.

The complete text-mode windows and screen handling package, JWindows, has been redesigned to take advantage of the object-oriented features of Ada 95. This has made JWindows easier to understand and use, and also provides access to previously unavailable capabilities. All popular PC hardware is supported and automatically identified for optimal performance. [Note: JWindows is not available on Microsoft Windows; Claw is available instead.]

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.

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.

Home   |  Top  |  Claw  |  News  |  Janus/Ada 83

This site is optimized for viewing with Netscape Navigator 3.0 or higher. Download Netscape Now!
This page last updated on October 24, 2001 by the Webmaster.

Copyright © 2000 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, Microsoft Windows NT, and Microsoft Windows 95 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.