Re: Which YACC tool do you recommend?

Vladimir Makarov <vmakarov@cygnus.com>
19 Jan 2000 01:16:00 -0500

          From comp.compilers

Related articles
Which YACC tool do you recommend? genshirt@my-deja.com (2000-01-15)
Re: Which YACC tool do you recommend? vmakarov@cygnus.com (Vladimir Makarov) (2000-01-19)
| List of all articles for this month |
From: Vladimir Makarov <vmakarov@cygnus.com>
Newsgroups: comp.compilers
Date: 19 Jan 2000 01:16:00 -0500
Organization: Cygnus Solutions
References: 00-01-054
Keywords: yacc

genshirt@my-deja.com wrote:
>
> Can anybody recommend a yacc tool?
>


You could try MSTA from COCOM toolset. You can find it on


http://www.linuxstart.com/~vladimir_makarov/download.html


http://www.freespeech.org/vmakarov/download.html


MSTA implements POSIX YACC + many extensions.


> I am currently using a 5 year old version of MKS yacc. So far, I am
> quite satified, however there are some restrictions:
> - 16 bit, using extended memory
> - it does not support long file names
>
> Requirements:
> LALR(1)
MSTA supports LALR(k)- and LR(k)-grammars (k>0). Moreover it generates
only code which makes minimal lookahead for resolving each conflict.


> running under NT
It works on the most of Unixes and WIN32. There is installshield
version of distribution and also sources which can be compiled by
Microsoft VC++ version 6.0 or CYGWIN.


> c++
It generates C and C++ code.


> long file names
It supports this for WIN32.


> definition of parser stack types (%type instruction)
> good support of error recovery and error reporting
There is standard YACC error recovery and improved one.


> multiple actions per production
> selection preference for resolving conflicts
You can use YACC %prec constructions and special constructions which
constrain lookahead when you generate a LALR(k) or LR(k) parser for k >
1.


> support for debugging and for detecting+correcting shift / reduce
> conflicts
It can output all LR-situations of LR-set and LR-situations with context
for better debugging.


Post a followup to this message

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