Version française
Home     About     Download     Resources     Contact us    
Browse thread
Re : [Caml-list] Porting camlp4 stuff from 3.09 to 3.10: need help
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Nicolas Pouillard <nicolas.pouillard@g...>
Subject: Re: Re : [Caml-list] Porting camlp4 stuff from 3.09 to 3.10: need help
Excerpts from Matthieu Wipliez's message of Wed Apr 09 15:07:18 +0200 2008:
> > 
> > AFAIK the list of predefined quotations is the same as for 3.09, but
> > maybe this page will help:
> > 
> >   http://brion.inria.fr/gallium/index.php/Abstract_Syntax_Tree
> 
> This seems unlikely:
>   http://camltest.inria.fr/pub/old_caml_site/camlp4/manual/manual010.html#toc39
>   http://brion.inria.fr/gallium/index.php/Abstract_Syntax_Tree
> 
> the following quotation was available in camlp4 3.09, but not in the 3.10 version:
>   <:str_item< declare $list:stl$ end >>: declare.
> 
> > 
> > > The mentioned line 78 is:
> > > 
> > >   <:str_item< declare end >>
> > > 
> > > It looks like the "declare end" construct is not allowed any more. Is
> > > there any equivalent in 3.10, and is there a specific bit of
> > > documentation about this?
> 
> Maybe it was removed because it was kind of redundant with other constructions, for example:
>   module Declarations = struct ... end
>   open Declarations
> 
> I'd suggest you either use a module as I did above to emulate the "declare" behavior, or that you declare everything at the top level (have a look at str_items in the Camlp4OCamlRevisedParser if you need inspiration).

There  is  no longer a <:str_item< declare ... end >> construct, you can build
str_item  sequences  using  the  empty str_item <:str_item<>> and the sequence
<:str_item< $st1$; $st2$ >>.

<:str_item<  $list:sts$  >>  should  even  do  the job when having a list, but
that's   just   a   sugar   over   folding   with   these   two  constructions
(Ast.stSem_of_list).

Cheers,

-- 
Nicolas Pouillard aka Ertai