69 lines
2.9 KiB
Markdown
69 lines
2.9 KiB
Markdown
|
# Tint Source Layering
|
||
|
|
||
|
The `BUILD.gn` is setup with small source units for various components
|
||
|
in Tint. The hierarchy of sources almost matches to folder structure in
|
||
|
tint (except for `base` which is a mix of things in `src/tint` and
|
||
|
`src/tint/util`.
|
||
|
|
||
|
|
||
|
```
|
||
|
+-----------------------------------------+
|
||
|
| Readers | Writers |
|
||
|
+-----------------------------------------+
|
||
|
|
|
||
|
V
|
||
|
+-----------------------------------------+
|
||
|
| Val | Demangler | Inspector | Transform |
|
||
|
+-----------------------------------------+
|
||
|
| |
|
||
|
+--------------+------------------------------+
|
||
|
| |
|
||
|
V V
|
||
|
+-----------------------------------------+ +-----------+
|
||
|
| AST | | Utils IO |
|
||
|
+-----------------------------------------+ +-----------+
|
||
|
| |
|
||
|
V |
|
||
|
+-----------------------------------------+ |
|
||
|
| Program | Sem | |
|
||
|
+-----------------------------------------+ |
|
||
|
| |
|
||
|
V |
|
||
|
+-----------------------------------------+ |
|
||
|
| AST Hdrs | |
|
||
|
| (program and sem cause a cycle) | |
|
||
|
+-----------------------------------------+ |
|
||
|
| |
|
||
|
V |
|
||
|
+-----------------------------------------+ |
|
||
|
| Clone Context Hdrs | |
|
||
|
| (program and sem cause a cycle) | |
|
||
|
+-----------------------------------------+ |
|
||
|
| |
|
||
|
V |
|
||
|
+-----------------------------------------+ |
|
||
|
| Constant | |
|
||
|
+-----------------------------------------+ |
|
||
|
| |
|
||
|
V |
|
||
|
+-----------------------------------------+ |
|
||
|
| Types | |
|
||
|
+-----------------------------------------+ |
|
||
|
| |
|
||
|
V |
|
||
|
+-----------------------------------------+ |
|
||
|
| Builtin | |
|
||
|
+-----------------------------------------+ |
|
||
|
| |
|
||
|
|------------------------------+
|
||
|
V
|
||
|
+-----------------------------------------+
|
||
|
| Base |
|
||
|
+-----------------------------------------+
|
||
|
|
|
||
|
V
|
||
|
+-----------------------------------------+ +-------------+
|
||
|
| Text (unicode) | | Initializer |
|
||
|
+-----------------------------------------+ +-------------+
|
||
|
```
|