Related articles |
---|
STEP compiler generator gah4@u.washington.edu (gah4) (2022-06-14) |
Re: STEP compiler generator gah4@u.washington.edu (gah4) (2022-06-17) |
Re: STEP compiler generator christopher.f.clark@compiler-resources.com (Christopher F Clark) (2022-06-22) |
Re: STEP compiler generator gah4@u.washington.edu (gah4) (2022-06-21) |
Re: STEP compiler generator gah4@u.washington.edu (gah4) (2022-06-21) |
From: | gah4 <gah4@u.washington.edu> |
Newsgroups: | comp.compilers |
Date: | Tue, 14 Jun 2022 00:00:35 -0700 (PDT) |
Organization: | Compilers Central |
Injection-Info: | gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="53016"; mail-complaints-to="abuse@iecc.com" |
Keywords: | tools, history |
Posted-Date: | 14 Jun 2022 06:27:48 EDT |
The program called STEP, that I worked on as part of a
summer undergraduate project is described here:
http://www.bitsavers.org/pdf/stanford/slac/The_STEP_Processor.pdf
According to its manual, it is a:
"Recursive descent compiler generator",
and so possibly an answer to the previous question about compiler
generators.
In one program it has a parser generator, interpreter for the
generated parser, replacement procedure (what Bison calls action)
compiler, and interpreter for compiled replacement procedures.
STEP originated from the same group that did Mortran, and might be
considered the next generation. It is designed as a macro processor
that can fully parse its arguments.
It can be used as a more ordinary macro processor, though with error
checking on arguments, but to use it as a compiler generator, you
write one macro with the whole input program as its argument. It is
then parsed, while generating the appropriate output.
As usual for compilers (and macro processors) it is written using
itself, to allow for a language that is a structured, and otherwise
improved language based on Fortran 66. It is well designed for writing
source to source compilers, as source language translators. Less well
designed for generating assembly code or machine code.
It took a little while to get it running again, as the version I
started with had some bugs that the version I had so many years ago
did not have. (Partly because I wanted it to run with subscript checks
on.)
Return to the
comp.compilers page.
Search the
comp.compilers archives again.