Re: A Non-LALR(1) Parser Generator

Peter.Breuer@prg.oxford.ac.uk
Wed, 5 Aug 1992 11:40:25 GMT

          From comp.compilers

Related articles
A Non-LALR(1) Parser Generator dan%npt1@uunet.UU.NET (1992-08-03)
Re: A Non-LALR(1) Parser Generator Peter.Breuer@prg.oxford.ac.uk (1992-08-05)
Re: A Non-LALR(1) Parser Generator bromage@mullauna.cs.mu.oz.au (1992-08-17)
Re: A Non-LALR(1) Parser Generator ejy@hrmsc.att.com (1992-08-18)
Re: A Non-LALR(1) Parser Generator pakstas@idt.unit.no (1992-08-17)
Re: A Non-LALR(1) Parser Generator bromage@mullauna.cs.mu.OZ.AU (1992-08-20)
Re: A Non-LALR(1) Parser Generator steveh@psg.com (1992-08-22)
Re: A Non-LALR(1) Parser Generator fm04@rummelplatz.uni-mannheim.de (1992-08-25)
| List of all articles for this month |

Newsgroups: comp.compilers
From: Peter.Breuer@prg.oxford.ac.uk
Organization: Compilers Central
Date: Wed, 5 Aug 1992 11:40:25 GMT
Keywords: parse, yacc

| Do you know of any parser generators that will generate parsers for
| languages that are not LALR(1)? Specifically, I want to generate a pars
| for a language called CMS-2.


There is my compiler-compiler, pre-cc (A PREttier Compiler Compiler).
Although I promised the beta release for the beginning of July, in fact
the release will be about 7th Aug, due to factors some of which are
completely beyond my control (like the provision of an ftp upload area,
and the holidays). Apologies to the beta testers - but I bet they're all
on holiday anyway. Wish I were.


Pre-cc is LA(\infty), and takes parameters to the clauses of the grammar
definitions (context dependent parsing), and these may be grammars
themselves (higher order ...). It writes portable ANSI C and has been up
and running on unix systems for about three years, and on DOS for about
one year - same code. There are several other advantages too: the grammar
scripts and the generated code can be divided up into modules pretty much
which way you please, and compiled, linked, etc. separately.


Enough adverts. Pre-cc has been used to generate a parser for occam 2, and
a parser for COBOL~74, and various other little things, some not so
little. The code seems to run several times faster than yacc/lex stuff on
any system, but comparisons aren't really fair, and I would say that
anyway. If you're desperate enough, contact me and we'll see if it can be
any use to you. You have my sympathy - I wrote pre-cc because I got fed up
trying to make LALR(1) parsers parse non-LALR(1) languages.


Peter
-------------------------------------------------
  Peter T. Breuer
  Programming Research Group
  Oxford University Computing Laboratory
  11, Keble Road, Oxford OX1 3QD, UK.
  tel: +44 (0)865 272561
--


Post a followup to this message

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