|Recursive Descent Parsers and YACC firstname.lastname@example.org (1990-11-15)|
|Re: Recursive Descent Parsers and YACC email@example.com (1990-11-16)|
|Re: Recursive Descent Parsers and YACC firstname.lastname@example.org (1990-11-16)|
|Re: Recursive Descent Parsers and YACC Bruce.Hoult@actrix.co.nz (1990-11-18)|
|Re: Recursive Descent Parsers and YACC email@example.com (1990-11-20)|
|Re: Recursive Descent Parsers and YACC firstname.lastname@example.org (1990-11-17)|
|Re: Recursive Descent Parsers and YACC email@example.com (1990-11-17)|
|[7 later articles]|
|From:||firstname.lastname@example.org (Michael D Mellinger)|
|Keywords:||parse, yacc, design, question|
|Organization:||Penn State Computer Science|
|Date:||Thu, 15 Nov 90 22:43:37 GMT|
Can someone give me an estimate on how much faster parsing can be made by
writing a recursive-descent parser instead of using Yacc and Lex? Is there
enough of a difference to consider using a RDP in a commercial C compiler?
PC compilers seem to be very fast when compared to workstation compilers such
as GCC. Is optimization(or lack of) the crucial difference in PC and
workstation compilation speeds?
[It is my distinct impression that yacc parsers work fairly quickly.
Particularly on machines with slow procedure calls, they can be faster than
recursive descent. Lex is slow, but flex uses newer techniques so that it
is usually as fast as a hand-coded lexer. Unix compilers are slow because
they use a separate assembly pass and do more optimizations. If you use,
e.g., MS C with all of its optimization options it's no speed demon, either.
Return to the
Search the comp.compilers archives again.