Currently, the single-file commands (Litmusify and Explain) require the user to feed in the list of C heap symbols to track manually through the -track argument.
Ideally, when these commands encounter .c files, they should parse the C file, extract all of the global variables, and treat them as heap symbols.
This'll need us to be able to parse .c. There are some C parsers floating around on OCaml, but I'm not sure if any meet our needs (FrontC, for instance, is LGPL; Herd's C parser might work, but would need a lot of swizzling to work well with act).
Currently, the single-file commands (
Litmusify
andExplain
) require the user to feed in the list of C heap symbols to track manually through the-track
argument.Ideally, when these commands encounter
.c
files, they should parse the C file, extract all of the global variables, and treat them as heap symbols.This'll need us to be able to parse
.c
. There are some C parsers floating around on OCaml, but I'm not sure if any meet our needs (FrontC, for instance, is LGPL; Herd's C parser might work, but would need a lot of swizzling to work well withact
).