• Ann: HAC v.0.06

    From gautier_niouzes@hotmail.com@21:1/5 to All on Wed May 20 08:04:03 2020
    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)