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 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,a4d219b87cdeba25 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news4.google.com!news.glorb.com!newsfeeds.ihug.co.nz!lust.ihug.co.nz!ihug.co.nz!not-for-mail From: Craig Carey Newsgroups: comp.lang.ada Subject: Re: Ada script, anyone Date: Sun, 18 Dec 2005 07:36:57 +1300 Organization: Ihug Ltd Message-ID: <2bl8q1t6i837fc1f8uqbb2le2qqq0hi78i@4ax.com> References: NNTP-Posting-Host: 203-109-243-188.bliink.ihug.co.nz Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: lust.ihug.co.nz 1134844605 16698 203.109.243.188 (17 Dec 2005 18:36:45 GMT) X-Complaints-To: abuse@ihug.co.nz NNTP-Posting-Date: Sat, 17 Dec 2005 18:36:45 +0000 (UTC) X-Newsreader: Forte Agent 2.0/32.652 Xref: g2news1.google.com comp.lang.ada:6909 Date: 2005-12-18T07:36:57+13:00 List-Id: On Fri, 16 Dec 2005 05:26:56 -0500, "Xcriber51" wrote: ... >This will probably be a (slightly?) absurd question, but is there an Ada >(script) interpreter? [...] Ken The Tope symbolic algebra replacement for REDUCE has a GUI front-end that can replace CMD.EXE. Also an Ada interpreter might have 2 parsers. An interpreter implementing something similar to Ada might implement recursion when procedures and packages are nested. It seems a bit too complex given the competition from real Ada and the very fast compilation speeds that can be observed. A sample executables accepting input in 6.txt (eg. "x := a+1;") http://tope.tigris.org/servlets/ProjectDocumentList 1.35MB 4 Dec 2005. (2 Ada Yacc parsers in series) Being developed by me is the Ada preprocessor, which allows this Ada code containing the "do" keyword: --------------------- if F then if X then goto X15; end; -- no need to write "end if;" spec I2 : Integer; do I2 := 99; elsif ... ... finally -- all cases that don't go into an "else" part iff F in 1 | 2 then A; elif F = 3 then B; end; -- : A "case" stmt ... end if; -- Similarly for loops. --------------------- C always offered a "do" keyword, which a macro can implement as "{ }". I got GNAT 3.15p Ada and MinGW 3.4.2 Ada to succesfully mix inside of one executable, ie. without SIGSEGVs. So C software that runs in Windows can be gradually ported over to GNAT 3.15p Ada (AdaCore's "gnat-3.15p-nt.exe", 18MB). -- Craig Carey, Auckland