[
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: | Damien Doligez <Damien.Doligez@i...> |
| Subject: | Re: [Caml-list] ocamlyacc bug? |
On Tuesday, April 22, 2003, at 08:06 AM, SooHyoung Oh wrote: > Is the following an ocamlyacc bug? No. At worst, it is a misfeature that results in an unclear error message. > When making application with using ocamlyacc + ocamllex, > you can make main function in trailer part (after second "%%") of > "foo.mly" > It that case, it generates an error like this: > This expression has type Lexing.lexbuf -> Eg_parse.token > but is here used with type Lexing.lexbuf -> token The problem in your source, is that you add your main function at the end of the parser. But this function uses the lexer, so you make Eg_parse depend on Eg_lex. But the design of ocamllex/ocamlyacc is that the parser is declaring the type of tokens, and the lexer opens the parser module to use this declaration, so it is Eg_lex that depends on Eg_parse. By adding your main function at the end of eg_parse.ml, you make a circular dependency between eg_parse and eg_lex. You should add your main function at the end of eg_lex instead. -- Damien ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners