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.