* [Caml-list] Suggestions for OcamlDoc & CamlP4
@ 2004-03-02 12:30 Correnson Loïc
2004-03-05 8:52 ` Maxence Guesdon
0 siblings, 1 reply; 2+ messages in thread
From: Correnson Loïc @ 2004-03-02 12:30 UTC (permalink / raw)
To: caml-list
Hye!
I have two little queries about these *beautiful* tools:
+ In ocamldoc, -stars option should also remove the starts at end of
comments, like in:
(**
* {1 Documentation}
* Blablabla...
**)
+In camlp4, location of terminals are lost inside rule's actions. Actually,
this is a draw back of the
token pattern-matching design, where the data returned from the lexer to
the parser is a string.
The solution which consists in encapsulating a terminal inside a specific
rule (for which the
location in known through [loc]) does work properly! This solution would
prevent
the parser from factorizing terminals inside rules, which drawn the
parsed language
down to LL(0), if not worse.
According to my point of view, a lexer should be able to define the result
of its matching function,
while preserving the design of matching a couple of strings. More
precisely:
type 'a Token.glexer should be replaced by ('a,'b) glexer, where the pattern
function could be :
tok_match : pattern -> 'a -> 'b
then, the GLexerType could have the following signature:
type te (* input token *)
type td (* token's data for parser *)
val lexer : (te,td) Token.glexer
Of course, these are only suggestions.
L.
-------------------
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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2004-03-05 8:52 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-03-02 12:30 [Caml-list] Suggestions for OcamlDoc & CamlP4 Correnson Loïc
2004-03-05 8:52 ` Maxence Guesdon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox