Release coccinelle-0.1
[bpt/coccinelle.git] / parsing_c / type_annoter_c.mli
1
2 type namedef =
3 | VarOrFunc of string * Ast_c.exp_type
4 | TypeDef of string * Ast_c.fullType
5 | StructUnionNameDef of
6 string * (Ast_c.structUnion * Ast_c.structType) Ast_c.wrap
7
8 type environment = namedef list list (* cos have nested scope, so nested list*)
9
10 val initial_env : environment
11
12 (* In fact do via side effects. Fill in the type information that was put
13 * to None during parsing
14 *)
15 val annotate_program :
16 environment -> bool (*true if types needed*) -> Ast_c.toplevel list ->
17 (Ast_c.toplevel * environment Common.pair) list