|User friendly compiler-compiler tools email@example.com (1995-09-18)|
|Re: User friendly compiler-compiler tools firstname.lastname@example.org (1995-10-02)|
|User friendly compiler-compiler tools email@example.com.OZ.AU (1995-10-14)|
|Re: User friendly compiler-compiler tools firstname.lastname@example.org.OZ.AU (Fergus Henderson) (1995-11-09)|
|From:||email@example.com (Frans F.J. Faase)|
|Keywords:||tools, question, comment|
|Organization:||University of Twente, Dept. of Computer Science|
|Date:||Mon, 18 Sep 1995 11:04:45 GMT|
Many of the tools for constructing compilers (like yacc and such) are
focussing on the problem of generating fast parsers and scanners. I
do not believe that this is a big problem nowadays any more (please
do not flame me, or start a thread on this subject).
Are there also compiler construction tools that focus on
user-friendliness? For example I would like to write:
expr := "(" expr ")"
| expr "*" expr PRIO 1 L
| expr "/" expr PRIO 1 L
| expr "+" expr PRIO 2 L
| expr "&&" expr PRIO 3 R
Such that "(a && b) * c / d + e && f && g" is read as:
((((a && b) * c) / d) + e) && (f && g)
These tools should also have a intuitive way for making Abstract
Syntax Trees and the handling of identifier definition and usages.
Possibly, type checking should also be included.
Any ideas or suggestions? I feel that tools like yacc and lex are not
anymore acceptable in this age of user-friendlyness. I also think
that there is no reason why a parser should not be allowed to
back-track once in a while.
Frans J. Faase
Vakgroep Informatiesystemen Tel : +31-53-894232
Faculteit der Informatica secr. : +31-53-893690
Universiteit Twente Fax : +31-53-339605
Postbus 217, 7500 AE Enschede, The Netherlands Email : firstname.lastname@example.org
--------------- http://www.cs.utwente.nl/~faase/ ---------------------
[There are a lot newer tools than lex and yacc available that do more for
yo, allow backtracking, etc. Although I do note that your proposed syntax is
almost exactly that of yacc. -John]
Return to the
Search the comp.compilers archives again.