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