Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
3.10.0+beta - "Not_found" from a custom camlp4 executable (Delete.delete_rule_in_suffix)
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2007-04-17 (19:28)
From: Nicolas Pouillard <nicolas.pouillard@g...>
Subject: Re: 3.10.0+beta: Corrected and improved Camlp4MacroParser
On 4/17/07, Aleksey Nogin <> wrote:
> As I wrote to the list earlier, I have noticed that the
> Camlp4MacroParser in 3.10.0+beta has an unfortunate problem - when
> processing an "IFDEF" (or "IFNDEF") directive, it will execute the
> "DEFINE"s in _both_ branches, regardless of whether the test is true or
> not (this was caused by the fact that the DEFINE directives would be
> executed eagerly at parse-time).
> Attached is a corrected and improved version of the Camlp4MacroParser:
> - Fixes the above problem; now the execution of the "DEFINE" directives
> inside IFDEF/IFNDEF is correct.

> - Adds support for "local" definitions
Cool, thanks.

I've merged your fix with the current status of Camlp4MacroParser
which now handles signature items and a more general -D<uident>=<expr>

I've applied it to the CVS (release310 branch) that is now available
from the public CVS repository.

Since some changes have been applied to camlp4 since OCaml-3.10+beta
release I suggest you to get the last version to do your porting work.

Best regard and many thanks,

Nicolas Pouillard