Skip to content

Commit

Permalink
Fix typos (#27)
Browse files Browse the repository at this point in the history
As found by _Cspell_.  Undoubtedly, more remains.
  • Loading branch information
GabrielDosReis committed Nov 16, 2021
1 parent 9b942bb commit c2d9f47
Show file tree
Hide file tree
Showing 13 changed files with 70 additions and 71 deletions.
8 changes: 4 additions & 4 deletions ltx/attrs.tex
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
\label{sec:ifc-attrs}


Attributess are denotated by attribute references of type \type{AttrIndex}.
Attributes are denoted by attribute references of type \type{AttrIndex}.
Like all abstract references, an \type{AttrIndex} value is 32-bit wide with alignment $4$.
\begin{figure}[htbp]
\centering
Expand Down Expand Up @@ -65,7 +65,7 @@ \subsection{\valueTag{AttrSort::Scoped}}

An \type{AttrIndex} reference with tag \valueTag{AtrSort::Scoped} denotes a scoped attribute, that is a
basic attribute followed by ``\code{::}'' and another basic attribute.
For exampke, \code{gsl::suppress} in ``\code{[[gsl::suppress(type.1)]]}'' is a scoped attribute.
For example, \code{gsl::suppress} in ``\code{[[gsl::suppress(type.1)]]}'' is a scoped attribute.
The \field{index} field of that abstract reference is an index into the scoped attribute partition.
Each entry in that partition is a structure with the following layout
%
Expand All @@ -79,7 +79,7 @@ \subsection{\valueTag{AttrSort::Scoped}}
\label{fig:ifc:AttrSort:Scoped}
\end{figure}
%
The \field{scope} field reprensents the word appearing before the ``\code{::}'' token.
The \field{scope} field represents the word appearing before the ``\code{::}'' token.
The \field{member} field represents the word appearing after the ``\code{::}'' token.

\partition{attr.scoped}
Expand Down Expand Up @@ -202,7 +202,7 @@ \subsection{\valueTag{AttrSort::Elaborated}}
\label{fig:ifc:AttrSort:Elaborated}
\end{figure}
%
The \field{expression} field denotes the result of the parsing and semantic analyzis of the
The \field{expression} field denotes the result of the parsing and semantic analysis of the
source-level words making up the attributes. The input source level words are not retained.

\partition{attr.elaborated}
Expand Down
16 changes: 12 additions & 4 deletions ltx/charts.tex
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
\label{sec:ifc-charts}


Parameterized declarations are entities that are either templates themselves, or templated in the sense that while not themselves templates they are declared in the lexical scopes of templates (e.g. non-template non-member friend functions lexically defined in a class-definition). The parameter list of such declarations or entities are represented by \emph{chart}s, each designated by a \type{ChartIndex} abstract reference.
Parameterized declarations are entities that are either templates themselves, or templated in the
sense that while not themselves templates they are declared in the lexical scopes of templates
(e.g. non-template non-member friend functions lexically defined in a class-definition).
The parameter list of such declarations or entities are represented by \emph{chart}s, each
designated by a \type{ChartIndex} abstract reference.
Like all abstract references, it is a 32-bit value
\begin{figure}[htbp]
\centering
Expand All @@ -22,15 +26,17 @@ \section{Chart structures}
\subsection{\valueTag{ChartSort::None}}
\label{sec:ifc:ChartSort:None}

A \type{ChartIndex} abstract reference with tag \valueTag{ChartSort::None} indicates an empty template parameter list, as in \code{template<>}
A \type{ChartIndex} abstract reference with tag \valueTag{ChartSort::None} indicates an empty template
parameter list, as in \code{template<>}
at the C++ source level. There is no concrete parameter list stored in the IFC file.

\partition{chart.none}

\subsection{\valueTag{ChartSort::Unilevel}}
\label{sec:ifc:ChartSort:Unilevel}

A \type{ChartIndex} abstract reference with tag \valueTag{ChartSort::Unilevel} designates a sequence non-empty sequence of parameters (\secref{sec:ifc:DeclSort:Parameter}).
A \type{ChartIndex} abstract reference with tag \valueTag{ChartSort::Unilevel} designates a sequence
non-empty sequence of parameters (\secref{sec:ifc:DeclSort:Parameter}).

\begin{figure}[H]
\centering
Expand All @@ -53,7 +59,9 @@ \subsection{\valueTag{ChartSort::Unilevel}}
\subsection{\valueTag{ChartSort::Multilevel}}
\label{sec:ifc:ChartSort:Multilevel}

A \type{ChartIndex} abstract reference with tag \valueTag{ChartSort::Multilevel} indicates a set of template parameter lists, each of them either an empty template parameter list (tag \valueTag{ChartSort::None}) or a unilevel template parameter list (tag \valueTag{ChartSort::Unilevel}).
A \type{ChartIndex} abstract reference with tag \valueTag{ChartSort::Multilevel} indicates a set of template
parameter lists, each of them either an empty template parameter list (tag \valueTag{ChartSort::None}) or a unilevel
template parameter list (tag \valueTag{ChartSort::Unilevel}).

\begin{figure}[H]
\centering
Expand Down
11 changes: 1 addition & 10 deletions ltx/decls.tex
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ \subsection{Reachable semantic properties}
\label{sec:ifc-reachable-properties}

In certain circumstances, the IFC stores more information than the bare minimum
required by the ISO C++ Modules specification. In such cases, it is necessarilyto know
required by the ISO C++ Modules specification. In such cases, it is necessary to know
which semantic properties are reachable, outside the owning module, to the importers.
In other circumstances, known such additional information is useful in performing
additional checks such as ODR violation detection. The availability of such
Expand Down Expand Up @@ -849,19 +849,10 @@ \subsubsection{Function traits}
\begin{description}
\item \code{FunctionTraits::None}: no property
\item \code{FunctionTraits::Inline}: the function is declared \code{inline}
% \item \code{FunctionTraits::ForceInline}: the function is declared \code{\_\_forceinline}
\item \code{FunctionTraits::Constexpr}: the function is declared \code{constexpr}
\item \code{FunctionTraits::Explicit}: the function is declared \code{explicit}
\item \code{FunctionTraits::Virtual}: the function is declared \code{virtual}
\item \code{FunctionTraits::NoReturn}: the function is declared \code{[[noreturn]]} or \code{\_\_declspec(noreturn)}
% \item \code{FunctionTraits::Naked}: the function is declared \code{\_\_declspec(naked)}
% \item \code{FunctionTraits::NoAlias}: the function is declared \code{\_\_declspec(noalias)}
% \item \code{FunctionTraits::NoThrow}: the function is declared \code{\_\_declspec(nothrow)}
% \item \code{FunctionTraits::NoInline}: the function is declared \code{\_\_declspec(noinline)}
% \item \code{FunctionTraits::Restrict}: the function is declared \code{\_\_declspec(restrict)}
% \item \code{FunctionTraits::SafeBuffers}: the function is declared \code{\_\_declspec(safebuffers)}
% \item \code{FunctionTrsits::DllExport}: the function is declared \code{\_\_declspec(dllexport)}
% \item \code{FunctionTraits::CodeSegment}: the function is declared \code{\_\_declspec(code\_seg)}
\item \code{FunctionTraits::PureVirtual}: the function is pure virtual, e.g. with \code{ = 0}
\item \code{FunctionTraits::HiddenFriend}: the function is a hidden friend
\item \code{FunctionTraits::Constrained} : the function has requires-constraints
Expand Down
50 changes: 25 additions & 25 deletions ltx/exprs.tex
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ \subsection{\valueTag{ExprtSort::Empty}}
\label{fig:ifc-empty-expression-structure}
\end{figure}
%
The \field{type} field is a reference to the type of the expresssion.
The \field{type} field is a reference to the type of the expression.
The \field{locus} field is a reference to the source location.

\partition{expr.empty}
Expand Down Expand Up @@ -203,7 +203,7 @@ \subsection{\valueTag{ExprSort::Type}}
Certain C++ source-level contexts permit both value expressions and type expressions.
A \type{ExprIndex} value with tag \valueTag{ExprSort::Type} represents a reference to a type expression.
The \field{index} field is an index into the type expression partition.
Each enty in that partition has two components: a \field{type} field, and a \field{locus} field.
Each entry in that partition has two components: a \field{type} field, and a \field{locus} field.
%
\begin{figure}[H]
\centering
Expand Down Expand Up @@ -349,12 +349,12 @@ \subsection{\valueTag{ExprSort::SimpleIdentifier}}
\DeclareMember{type}{TypeIndex} \\
\DeclareMember{name}{NameIndex} \\
}
\caption{Structue of a simple-identifier expression}
\caption{Structure of a simple-identifier expression}
\label{fig:ifc-simple-identifier-structure}
\end{figure}
%
The \field{locus} field denotes the location of this expression. The \field{type}, if not null, denotes the
type of the expression. The \field{name} field desinates the simple identifier.
type of the expression. The \field{name} field designates the simple identifier.

