Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!decwrl!hplabs!hpda!hpcuhb!hp-ses!hpcea!hpnmdla!hpmwtd!benoitm From: benoitm@hpmwtd.HP.COM (Benoit Menendez) Newsgroups: comp.sys.hp Subject: Re: HP-28S program to manipulate programs Message-ID: <690002@hpmwbam.HP.COM> Date: 15 Feb 89 18:17:22 GMT References: <8902131556.AA26837@decwrl.dec.com> Organization: HP Microwave Tech. - Santa Rosa, Ca. Lines: 32 I suspected this, but I was under the impression that: (1) << -> i << << -> x << x i + >>>> >> >> was (more or less) equivalent to the algebraic form: (2) << -> i 'x+i' >> which expands the i in the quoted algebraic expression, This was troubling me. But I understand now that (1) does nothing more than placing the object on the stack while (2) does perform some sort of algebraic evaluation. It is interresting to think of the STR-> function as an entry point into the lexical analyzer of the calculator, this powerful function allows programs to manipulate programs as strings and convert the result back into programs before evaluation. This can be used to implement a meta-language and the associated compiler or interpreter. Benoit. Thanks a lot to all of you who responded to my posting. ---- Benoit Menendez ARPANET : benoitm%hpmwtd@hplabs.hp.com UUCP : ...hplabs!hpmwtd!benoitm