Date: Mon, 3 Jun 1996 22:57:33 -0400
Reply-To: Phil Julian <julian@NANDO.NET>
Sender: "SAS(r) Discussion" <SAS-L@UGA.CC.UGA.EDU>
From: Phil Julian <julian@NANDO.NET>
Organization: Technocrat Software
Subject: Re: Wait a second, did someone say ...?
Yes, it's true if you make that P a Q!
> j.j@ix.netcom.com(Jay Jaffe) wrote in article
<4ob7v1$mq6@sjx-ixn3.ix.netcom.com>...
> Is it in fact true that SCL compiles to P-code or something similarly
> intermediate, to be interpreted by each host engine? That would make
> sense, but I'd like this corroborated or not. Thanks, - j
SAS actually has several compilers, all of them based upon compilers that
were developed just after P-code was introduced in the 80's. The same wiz
wrote them all, first for Portable Systems starting in version 5.18, which
carried over into version 6. And then he worked for the FSP people doing
their compilers for their languages. The other compilers at the time were
all cloned from the same source -- I haven't got the complete list, but
macro has one, graphics has one, FSP has one, and so on. I don't know if
they ever got a more unified compiler to reduce the multiplicity. But if
they ever migrate to C++, that would be one nice savings of space and code
maintenance.
Yao Chen also wrote the code optimizers. The codes are not P-codes, which
are single codes for generic operations. They first decode into quads
called Q-code. Those are interpreted into generic "machine" codes, like
the P-codes would have been. The Q-codes are easier to optimize. And
please forgive my simplification of this process -- I never took the
compiler courses in grad school at NCSU, like Yao did.
|