Path: utzoo!attcan!uunet!ns-mx!iowasp.physics.uiowa.edu!maverick.ksu.ksu.edu!zaphod.mps.ohio-state.edu!sdd.hp.com!elroy.jpl.nasa.gov!jato!kalessin!sam From: sam@kalessin.Jpl.nasa.gov (Sam Sirlin) Newsgroups: comp.lang.apl Subject: Message-ID: <1990Oct16.174403.16847@jato.jpl.nasa.gov> Date: 16 Oct 90 22:15:07 GMT References: <9014@latcs1.oz.au> Sender: news@jato.jpl.nasa.gov Organization: Jet Propulsion Laboratory Lines: 96 Nntp-Posting-Host: kalessin.jpl.nasa.gov GMT Message-ID: <1990Oct16.101507@kalessin.Jpl.Nasa.gov> Reply-To: sam@kalessin.Jpl.Nasa.gov (Sam Sirlin) Organization: Jet Propulsion Laboratory Subject: Re: Budd compiler fails Keywords: Here's the state of my knowledge of aplc. I got it mostly running, and will sporadically work on it to fix problems. I know of one other person doing work on it currently, but the more the merrier! I'm willing to send out copies of my version of the code to those who want it, but note that it's quite buggy, and not guaranteed to be of any use at all. aplc status, sws 10/90 bug fixes to aplc: 1. missing semicolon fixed in ptree.c (not sure exactly where) 2. check for null string name in looksym in psym.c struct symnode *table; { /* sws...*/ if (name=='\0') { return(0); } /* sws...*/ 3. change loop checking in pass.c for (i = 1; i < argc; i++) current state: SUN (sparc, 4.0.3) produces code, but the code fails for ulam with argument >6 bus error, in valloc, runmem.c -- sun compiler error? MIPS the code runs fine so far Changes to allow distribution to non-Unix machines (bbs\apl) - don't think anyone has a working version yet. mv lex.yy.c lex_yy.c mv y.tab.c y_tab.c mv y.tab.h y_tab.h (Makefile) Current program bugs in aplc that I know of: looping: A bug in reduce for scalars causes the idom: .go (cond)/label to not work. Note that both the following seem to work: .go (cond,0)/label,0 .go label # .io cond format: simple printing not very sophisticated (arrays of numbers) direct output (a name or value on a line by itself) works only inside functions. .fm doesn't seem to work, dyadically or monadically .qq: doesn't seem to work, dyadically or monadically .bx: (the only working output function) doesn't allow apl expresions (can't build an interpreter) .bx_ n seems to work can't do m_ .bx _ n (intermediate output) Tricky problems (features?) Integers and reals can be distinct. For example an integer factorial program will top out and return 0. Starting with 1.0 fixes this. These issues make recursion tricky. -- Sam Sirlin Jet Propulsion Laboratory sam@kalessin.jpl.nasa.gov