Skip to content

Commit 4da6e09

Browse files
committed
Update based on review feedback
1 parent ccd6021 commit 4da6e09

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

clang/docs/UsersManual.rst

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,9 @@ Terminology
7777
correctness of the source code. The parser will request tokens from the lexer
7878
and after performing semantic analysis of the production, generates an
7979
abstract representation of the source called an AST.
80+
* Sema -- the part of the compiler responsible for determining semantic
81+
correctness of the source code. It is closely related to the parser and is
82+
where many diagnostics are produced.
8083
* Diagnostic -- a message to the user about properties of the source code. For
8184
example, errors or warnings and their associated notes.
8285
* Undefined behavior -- behavior for which the standard imposes no requirements
@@ -88,11 +91,14 @@ Terminology
8891
Note, the optimizer assumes the code has no undefined behavior, so if the code
8992
does contain undefined behavior, it will often behave differently depending on
9093
which optimization level is enabled.
91-
* Front end -- the Lexer, Preprocessor, Parser, semantic analysis, and LLVM IR
92-
code generation parts of the compiler.
94+
* Frontend -- the Lexer, Preprocessor, Parser, and Sema parts of the compiler.
95+
* Middle-end -- converts the AST into LLVM IR, adds debug information, etc.
9396
* Backend -- the parts of the compiler which run after LLVM IR code generation,
9497
such as the optimizer.
9598

99+
See the :doc:`InternalsManual` for more details about the internal construction
100+
of the compiler.
101+
96102
Support
97103
-------
98104
Clang releases happen roughly `every six months <https://llvm.org/docs/HowToReleaseLLVM.html#annual-release-schedule>`_.

0 commit comments

Comments
 (0)