Improve data dependencies handling
Created by: cargaji
JavaParser includes a symbol solver, which helps find the declaration (which includes typing). Coupled with the data-flow analysis, it should become a better generator for data dependencies than the current implementation, specially when the CFG becomes an ACFG and includes unconditional jumps or exceptions.
Resources to learn about data-flow analysis:
-
Course on compiler design from the ETHz. In
slides
there are a couple classes on data flow analysis. Code from the lab assignments of that course, implementing a visitor for an AST structure that computed the CFG and performed data flow analysis (HWB is the one that implemented it). - Another course from a different semester also has some slides that may be useful.
-
LPPL.zip (lenguajes de programación y procesadores de lenguajes), a course on compilers from the UPV. Not much is included on data-flow, but
Apuntes/t10*.pdf
includes a couple of pages (9-11) on it. Both sets of slides also include a passing mention (tema 10).
Edited by Carlos Galindo