--- layout: fc_discuss_archives title: Message 23 from Frama-C-discuss on June 2010 ---
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Frama-c-discuss] parsing code with arrays



Hello,

youssef hassoun a ?crit :
> In trying to parse a program involving array variables with:
>   let f = fst (Frontc.parse <code file with array variables>) in
>    .....
> 
> I get the following error message:
> 
> Fatal error: exception Qstack.Make(D).Empty
> 
> No such error occur when parsing code with NO arrays. It seems as if 
> some initialisations are necessary before the Frama-c Cil-parser is in
> a position to parse code with arrays. It this true?

That's true.

1) Do never call the Frama-C parser yourself. Just call Ast.get (more 
generally, one of the functions of the module Ast).

2) You don't give the whole context of your plug-in, but this exception 
is usually raised when your code is executed too early. See Frama-C 
Plug-in Development Guide, Section 4.13 "Initialization Steps". Quoting:
"As a general rule, plug-in routines must never be executed at link 
time. Any useful code, be it for registration, configuration or C-code 
analysis, should be registered as function hooks to be executed at a 
proper time during the Frama-C boot process.

Regards,
Julien Signoles