aboutsummaryrefslogtreecommitdiff
path: root/module/c/cpp-environment/function-like-macro.scm
blob: 26512439c2f4d9b9b501634888c71d87532e3da8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
(define-module (c cpp-environment function-like-macro)
  :use-module (hnh util object)
  :use-module (hnh util type)
  :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))