From f2e2a02d66fb5da02c5e32ed07898e902327a8a0 Mon Sep 17 00:00:00 2001 From: Henrik Tidefelt Date: Fri, 30 Apr 2021 00:39:13 +0200 Subject: [PATCH] Rename section to "Annotations for Symbolic Processing" and reference related sections --- chapters/annotations.tex | 4 ++-- chapters/functions.tex | 2 +- chapters/revisions.tex | 13 ++++++------- chapters/scoping.tex | 3 +-- 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/chapters/annotations.tex b/chapters/annotations.tex index 8f84e940f..68c06cad7 100644 --- a/chapters/annotations.tex +++ b/chapters/annotations.tex @@ -331,9 +331,9 @@ \subsubsection{Text Markup in Captions}\label{text-markup-in-captions} In a similar way, vendor-specific markup can be used to prototype a link for future inclusion in the link markup (either by extending the meaning of Modelica URIs, or by introducing another pseudo-scheme similar to \lstinline!variable:!). This is an example where the vendor-specific markup could make use of the $\mathit{text}$ (for link text) together with the vendor-specific $\mathit{data}$ (describing the actual link). \end{example} -\section{Annotations for Code Generation}\label{annotations-for-code-generation} +\section{Annotations for Symbolic Processing}\label{annotations-for-symbolic-processing} -The annotations listed below, appearing directly inside \lstinline!annotation($\ldots$)!, can influence the code generation. +The annotation listed below, in addition to annotations described in \crefrange{declaring-derivatives-of-functions}{function-inlining-and-event-generation}, can influence the symbolic processing. \begin{center} \begin{tabular}{l|l l} \hline diff --git a/chapters/functions.tex b/chapters/functions.tex index 3b7716649..121ba2a7c 100644 --- a/chapters/functions.tex +++ b/chapters/functions.tex @@ -1220,7 +1220,7 @@ \section{Declaring Derivatives of Functions}\label{declaring-derivatives-of-func \subsection{Using the Derivative Annotation}\label{using-the-derivative-annotation} -A function declaration can have an annotation \fmtannotationindex{derivative} specifying the derivative function or preferably, for a function written in Modelica, use the \lstinline!smoothOrder! annotation to indicate that the tool can construct the derivative function automatically, \cref{annotations-for-code-generation}. +A function declaration can have an annotation \fmtannotationindex{derivative} specifying the derivative function or preferably, for a function written in Modelica, use the \lstinline!smoothOrder! annotation to indicate that the tool can construct the derivative function automatically, \cref{modelica:smoothOrder}. The \lstinline!derivative! annotation can influence simulation time and accuracy and can be applied to both functions written in Modelica and to external functions. A \lstinline!derivative! annotation can state that it is only valid under certain restrictions on the input arguments. These restrictions are defined using the following optional attributes: \lstinline!order! (only a restriction if $\text{\lstinline!order!} > 1$, the default for \lstinline!order! is 1), \lstinline!noDerivative!, and \lstinline!zeroDerivative!. diff --git a/chapters/revisions.tex b/chapters/revisions.tex index 31cec291b..76f9d15d8 100644 --- a/chapters/revisions.tex +++ b/chapters/revisions.tex @@ -173,7 +173,7 @@ \subsection{Main changes in Modelica 3.5}\label{main-changes-in-modelica-3-5} \begin{itemize} \item Annotation SourceDirectory which is a starting point for exporting sources, \cref{annotations-for-external-libraries-and-include-files}. Ticket \href{https://github.com/modelica/ModelicaSpecification/issues/2145}{\#2145}. -\item Clarified Evaluate annotation for hierarchical components, \cref{annotations-for-code-generation}. +\item Clarified Evaluate annotation for hierarchical components, \cref{annotations-for-symbolic-processing}. Ticket \href{https://github.com/modelica/ModelicaSpecification/issues/2288}{\#2288}. \item Added test-case annotation for incorrect models, \cref{modelica:TestCase}. Ticket \href{https://github.com/modelica/ModelicaSpecification/issues/2340}{\#2340}. @@ -1109,7 +1109,7 @@ \subsection{Main changes in Modelica 3.3}\label{main-changes-in-modelica-3-3} Additional annotations allowing: \begin{itemize} \item - Functions to generate events, \cref{annotations-for-code-generation}. + Functions to generate events, \cref{modelica:GenerateEvents}. \item Experiments to specify a time-resolution of simulation result, \cref{modelica:experiment}. \item @@ -1264,11 +1264,10 @@ \subsection{Main changes in Modelica 3.2 Revision 2}\label{main-changes-in-model \item New built-in operator \lstinline!Connections.rooted(A.R)! to inquire whether an overdetermined type or record instance \lstinline!A.R! in a call to \lstinline!Connections.branch(A.R, B.R)! is closer to the root of the spanning tree than \lstinline!B.R!, \cref{overconstrained-equation-operators-for-connection-graphs} (used in MSL 3.2 to avoid algebraic loops in several components such as in \lstinline!Modelica.Mechanics.MultiBody.Joints.Revolute!). \item - Several new annotations where vendor-specific variants were used in MSL 3.2; \cref{annotation-choices-for-suggested-redeclarations-and-modifications}, \cref{annotations-for-documentation}, \cref{annotations-for-code-generation}, \cref{modelica:experiment}, \cref{connections}, and \cref{annotations-for-the-graphical-user-interface}. + Several new annotations where vendor-specific variants were used in MSL 3.2; \cref{annotation-choices-for-suggested-redeclarations-and-modifications}, \cref{annotations-for-documentation}, \cref{annotations-for-symbolic-processing}, \cref{modelica:experiment}, \cref{connections}, and \cref{annotations-for-the-graphical-user-interface}. \item - Specified that Evaluate can also occur in types, since this is used in - MSL and important for performance; \cref{annotations-for-code-generation}. Ticket - \href{https://github.com/modelica/ModelicaSpecification/issues/925}{\#925}. + Specified that \lstinline!Evaluate! can also occur in types, since this is used in MSL and important for performance; \cref{modelica:Evaluate}. + Ticket \href{https://github.com/modelica/ModelicaSpecification/issues/925}{\#925}. \item Macros in graphical text items, \cref{text}. Ticket \href{https://github.com/modelica/ModelicaSpecification/issues/659}{\#659}. (This @@ -2197,7 +2196,7 @@ \subsection{Main Changes in Modelica 3.0}\label{main-changes-in-modelica-3-0} New annotation in \crefnameref{annotations-for-documentation}:\\ \lstinline!preferredView = info!, \lstinline!diagram! or \lstinline!text! \item - New annotations \crefnameref{annotations-for-code-generation}:\\ + New annotations in \crefnameref{function-inlining-and-event-generation}, \crefnameref{declaring-derivatives-of-functions}, and \crefnameref{annotations-for-symbolic-processing}:\\ \lstinline!Evaluate!, \lstinline!HideResult!, \lstinline!Inline!, \lstinline!LateInline!, \lstinline!smoothOrder! \item New annotation \cref{modelica:experiment}:\\ diff --git a/chapters/scoping.tex b/chapters/scoping.tex index 1c63d376e..b79038141 100644 --- a/chapters/scoping.tex +++ b/chapters/scoping.tex @@ -514,8 +514,7 @@ \subsubsection{Steps of Instantiation}\label{steps-of-instantiation} declaration are copied to the instance without merging. \begin{nonnormative} -The annotations can be relevant for simulations, e.g.\ annotations for code generation (\cref{annotations-for-code-generation}.), simulation experiments -(\cref{modelica:experiment}) or functions (\cref{declaring-derivatives-of-functions}, \cref{declaring-inverses-of-functions} and \cref{external-function-interface}). +The annotations can be relevant for simulations, e.g.\ annotations for symbolic processing (\cref{modelica:Evaluate}), simulation experiments (\cref{modelica:experiment}) or functions (\cref{declaring-derivatives-of-functions}, \cref{declaring-inverses-of-functions} and \cref{external-function-interface}). \end{nonnormative} Extends clauses are not looked up, but empty extends clause nodes are created and inserted into the current instance (to be able to preserve the declaration order of components).