Skip to content

[docs] Add a few more things to the Lexicon. #6185

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Dec 10, 2016
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions docs/Lexicon.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,13 @@ source code, tests, and commit messages. See also the `LLVM lexicon`_.
CS literature. Directly stores its conforming protocols and nested
archetypes, if any.

AST
"Abstract syntax tree", although in practice it's more of a directed graph.
A parsed representation of code used by a compiler.

bitcode
Serialized LLVM `IR`.

canonical SIL
SIL after the
`mandatory passes <mandatory passes / mandatory optimizations>` have run.
Expand Down Expand Up @@ -83,6 +90,12 @@ source code, tests, and commit messages. See also the `LLVM lexicon`_.
themselves. They can be compared across declarations but cannot be used
directly from within the context.

IR
1. "intermediate representation": a generic term for a format representing
code in a way that is easy for a compiler or tool to manipulate.
2. "LLVM IR": a particular IR used by the LLVM libraries for optimization
and generation of machine code.

IUO (implicitly unwrapped optional)
A type like Optional, but it implicitly converts to its wrapped type. If
the value is ``nil`` during such a conversion, the program traps just as
Expand All @@ -100,6 +113,9 @@ source code, tests, and commit messages. See also the `LLVM lexicon`_.
"Looks good to me." Used in code review to indicate approval with no further
comments.

LLVM IR
See `IR`.

main module
The module for the file or files currently being compiled.

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

It's suspected that this term was originally "quality of life", written as
"Qol", referring to the experience of end users. At some point along its
history, the lowercase "L" was misinterpreted as an uppercase "i", and a
new meaning derived. Swift inherited this term from LLVM.

Radar
`Apple's bug-tracking system`__, or an issue reported on that system.

Expand Down