Added keywords

Each new keyword has an Ada equivalent

pkg - package
rec - record
ret - return
subt - subtype
func - function
proc - procedure
priv - private
: - is
# - pragma

Added data types

Each new standard data type has an Ada equivalent as well.

Int_32 - Integer
Int_64 - Long_Integer
Bool - Boolean
Float_32 - Float
Float_64 - Long_Float

Roadmap and Changes

Besides the "Ada++ Issue/Feature" list below, Ada++ behaves like Ada since it is based on the GNAT Ada compiler.

Please see the Ada Reference manual for detailed semantic information and definitions of vocabulary.

Items crossed off the list have been fully or partially implemented.

NOTE: The docs are currently insufficient and much more detail is needed!

CI20-00 Support LLVM

Since AdaCore has released an GNAT LLVM backend, it might be nice to pick up new targets or performance improvements.

AI20-01 Allow optional curly braces instead of begin ... end;

Allow curly braces in all cases where end is allowed and remove requirement to place a keyword or Id after a right curly brace.

AI20-02 Add new subtypes in package Standard which appreviate certain common types

Create a definition of Int_32, Int_64, Char_8, Str, and Bool - along with any other useful types like unsigned integers of various sizes.

AI20-03 Add abbreviate form of Pragma

Allow pragmas to be specified by a leading # symbol.

AI20-04 Add abbreviate form OF 'is' keyword

Allow pragmas to be specified by a leading : symbol.

AI20-05 Add shortened versions of keywords

Add extra abbreviate optional form of keywords such as private, protected, subtype, procedure, etc.

AI20-06 Add ++, +1, and -1 oeprators

Plus plus operator (like the language's namesake) must be present :). However, There are still ongoing discussion about the other forms.

AI20-07 Add "Raise when" construct

Add a new construct to facilitate the common use case of a single raise statement within an if statement which can often be used when getting for correctness within a program.