Related articles |
---|
[2 earlier articles] |
Re: Lookahead vs. Scanner Feedback bliss@sp64.csrd.uiuc.edu (1992-01-07) |
Re: Lookahead vs. Scanner Feedback sef@kithrup.COM (1992-01-07) |
Re: Lookahead vs. Scanner Feedback Jan.Rekers@cwi.nl (1992-01-07) |
Re: Lookahead vs. Scanner Feedback burley@geech.gnu.ai.mit.edu (1992-01-07) |
Re: Lookahead vs. Scanner Feedback drw@lagrange.mit.edu (1992-01-07) |
Re: Lookahead vs. Scanner Feedback smk@dcs.edinburgh.ac.uk (1992-01-07) |
Re: Lookahead vs. Scanner Feedback bill@twwells.com (1992-01-08) |
Re: Lookahead vs. Scanner Feedback bliss@sp64.csrd.uiuc.edu (1992-01-08) |
Re: Lookahead vs. Scanner Feedback nigelh@sol.UVic.CA (1992-01-08) |
Re: Lookahead vs. Scanner Feedback dww@inf.fu-berlin.de (1992-01-08) |
Re: Lookahead vs. Scanner Feedback jwoods@convex.com (1992-01-09) |
Re: Lookahead vs. Scanner Feedback jwoods@convex.com (1992-01-10) |
Re: Lookahead vs. Scanner Feedback bliss@sp64.csrd.uiuc.edu (1992-01-13) |
[1 later articles] |
Newsgroups: | comp.compilers |
From: | bill@twwells.com (T. William Wells) |
Keywords: | yacc, parse |
Organization: | None, Mt. Laurel, NJ |
References: | 92-01-012 92-01-022 |
Date: | Wed, 8 Jan 1992 02:59:43 GMT |
In article 92-01-022 bliss@sp64.csrd.uiuc.edu (Brian Bliss) writes:
: One place where every yacc/lex based C compiler I know of is
: broken is on a typedef name redefined in an inner scope:
:
: typedef int foo;
: main ()
: {
: char foo;
: }
:
: is legal ANSI C. I think there was a thread on this a while back.
It works fine with my yacc/lex based parser. The trick is that when you
see the char, you have to make sure that the lexer is told of the change
of state soon enough. But thanks for noting the potential problem; I'll
add it to my list of test cases.
In answer to the original question: you don't know if the parser will or
will not get a lookahead. That depends on the parser implementation. For
yacc and bison, you can study the -v output to find out.
In general, for an LR parser, you can tell if the parser MUST get a
lookahead by examining the action table: if all the non error entries are
identical, you don't need a lookahead token; otherwise, you do.
---
Bill { uunet | decwrl | telesci }!twwells!bill
bill@twwells.com
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.