\partition{expr.simple-identifier}

Expand Down Expand Up @@ -388,7 +388,7 @@ \subsection{\valueTag{ExprSort::QualifiedName}}

An \type{ExprIndex} value with tag \valueTag{ExprSort::QualifiedName} designates a representation of
C++ input source level grammar term \grammar{qualified-id}, typically in templated code that is not
yet sfully semantically analyzed. The \field{index} field of that abstract reference is an index into
yet fully semantically analyzed. The \field{index} field of that abstract reference is an index into
the qualified name partition. Each entry of that partition has the following layout
%
\begin{figure}[H]
Expand All @@ -404,8 +404,8 @@ \subsection{\valueTag{ExprSort::QualifiedName}}
\end{figure}
%
The \field{elements} field designates the sequence of unqualified names (\sortref{UnqualifiedId}{ExprSort})
in the source level construct. The \field{template\_keyword}, if not null, designates the present of
the \code{typename} keyword in the soure level to indicate to the parser that the qualified name names a type.
in the source level construct. The \field{template\_keyword}, if not null, designates the presence of
the \code{typename} keyword in the input source program to indicate to the parser that the qualified name actually names a type.

\partition{expr.qualified-name}

Expand All @@ -431,7 +431,7 @@ \subsection{\valueTag{ExprSort::Path}}
\label{fig:ifc-path-expression-structure}
\end{figure}
%
The \field{scope} field denotes the qualifiying part of the expression.
The \field{scope} field denotes the qualifying part of the expression.
The \field{member} field denotes the referenced member of the \field{scope}.
The \field{locus} field denotes the source location.

