Skip to content

Commit 9beabec

Browse files
authored
Merge pull request #6185 from jrose-apple/Lexicon
2 parents 21e401f + c58b9cc commit 9beabec

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

docs/Lexicon.rst

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,13 @@ source code, tests, and commit messages. See also the `LLVM lexicon`_.
2424
CS literature. Directly stores its conforming protocols and nested
2525
archetypes, if any.
2626

27+
AST
28+
"Abstract syntax tree", although in practice it's more of a directed graph.
29+
A parsed representation of code used by a compiler.
30+
31+
bitcode
32+
Serialized LLVM `IR`.
33+
2734
canonical SIL
2835
SIL after the
2936
`mandatory passes <mandatory passes / mandatory optimizations>` have run.
@@ -83,6 +90,12 @@ source code, tests, and commit messages. See also the `LLVM lexicon`_.
8390
themselves. They can be compared across declarations but cannot be used
8491
directly from within the context.
8592

93+
IR
94+
1. "intermediate representation": a generic term for a format representing
95+
code in a way that is easy for a compiler or tool to manipulate.
96+
2. "LLVM IR": a particular IR used by the LLVM libraries for optimization
97+
and generation of machine code.
98+
8699
IUO (implicitly unwrapped optional)
87100
A type like Optional, but it implicitly converts to its wrapped type. If
88101
the value is ``nil`` during such a conversion, the program traps just as
@@ -100,6 +113,9 @@ source code, tests, and commit messages. See also the `LLVM lexicon`_.
100113
"Looks good to me." Used in code review to indicate approval with no further
101114
comments.
102115

116+
LLVM IR
117+
See `IR`.
118+
103119
main module
104120
The module for the file or files currently being compiled.
105121

@@ -198,6 +214,11 @@ source code, tests, and commit messages. See also the `LLVM lexicon`_.
198214
behavior of the compiler--it is not just a general statement that the code
199215
needs to be improved.
200216

217+
It's suspected that this term was originally "quality of life", written as
218+
"Qol", referring to the experience of end users. At some point along its
219+
history, the lowercase "L" was misinterpreted as an uppercase "i", and a
220+
new meaning derived. Swift inherited this term from LLVM.
221+
201222
Radar
202223
`Apple's bug-tracking system`__, or an issue reported on that system.
203224

0 commit comments

Comments
 (0)