On Mon, 2021-06-21 at 20:49 -0700, Daniel Moniz via cctalk wrote: > On Mon, Jun 21, 2021, at 12:05 AM, Van Snyder via cctalk wrote: > [snip] > > denizen of the Fortran committees) is a LALR parser generator. I > > usethe generator written by Al Shannon when he was Charlie > > Wetherell'sstudent, now updated, which implements David Pager's > > algorithm thatgenerates a parser that is LR where necessary and > > LALR or SLR or LR(0)where possible. > > Out of curiosity, which parser generator is this?; i.e., the one you > use written by Al Shannon, and since updated? I went digging in my > files and online, though only cursorily, and found Hyacc < > http://hyacc.sourceforge.net/> by Xin Chen, which I hadn't previously > known about, but was wondering if you were referring to it, or > something else, maybe the original implementation of LR in Fortran > 66, e.g. < > https://doi.ieeecomputersociety.org/10.1109/TSE.1981.230837>;?
It's that IEEECS program, Al Shannon's LR program, which I substantially revised, keeping Al's original structure but using more modern Fortran idioms. I also added a front-end, for which the parser was generated by itself, that makes it easier to use. It is also easier to integrate with the remainder of the program. The parser procedure that interprets the table generated by the generator creates an abstract syntax tree, for which I set up an easier way to integrate that with the grammar. I've used it for half a dozen projects during the last forty years. I also provided it to the students in my compiler classes for fourteen years. I'm happy to send it to anybody who wants it.