--- layout: fc_discuss_archives title: Message 12 from Frama-C-discuss on August 2011 ---
On Wed, 2011-08-17 at 16:44 +0200, Anne Pacalet wrote: > Le 17/08/2011 16:29, Daniel Sheridan a ?crit : > > Is it possible to access this simplification step from a plugin, or do I > > need to write my own visitor-based implementation of it? > > Maybe you should have a look at the file [src/misc/filter.ml]. > It is used by both the [sparecode] and the [slicing] plug-ins > to filter out the unwanted parts. Maybe you can use the provided > functor directly, or at least get inspiration of how to use a [frama_c_visitor]. > In the second case, I think that the function [optim_if] > is what you are looking for. Thanks for the pointer. As I am using sparecode as one of the steps in my plugin, I would expect to get this for free. However, I see that optim_if is never called in such a way that it interprets constant 1 -- it only eliminates the if statement if there is no condition, which seems to occur if the if statement itself is set to non-visible. I see that I could use the functor to get the result that I want. But I wonder whether this would be a useful enhancement, either in filter.ml or in sparecode? Dan.