-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathwith-c-syntax.asd
60 lines (60 loc) · 3.07 KB
/
with-c-syntax.asd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
(defsystem #:with-c-syntax
:description "with-c-syntax is a fun package which introduces the C language syntax into Common Lisp."
:license "WTFPL"
:author "YOKOTA Yuki <y2q.actionman@gmail.com>"
:depends-on (#:alexandria #:yacc #:named-readtables
#:cl-ppcre #:trivial-gray-streams #:asdf
#:split-sequence
;; for libc implementation (TODO: split libc defsystem from core?)
#:float-features #:floating-point-contractions)
:serial t
:components ((:file "package")
(:module "src"
:serial nil
:components
((:file "package")
(:file "util" :depends-on ("package"))
(:file "condition" :depends-on ("package"))
(:file "physical-source" ; Translation Phase 1,2
:depends-on ("condition"))
(:file "case-aware-find-symbol" :depends-on ("condition"))
(:file "pp-number" :depends-on ("condition")) ; cl-ppcre is used only here.
(:file "reader" ; Translation Phase 3
:depends-on ("physical-source" "case-aware-find-symbol" "pp-number"))
(:file "struct" :depends-on ("package"))
(:file "typedef" :depends-on ("package"))
(:file "pseudo-pointer" :depends-on ("util" "condition"))
(:file "lexer" :depends-on ("util" "pp-number" "reader" "typedef"))
(:file "compiler" ; Translation Phase 7
:depends-on ("lexer" "struct" "typedef" "pseudo-pointer"))
(:file "preprocessor" ; Translation Phase 4,(5),6
:depends-on ("util" "condition" "pp-number" "reader"
"case-aware-find-symbol"
"lexer" "compiler")) ; Uses compiler for implementing '#if'
(:file "predefined-macro" :depends-on ("preprocessor"))
(:file "with-c-syntax" ; Entry Point
:depends-on ("preprocessor" "compiler"))))
(:module "libc"
:serial nil
:components
((:file "package")
(:file "util" :depends-on ("package"))
;; alphabetical order
(:file "assert" :depends-on ("util"))
(:file "ctype" :depends-on ("util"))
(:file "errno" :depends-on ("util"))
(:file "fenv" :depends-on ("util" "float"))
(:file "float" :depends-on ("util"))
(:file "iso646" :depends-on ("util"))
(:file "limits" :depends-on ("util"))
(:file "math" :depends-on ("util" "errno" "fenv" "float"))
(:file "stdarg" :depends-on ("util"))
(:file "stddef" :depends-on ("util"))
(:file "string" :depends-on ("util"))))
(:module "include"
:serial nil
:components
((:static-file "iso646.h")
(:static-file "stdarg.h")
(:static-file "stddef.h"))))
:in-order-to ((test-op (test-op #:with-c-syntax-test))))