summaryrefslogtreecommitdiff
path: root/tiger-compiler/src/callgraph/libcallgraph.cc
diff options
context:
space:
mode:
authorMartial Simon <msimon_fr@hotmail.com>2025-09-15 01:07:58 +0200
committerMartial Simon <msimon_fr@hotmail.com>2025-09-15 01:07:58 +0200
commit967be9e750221ab2ab783f95df79bb26d290a45e (patch)
tree6802900a5e975f9f68b169f0f503f040056d6952 /tiger-compiler/src/callgraph/libcallgraph.cc
add: added projectsHEADmain
Diffstat (limited to 'tiger-compiler/src/callgraph/libcallgraph.cc')
-rw-r--r--tiger-compiler/src/callgraph/libcallgraph.cc36
1 files changed, 36 insertions, 0 deletions
diff --git a/tiger-compiler/src/callgraph/libcallgraph.cc b/tiger-compiler/src/callgraph/libcallgraph.cc
new file mode 100644
index 0000000..be23b16
--- /dev/null
+++ b/tiger-compiler/src/callgraph/libcallgraph.cc
@@ -0,0 +1,36 @@
+/**
+ ** \file callgraph/libcallgraph.cc
+ ** \brief Define exported callgraph functions.
+ */
+
+#include <callgraph/call-graph-visitor.hh>
+#include <callgraph/libcallgraph.hh>
+#include <callgraph/parent-graph-visitor.hh>
+
+#include <misc/contract.hh>
+#include <misc/set.hh>
+
+namespace callgraph
+{
+
+ // Build the callgraph.
+ const CallGraph* callgraph_compute(const ast::Ast& tree)
+ {
+ CallGraphVisitor callgraph_visitor;
+ return callgraph_visitor.create(tree);
+ }
+
+ CallGraph* callgraph_compute(ast::Ast& tree)
+ {
+ CallGraphVisitor callgraph_visitor;
+ return callgraph_visitor.create(tree);
+ }
+
+ // Build the parentgraph.
+ ParentGraph* parentgraph_compute(ast::Ast& tree)
+ {
+ ParentGraphVisitor parentgraph_visitor;
+ return parentgraph_visitor.create(tree);
+ }
+
+} // namespace callgraph