Expand All @@ -445,7 +445,7 @@ \subsection{\valueTag{ExprSort::Read}}
a reference to an expression that reads from a given memory location.
It is also used to represents so-called lvalue-to-rvalue conversions.
The \field{index} field is an index into the read expression partition.
Each enty in that partition has three components: a \field{type} field, an \field{address} field, and a \field{locus} field.
Each entry in that partition has three components: a \field{type} field, an \field{address} field, and a \field{locus} field.
%
\begin{figure}[H]
\centering
Expand Down Expand Up @@ -495,7 +495,7 @@ \subsection{\valueTag{ExprtSort::Monad}}

A \type{ExprIndex} value with tag \valueTag{ExprSort::Monad} represents the application of a (source-level) monadic operator to argument.
The \field{index} field is an index into the monadic expression partition.
Each entry in that parrition has four components: a \field{type} field, a \field{opcat} field, an \field{argument} field, and a \field{locus} field.
Each entry in that partition has four components: a \field{type} field, a \field{opcat} field, an \field{argument} field, and a \field{locus} field.
%
\begin{figure}[H]
\centering
Expand All @@ -522,7 +522,7 @@ \subsection{\valueTag{ExprSort::Dyad}}

A \type{ExprIndex} value with tag \valueTag{ExprSort::Monad} represents the application of a (source-level) dyadic operator (\secref{sec:ifc:OperatorSort:Dyadic}) to arguments.
The \field{index} field is an index into the dyadic expression partition.
Each entry in that parrition has four components: a \field{type} field, a \field{opcat} field, an \field{arguments} field, and a \field{locus} field.
Each entry in that partition has four components: a \field{type} field, a \field{opcat} field, an \field{arguments} field, and a \field{locus} field.
%
\begin{figure}[H]
\centering
Expand All @@ -548,7 +548,7 @@ \subsection{\valueTag{ExprSort::Triad}}

A \type{ExprIndex} value with tag \valueTag{ExprSort::Monad} represents the application of a (source-level) triadic operator (\secref{sec:ifc:OperatorSort:Triadic}) to arguments.
The \field{index} field is an index into the triadic expression partition.
Each entry in that parrition has four components: a \field{type} field, a \field{opcat} field, an \field{arguments} field, and a \field{locus} field.
Each entry in that partition has four components: a \field{type} field, a \field{opcat} field, an \field{arguments} field, and a \field{locus} field.
%
\begin{figure}[H]
\centering
Expand Down Expand Up @@ -722,7 +722,7 @@ \subsection{\valueTag{ExprSort::MemberInitializer}}
\label{sec:ifc:ExprSort:MemberInitializer}

An \type{ExprIndex} value with tag \valueTag{ExprSort::MemberInitializer} designates the initialization of
a base-class subobject, or a non-static data member, or a call to a delagated constructor. The \field{index}
a base-class subobject, or a non-static data member, or a call to a delegated constructor. The \field{index}
field of that abstract reference is an index into the member initializer partition. Each entry in that
partition has the following layout
%
Expand All @@ -743,10 +743,10 @@ \subsection{\valueTag{ExprSort::MemberInitializer}}
The \field{type} field denotes the type of the initialization.
The \field{member} field, if not null, designates the non-static data member being initialized.
The \field{base} field, if not null, designates the initialization of a base-class subobject.
Both fields \field{member} and \field{base} cannot be simulateneously non-null.
However, they can be simulateneously null; in that case, the expression is used
Both fields \field{member} and \field{base} cannot be simultaneously non-null.
However, they can be simultaneously null; in that case, the expression is used
to represent a call to a delegated constructor.
The \field{initializer} field denotes the expression perfoming the initialization.
The \field{initializer} field denotes the expression performing the initialization.


