STEP compiler generator

gah4 <gah4@u.washington.edu>
Tue, 14 Jun 2022 00:00:35 -0700 (PDT)

          From comp.compilers

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)
| List of all articles for this month |

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.)


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.