Documentation: convert InternalsManual.html to reST

Patch by Anastasi Voitova with with small fixes by me.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170275 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dmitri Gribenko 2012-12-15 20:41:17 +00:00
Родитель 1228d66b5e
Коммит 5cc0580c6c
5 изменённых файлов: 1823 добавлений и 2038 удалений

Разница между файлами не показана из-за своего большого размера Загрузить разницу

1808
docs/InternalsManual.rst Normal file

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -194,12 +194,11 @@ Source Manager Block
^^^^^^^^^^^^^^^^^^^^
The source manager block contains the serialized representation of Clang's
`SourceManager <InternalsManual.html#SourceLocation>`_ class, which handles the
mapping from source locations (as represented in Clang's abstract syntax tree)
into actual column/line positions within a source file or macro instantiation.
The AST file's representation of the source manager also includes information
about all of the headers that were (transitively) included when building the
AST file.
:ref:`SourceManager <SourceManager>` class, which handles the mapping from
source locations (as represented in Clang's abstract syntax tree) into actual
column/line positions within a source file or macro instantiation. The AST
file's representation of the source manager also includes information about all
of the headers that were (transitively) included when building the AST file.
The bulk of the source manager block is dedicated to information about the
various files, buffers, and macro instantiations into which a source location
@ -254,8 +253,7 @@ the types block where the serialized representation of that type resides,
enabling lazy deserialization of types. When a type is referenced from within
the AST file, that reference is encoded using the type ID shifted left by 3
bits. The lower three bits are used to represent the ``const``, ``volatile``,
and ``restrict`` qualifiers, as in Clang's
`QualType <http://clang.llvm.org/docs/InternalsManual.html#Type>`_ class.
and ``restrict`` qualifiers, as in Clang's :ref:`QualType <QualType>` class.
.. _pchinternals-decls:
@ -277,13 +275,12 @@ the top of the hierarchy is the translation unit (``TranslationUnitDecl``),
which contains all of the declarations in the translation unit but is not
actually written as a specific declaration node. Its child declarations (such
as functions or struct types) may also contain other declarations inside them,
and so on. Within Clang, each declaration is stored within a `declaration
context <http://clang.llvm.org/docs/InternalsManual.html#DeclContext>`_, as
represented by the ``DeclContext`` class. Declaration contexts provide the
mechanism to perform name lookup within a given declaration (e.g., find the
member named ``x`` in a structure) and iterate over the declarations stored
within a context (e.g., iterate over all of the fields of a structure for
structure layout).
and so on. Within Clang, each declaration is stored within a :ref:`declaration
context <DeclContext>`, as represented by the ``DeclContext`` class.
Declaration contexts provide the mechanism to perform name lookup within a
given declaration (e.g., find the member named ``x`` in a structure) and
iterate over the declarations stored within a context (e.g., iterate over all
of the fields of a structure for structure layout).
In Clang's AST file format, deserializing a declaration that is a
``DeclContext`` is a separate operation from deserializing all of the

Просмотреть файл

@ -19,9 +19,8 @@ Site <http://llvm.org>`_.
This document describes important notes about using Clang as a compiler
for an end-user, documenting the supported features, command line
options, etc. If you are interested in using Clang to build a tool that
processes code, please see `the Clang Internals
Manual <InternalsManual.html>`_. If you are interested in the `Clang
Static Analyzer <http://clang-analyzer.llvm.org>`_, please see its web
processes code, please see :doc:`InternalsManual`. If you are interested in the
`Clang Static Analyzer <http://clang-analyzer.llvm.org>`_, please see its web
page.
Clang is designed to support the C family of programming languages,

Просмотреть файл

@ -29,7 +29,7 @@ progress. This page will get filled out with docs soon...
RAVFrontendAction
UsersManual
AutomaticReferenceCounting
InternalsManual
Indices and tables
==================