blob: 3e3c8f6536d8821364894d9a321fcd6c59432c92 [file] [log] [blame] [view]
dan sinclairaccc6872023-02-20 09:56:29 +00001# Tint Source Layering
2
3The `BUILD.gn` is setup with small source units for various components
4in Tint. The hierarchy of sources almost matches to folder structure in
5tint (except for `base` which is a mix of things in `src/tint` and
6`src/tint/util`.
7
8
9```
10+-----------------------------------------+
11| Readers | Writers |
12+-----------------------------------------+
13 |
14 V
15+-----------------------------------------+
dan sinclairc4cc6ec2023-04-13 21:17:12 +000016| Val | Inspector | Transform |
dan sinclairaccc6872023-02-20 09:56:29 +000017+-----------------------------------------+
18 | |
19 +--------------+------------------------------+
20 | |
21 V V
22+-----------------------------------------+ +-----------+
23| AST | | Utils IO |
24+-----------------------------------------+ +-----------+
25 | |
26 V |
27+-----------------------------------------+ |
28| Program | Sem | |
29+-----------------------------------------+ |
30 | |
31 V |
32+-----------------------------------------+ |
33| AST Hdrs | |
34| (program and sem cause a cycle) | |
35+-----------------------------------------+ |
36 | |
37 V |
38+-----------------------------------------+ |
39| Clone Context Hdrs | |
40| (program and sem cause a cycle) | |
41+-----------------------------------------+ |
42 | |
43 V |
44+-----------------------------------------+ |
45| Constant | |
46+-----------------------------------------+ |
47 | |
48 V |
49+-----------------------------------------+ |
50| Types | |
51+-----------------------------------------+ |
52 | |
James Price91f9dd32023-07-19 12:52:56 +000053 V |
54+-----------------------------------------+ |
55| Builtin | |
56+-----------------------------------------+ |
57 | |
dan sinclairaccc6872023-02-20 09:56:29 +000058 |------------------------------+
59 V
60+-----------------------------------------+
dan sinclaird1d1bf72023-04-21 10:54:13 +000061| Symbols |
dan sinclairaccc6872023-02-20 09:56:29 +000062+-----------------------------------------+
63 |
64 V
65+-----------------------------------------+ +-------------+
dan sinclaird1d1bf72023-04-21 10:54:13 +000066| Utils | | Initializer |
dan sinclairaccc6872023-02-20 09:56:29 +000067+-----------------------------------------+ +-------------+
68```