lama_byterun/doc/spec/03.02.compilation_units.tex
Dmitry Boulytchev 142d784174 COntinue spec
2020-02-10 15:24:45 +03:00

22 lines
1 KiB
TeX

\begin{figure}[t]
\[
\begin{array}{rcl}
\defterm{compilationUnit} & : & \nonterm{import}^\star\s\nonterm{scopeExpression}\\
\defterm{import} & : & \term{import}\s\token{UIDENT}\s\term{;}
\end{array}
\]
\caption{Compilation unit concrete syntax}
\label{compilation_unit}
\end{figure}
\section{Compilation Units}
\label{sec:compilation_units}
Compilation unit is a minimal structure recognized by a parser. An application can contain multiple units, compiled separatedly.
In order to use other units they have to be imported. In particular, the standard library is comprized of a number of precompiled units,
which can be imported by an end-user application.
The concrete syntax for compilation unit is shown on Fig.~\ref{compilation_unit}. Besides optional imports a unit must contain
a \nonterm{scopeExpression}, which may contain some definitions and computations. Note, a unit can not be empty. The computations described in
a unit are performed at unit initialization time (see Chapter~\ref{sec:driver}).