aboutsummaryrefslogtreecommitdiff
path: root/include/cps/AST.h
diff options
context:
space:
mode:
author_ov4 <ov4@ov4.org>2026-10-17 15:02:01 +0000
committer_ov4 <ov4@ov4.org>2026-10-17 15:02:01 +0000
commita29cb23c5517fd4f8f5524fdf38b67ff5fe4a902 (patch)
treea3bfa1a30a16c03f420cbe706fd42143d653064d /include/cps/AST.h
parent4a34e970fb224be7640883f6b0dfa602157759f4 (diff)
feat(parser): parse EXTERN "C" declarations and INCLUDE_OBJ
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'include/cps/AST.h')
-rw-r--r--include/cps/AST.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/cps/AST.h b/include/cps/AST.h
index 8c8c3be..2b78aaa 100644
--- a/include/cps/AST.h
+++ b/include/cps/AST.h
@@ -107,6 +107,14 @@ public:
const std::string &getPath() const { return Path; }
};
+// INCLUDE_OBJ "path" adds an object file (or the built-in "__libc") to the link.
+class IncludeObjStmtAST : public StmtAST {
+ std::string Path;
+public:
+ explicit IncludeObjStmtAST(std::string Path) : Path(std::move(Path)) {}
+ const std::string &getPath() const { return Path; }
+};
+
class GlobalBlockAST : public StmtAST {
std::vector<std::unique_ptr<StmtAST>> Body;
public: