Browse thread
menhir
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | skaller <skaller@u...> |
| Subject: | Re: [Caml-list] menhir |
On Tue, 2007-05-01 at 19:34 +0200, Francois Pottier wrote: > > So basically, menhir is saying "what happens if you hit > > end of stream here? What should be done?" and the answer > > is "it can't happen". > > What I am trying to say is, Menhir doesn't ask this question. It asks: > "what happens if I reach that state? should I request a lookahead token > from the lexer, or shouldn't I?" Perhaps I do not fully understand but: I do not use 'eof' (end-of-stream pseudo token). I get this for an unused token: "Warning: the token WHENCE is unused." and I should get the same for eof IMHO (but possibly suppressed message since it's not a user defined token). What i actually get is 145 end-of-stream conflicts .. but i get no conflicts on WHENCE. That is, instead of treating the token set precisely as the set of user tokens + eof, menhir is treating eof specially and not consistently with other tokens. There's no conflict: in every one of these states if 'eof' turns up its a syntax error, exactly the same as if WHENCE turns up. I'm not sure i fully understand the 'do we need lookahead' issue: I would have thought: you need a fetch if your action is shift, and not if it is a reduce. -- John Skaller <skaller at users dot sf dot net> Felix, successor to C++: http://felix.sf.net