From: Gautier write-only address <gautier_niouzes@hotmail.com>
Subject: Ann: HAC v.0.085
Date: Fri, 1 Jan 2021 08:18:15 -0800 (PST) [thread overview]
Message-ID: <3645df90-9981-4e5b-8e3d-6a428c3dfb08n@googlegroups.com> (raw)
HAC (HAC Ada Compiler) is a small, quick, open-source Ada compiler,
covering a subset of the Ada language.
HAC is itself fully programmed in Ada.
Web site: http://hacadacompiler.sf.net/
Source repository #1: https://sf.net/p/hacadacompiler/code/HEAD/tree/
Source repository #2: https://github.com/zertovitch/hac
* Improvements:
HAC_Integer (internal name in HAC_Sys.Defs), i.e. HAC's Integer
type, is now 64 bit.
HAC_Float (i.e. `Real` in HAC programs) has now System.Max_Digits
digits accuracy.
Added range constraints, like: ` subtype Answer_Range is Character
range 'a' .. 'z' `.
Added membership test, like: ` x [not] in a .. b `.
Several additions to HAC_Pack.
Better I/O error handling.
The whole system (Compiler and VM run-time) builds on both
GNAT and ObjectAda64.
* Fixes ([hand_washing] all bugs stem from SmallAda [/hand_washing]):
Recursive calls to main procedure were mistaken as calls to
"standard" procedures in HAC_Pack
Block identification used main program's identifier instead
of its nesting.
EXIT statement on FOR loop implied stack corruption for several
nested FOR loops.
EXIT statements within IF statements didn't work properly.
Priority levels in expressions were not conform to
the Ada Reference Manual's. Most visible change: needless
brackets can now be removed around logical expressions.
* Test suite: added new 19 programs to the 12 existing tests.
The 19 source files are named exm/aoc/2020/aoc_2020_*.adb,
solutions to the Advent of Code 2020 puzzles.
Enjoy!
next reply other threads:[~2021-01-01 16:18 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-01 16:18 Gautier write-only address [this message]
2021-01-02 21:10 ` Ann: HAC v.0.085 reinert
2021-01-03 10:53 ` Gautier write-only address
2021-01-07 19:18 ` Gautier write-only address
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox