aboutsummaryrefslogtreecommitdiff
path: root/module/c/cpp-environment/function-like-macro.scm
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2022-07-03 12:36:35 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2022-07-07 21:31:32 +0200
commitcba504b509cd59f376063f6e590362b197147a2c (patch)
tree954e90b0053ab4c0247ef242607654c862d02e48 /module/c/cpp-environment/function-like-macro.scm
parentMerge branch 'new-object-system' into c-parser (diff)
downloadcalp-cba504b509cd59f376063f6e590362b197147a2c.tar.gz
calp-cba504b509cd59f376063f6e590362b197147a2c.tar.xz
Major work.
Diffstat (limited to 'module/c/cpp-environment/function-like-macro.scm')
-rw-r--r--module/c/cpp-environment/function-like-macro.scm17
1 files changed, 17 insertions, 0 deletions
diff --git a/module/c/cpp-environment/function-like-macro.scm b/module/c/cpp-environment/function-like-macro.scm
new file mode 100644
index 00000000..0a0611e3
--- /dev/null
+++ b/module/c/cpp-environment/function-like-macro.scm
@@ -0,0 +1,17 @@
+(define-module (c cpp-environment function-like-macro)
+ :use-module (hnh util object)
+ :export (function-like-macro
+ function-like-macro?
+ identifier
+ identifier-list
+ body
+ variadic?))
+
+(define-type (function-like-macro)
+ (identifier type: string?)
+ (identifier-list type: (list-of string?))
+ ;; TODO import these
+ (body type: list? ; (list-of (or whitespace-token? preprocessing-token?))
+ )
+ (variadic? type: boolean?
+ default: #f))