* [Caml-list] Looking for parser + ast generator in OCAML @ 2002-02-18 19:55 Lakshminarayanan R 2002-02-18 20:49 ` Alain Frisch 0 siblings, 1 reply; 3+ messages in thread From: Lakshminarayanan R @ 2002-02-18 19:55 UTC (permalink / raw) To: caml-list Hi, I am new to this list and I am currently learning OCAML to implement a compiler for a small (functional) language called Alpha. I am wondering what would be the fastest and robust way to implement a parser in ocaml for our language. I am looking for parser generators (I found ocamlyacc, are there any others?). I am also looking for tools that can automatically generate data structures to hold the Abstract Syntax Tree and also tools that can generate functions that can be used to traverse this AST. Basically I want tools that can take a grammar spec. and generate a parser, ast, and tree traversal functions, automatically. I would highly appreciate any pointers to related tools. A more general question: Is there some kind of Compiler Development Kit (or set of tools) in Ocaml? Thanks in advance, Ln ------------------- 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] 3+ messages in thread
* Re: [Caml-list] Looking for parser + ast generator in OCAML 2002-02-18 19:55 [Caml-list] Looking for parser + ast generator in OCAML Lakshminarayanan R @ 2002-02-18 20:49 ` Alain Frisch 2002-02-18 21:40 ` Remi VANICAT 0 siblings, 1 reply; 3+ messages in thread From: Alain Frisch @ 2002-02-18 20:49 UTC (permalink / raw) To: Lakshminarayanan R; +Cc: caml-list On Mon, 18 Feb 2002, Lakshminarayanan R wrote: > I am wondering what would be the fastest and robust way to > implement a parser in ocaml for our language. I am looking > for parser generators (I found ocamlyacc, are there any > others?). Camlp4 (http://caml.inria.fr/camlp4) is another option for parsing. I rewrote the ocamlyacc parser for my CDuce language in camlp4; this gave better parsing error messages. The drawback is that camlp4 does not signal "conflicts" in the parser, but its parsing technology is simple enough to detect conflicts by hand (globally, I feel more confident in the new parser; I can predict easily what I break when I add or modify a rule). Camlp4 parsers are also probably somewhat slowest, but who cares ? I feel Camp4 parsers esthetically superior: you don't have to count the tokens to produce (and read) the correct $1, $2, $3; precedence levels appear clearly; etc ... > I am also looking for tools that can automatically > generate data structures to hold the Abstract Syntax Tree > and also tools that can generate functions that can be used > to traverse this AST. Basically I want tools that can take a > grammar spec. and generate a parser, ast, and tree traversal > functions, automatically. I second that, altough I do not see clearly what the tool should be. Basically, I would like to give the same abstract syntax as in papers, that is without parentheses, with overloading of symbols between several syntactical categories, etc ... and let the tool inform me, maybe interactively, when ambiguities have to be resolved, by showing "typical" ambiguous case and suggesting solutions (precedence, associativity, parentheses, ...). An automatically generated pretty-printer associated to the grammar would be great too. > I would highly appreciate any pointers to related tools. > > A more general question: Is there some kind of Compiler > Development Kit (or set of tools) in Ocaml? I'm not aware of such a thing, but there are many compilers written in OCaml with available source code (OCaml itself for instance). -- Alain ------------------- 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] 3+ messages in thread
* Re: [Caml-list] Looking for parser + ast generator in OCAML 2002-02-18 20:49 ` Alain Frisch @ 2002-02-18 21:40 ` Remi VANICAT 0 siblings, 0 replies; 3+ messages in thread From: Remi VANICAT @ 2002-02-18 21:40 UTC (permalink / raw) To: caml-list Alain Frisch <frisch@clipper.ens.fr> writes: > On Mon, 18 Feb 2002, Lakshminarayanan R wrote: > > I am also looking for tools that can automatically > > generate data structures to hold the Abstract Syntax Tree > > and also tools that can generate functions that can be used > > to traverse this AST. Basically I want tools that can take a > > grammar spec. and generate a parser, ast, and tree traversal > > functions, automatically. > > I second that, altough I do not see clearly what the tool should be. > Basically, I would like to give the same abstract syntax as in papers, > that is without parentheses, with overloading of symbols between several > syntactical categories, etc ... and let the tool inform me, maybe > interactively, when ambiguities have to be resolved, by showing "typical" > ambiguous case and suggesting solutions (precedence, associativity, > parentheses, ...). An automatically generated pretty-printer associated to > the grammar would be great too. > IoXML can be a good start point for things like that, it work the other way around (from type to parser and pretty_printer). It use XML but one can hope that it can be adapt to something else. > > I would highly appreciate any pointers to related tools. > > > > A more general question: Is there some kind of Compiler > > Development Kit (or set of tools) in Ocaml? > > I'm not aware of such a thing, but there are many compilers written in > OCaml with available source code (OCaml itself for instance). > I've just read something about why ocaml is good for writing compilers: http://rum.cs.yale.edu/cs421/case-for-ml.html It can be of some interest here. -- Rémi Vanicat vanicat@labri.u-bordeaux.fr http://dept-info.labri.u-bordeaux.fr/~vanicat ------------------- 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] 3+ messages in thread
end of thread, other threads:[~2002-02-18 21:40 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2002-02-18 19:55 [Caml-list] Looking for parser + ast generator in OCAML Lakshminarayanan R 2002-02-18 20:49 ` Alain Frisch 2002-02-18 21:40 ` Remi VANICAT
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox