From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 2002:ac8:6655:: with SMTP id j21mr11154504qtp.384.1589878213381; Tue, 19 May 2020 01:50:13 -0700 (PDT) X-Received: by 2002:a05:6830:309a:: with SMTP id f26mr7032502ots.76.1589878213078; Tue, 19 May 2020 01:50:13 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!feeder1.feed.usenet.farm!feed.usenet.farm!tr1.eu1.usenetexpress.com!feeder.usenetexpress.com!tr1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Tue, 19 May 2020 01:50:12 -0700 (PDT) Complaints-To: groups-abuse@google.com Injection-Info: google-groups.googlegroups.com; posting-host=2a02:1206:4544:3750:b196:126d:2898:797; posting-account=gRqrnQkAAAAC_02ynnhqGk1VRQlve6ZG NNTP-Posting-Host: 2a02:1206:4544:3750:b196:126d:2898:797 User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <4aa85a46-b818-4b04-8b2c-56dc833e18ff@googlegroups.com> Subject: Ann: HAC v.0.06 - Text File I/O From: gautier_niouzes@hotmail.com Injection-Date: Tue, 19 May 2020 08:50:13 +0000 Content-Type: text/plain; charset="UTF-8" Xref: reader01.eternal-september.org comp.lang.ada:58741 Date: 2020-05-19T01:50:12-07:00 List-Id: 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;