Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.compilers > #2520

Ann: HAC v.0.06

From gautier_niouzes@hotmail.com
Newsgroups comp.compilers
Subject Ann: HAC v.0.06
Date 2020-05-20 08:04 -0700
Organization Compilers Central
Message-ID <20-05-007@comp.compilers> (permalink)

Show all headers | View raw


HAC (HAC Ada Compiler) is available on two open-source development sites:
  https://hacadacompiler.sourceforge.io/
  https://github.com/zertovitch/hac

HAC is a small, quick, open-source Ada compiler, covering a subset of
the Ada language.
Even though the HAC documentation is more or less non-existent, the good
news is that you can use, as a help, Ada books and online documentation
about Ada: HAC does not define a dialect of Ada, only a subset.
A glimpse into the file "src/hac_pack.ads" gives you the currently
available types and subprograms.

The latest additions are:
------------------------

  - v.0.06: Text File I/O around File_Type (example below)

  - v.0.05: type VString (variable-size string), with various operators
      and functions ("&", "*", comparison operators, Element, Length,
      Slice, Index, Trim, Image, Integer_Value, Float_Value functions);
      system functions (Argument_Count, Argument, Get_Env, Set_Env,
      Shell_Execute)

HAC programs are real Ada programs, they can be built by a "serious"
Ada compiler, through the HAC_Pack compatibility package.
See the exm/hac_exm.gpr and test/hac_test.gpr project files
for the GNAT compiler.

HAC is itself programmed in Ada. To build HAC for the command-line,
all you need (with GNAT) is to run "gprbuild -p -P hac".
Then you get the executable hax[.exe].
The command "hax" alone will show you basic help.

  HAX: command-line compilation and execution for HAC (HAC Ada Compiler)
  Compiler version: 0.06 dated 18-May-2020.
  URL: https://hacadacompiler.sourceforge.io/

  Usage: hax [options] main.adb [command-line parameters for main]

  Options: -h     : this help
           -v, v1 : verbose
           -v2    : very verbose
           -a     : assembler output
           -d     : dump compiler information

Enjoy
_________________________
Gautier's Ada programming
http://gautiersblog.blogspot.com/search/label/Ada
NB: follow the above link for a valid e-mail address
__
PS: The example (exm/file_copy.adb):

with HAC_Pack;  use HAC_Pack;

procedure File_Copy is
  s : VString;
  f1, f2 : File_Type;
begin
  Open (f1, "file_copy.adb");
  Create (f2, "file_copy.txt");
  while not End_Of_File (f1) loop
    Get_Line (f1, s);
    Put_Line (f2, s);
  end loop;
  Close (f1);
  Close (f2);
end File_Copy

Back to comp.compilers | Previous | Next | Find similar


Thread

Ann: HAC v.0.06 gautier_niouzes@hotmail.com - 2020-05-20 08:04 -0700

csiph-web