\partition{expr.member-initializer}
Expand Down Expand Up @@ -815,7 +815,7 @@ \subsection{\valueTag{ExprSort::InitializerList}}

An \type{ExprIndex} value with tag \valueTag{ExprSort::InitializerList} designates a brace-enclosed comma-separated
sequence of expressions.
The \field{index} field is an index into the partition of initiliazer list expressions.
The \field{index} field is an index into the partition of initializer list expressions.
Each entry in that partition is a structure with the following layout
%
\begin{figure}[H]
Expand All @@ -839,7 +839,7 @@ \subsection{\valueTag{ExprSort::Cast}}
\label{sec:ifc:ExprSort:Cast}

An \type{ExprIndex} value with tag \valueTag{ExprSort::Cast} designates a conversion operation.
The conversion may be explicit (in the input source code) and implicit (as required by semantics analyzis).
The conversion may be explicit (in the input source code) and implicit (as required by semantics analysis).
The \field{index} field of this abstract reference is a position into the partition of cast expressions.
Each entry in that partition is a structure with the following layout
%
Expand Down Expand Up @@ -1173,7 +1173,7 @@ \subsection{\valueTag{ExprSort::Initializer}}
\DeclareMember{expr}{ExprIndex} \\
\DeclareMember{sort}{InitializerSort} \\
}
\caption{Structure of an initialzer expression}
\caption{Structure of an initializer expression}
\label{fig:ifc-initializer-structure}
\end{figure}
with \newtype{InitializerSort}{8}
Expand Down Expand Up @@ -1309,8 +1309,8 @@ \subsection{\valueTag{ExprSort::ProductTypeValue}}
\item \field{locus} denotes the source location of this expression.
\item \field{type} denotes the type of this expression.
\item \field{class} denotes the declaration of the class type of the object designated by this expression.
\item \field{members} denotes the sequence of direct non-baseclass subobjects of the object.
\item \field{base\_subobjects} denotes the sequence of baseclasse subobjects of the object.
\item \field{members} denotes the sequence of direct non-base class subobjects of the object.
\item \field{base\_subobjects} denotes the sequence of base class subobjects of the object.
\end{itemize}

\partition{expr.product-type-value}
Expand Down Expand Up @@ -1546,7 +1546,7 @@ \subsection{\valueTag{ExprSort::TemplateReference}}
\end{figure}
%

The \field{member\_name} field designates the nane of the member; the \field{member\_locus} designates the source location where the member is declared.
The \field{member\_name} field designates the name of the member; the \field{member\_locus} designates the source location where the member is declared.
The \field{scope} field designates the enclosing scope of the member. The \field{arguments} designates the set of template arguments to
this member.
The field \field{locus} is the source location where the expression appears.
Expand Down Expand Up @@ -1677,7 +1677,7 @@ \subsection{\valueTag{ExprSort::Tokens}}

A \type{ExprIndex} value with tag \valueTag{ExprSort::Tokens} represents an arbitrary token sequence (yet to be parsed) denoting an expression.
The \field{index} field is an index into to the token sequence expression partition.
Each entry of that partition is a structure witht the following components: a \field{tokens} field, and a \field{locus} field.
Each entry of that partition is a structure with the following components: a \field{tokens} field, and a \field{locus} field.
%
\begin{figure}[H]
\centering
Expand Down Expand Up @@ -2410,7 +2410,7 @@ \subsection{Triadic operators}
Source-level representation of ``\code{new(p) T(x)}'', where
\begin{itemize}
\item the first operand is the placement \code{p}
\item the second operand is the contructed type \code{T}
\item the second operand is the constructed type \code{T}
\item the third operand is the initializing value \code{x}
\end{itemize}

Expand All @@ -2427,7 +2427,7 @@ \subsection{Storage operators}
\label{sec:ifc:OperatorSort:Storage}

A sort value \valueTag{OperatorSort::Storage} indicates a storage
allocation or deallocattion operator. The
allocation or deallocation operator. The
value of the \field{index} is to be interpreted as a value of type
\type{StorageOperator}, which is a set of $13$-bit values enumerated as follows.
%
Expand Down

0 comments on commit c2d9f47

Please sign in to comment.