Browse thread
compiling camlp4 dynamic_functor_example.ml
-
Jeff Henrikson
-
Nicolas Pouillard
-
Jeff Henrikson
- Nicolas Pouillard
-
Jeff Henrikson
-
Nicolas Pouillard
[
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: | 2007-04-15 (09:00) |
From: | Nicolas Pouillard <nicolas.pouillard@g...> |
Subject: | Re: [Caml-list] compiling camlp4 dynamic_functor_example.ml |
On 4/15/07, Jeff Henrikson <jehenrik@yahoo.com> wrote: > Sorry, there still seems to be an issue with the > dynamic_functor_example.ml. The version I got to compile still had a > bit of functionality removed. Ok, sorry it's now really updated. Since the token type can be changed the Camlp4.Sig.Syntax don't rely directly on it. That's why I have switched to Campl4.Sig.Camlp4Syntax (and Register.OCamlSyntaxExtension) in the example. > > > Yes just open Camlp4.Sig to see the token type now. > > Really? This seems to generate a type of conflict with the Syntax.Gram > when LIDENT is used in an EXTEND. > > dynamic_functor_example5 is the text on your page verbatim. > > ~/src/camlp4-beta jehenrik$ ocamlc -I +camlp4 -pp camlp4orf -c > dynamic_functor_example5.ml > File "dynamic_functor_example5.ml", line 18, characters 20-30: > This expression has type (Camlp4.Sig.camlp4_token -> bool) * string > but is here used with type > Gram.token_pattern = (Gram.Token.t -> bool) * string > Type Camlp4.Sig.camlp4_token is not compatible with type > Gram.Token.t = Syntax.Token.t > > Regards, > > > Jeff Henrikson > > > > > > Nicolas Pouillard wrote: > > Hello, > > > > On 4/8/07, Jeff Henrikson <jehenrik@yahoo.com> wrote: > >> The "dynamic_functor_example.ml" from the documentation appears to not > >> compile anymore with the latest camlp4 release. Here's my attempt to > >> make it work. > > > > Thanks. > > > >> from http://gallium.inria.fr/~pouillar/camlp4-changes.html > > > > I've updated it! > > > > [...] > > > >> The first thing I am reasonably sure needs changing is Sig.Syntax.S > >> doesn't seem to exist anymore, and judging by the signature of the > >> Register.SyntaxExtension functor, we want a Sig.SyntaxExtension. If we > >> make the parameter Syntax a Sig.Syntax then Make becomes a functor with > >> signature Sig.SyntaxExtension. > > > > Right. > > > >> The next thing I figured out by looking at the translated > >> json_static.ml, which is that > >> > >> GLOBAL: foo > >> > >> needs to be > >> > >> GLOBAL: foo; > > > > It always had to be like that (even in the previous web page, strange...) > > > >> To avert a syntax error. > >> > >> Likewise, the DELETE_RULE seems to upset the lexer with syntax errors: > > > > Yes, the DELETE_RULE example was br0ken. > > > > [...] > > > >> And yet there is still a symbol not found: > >> > >> ~/src/camlp4-beta jehenrik$ ocamlc -I +camlp4 -I +camlp4/Camlp4Parsers > >> -pp camlp4orf camlp4.cma -c dynamic_functor_example3.ml > >> File "dynamic_functor_example3.ml", line 14, characters 2-29: > >> Unbound module Camlp4.Sig.Camlp4Token > >> > >> Which is an unbound because in the current version Camlp4, > >> Camlp4.Sig.Camlp4Token is a module type, not a module. I have no idea > >> what is intended here. > > > > Yes just open Camlp4.Sig to see the token type now. > > > >> BTW, my compilation string is: > >> > >> ocamlc -I +camlp4 -I +camlp4/Camlp4Parsers -pp camlp4orf camlp4.cma -c > >> dynamic_functor_example3.ml > > > > -I +camlp4/Camlp4Parsers is useless since one doesn't use any > > Camlp4*Parser module. > > > > camlp4.cma no longer exists it's camlp4lib.cma but here it's also > > useless since one doesn't link (-c) > > > > ocamlc -I +camlp4 -pp camlp4orf -c dynamic_functor_example3.ml > > > >> So that's the best I can do. Please help. The application I want to > >> write is not feasible in the old camlp4, but I suspect may be possible > >> in the new. Thanks for all the effort getting the system to the next > >> level. > > > > Thanks for your porting efforts! > > > > -- Nicolas Pouillard aka Ertai <ertai@feydakins.org> http://uttk.org Uttk -- Unified Test Tool Kit