Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 \documentclass{article} | 1 \documentclass{article} |
| 2 \usepackage{epsfig} | 2 \usepackage{epsfig} |
| 3 \usepackage{color} | 3 \usepackage{color} |
| 4 \usepackage{dart} | 4 \usepackage{dart} |
| 5 \usepackage{bnf} | 5 \usepackage{bnf} |
| 6 \usepackage{hyperref} | 6 \usepackage{hyperref} |
| 7 \usepackage{lmodern} | 7 \usepackage{lmodern} |
| 8 \newcommand{\code}[1]{{\sf #1}} | 8 \newcommand{\code}[1]{{\sf #1}} |
| 9 \title{Dart Programming Language Specification \\ | 9 \title{Dart Programming Language Specification \\ |
| 10 {4th edition draft}\\ | 10 {4th edition draft}\\ |
| (...skipping 6924 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 6935 partHeader topLevelDefinition* EOF | 6935 partHeader topLevelDefinition* EOF |
| 6936 . | 6936 . |
| 6937 \end{grammar} | 6937 \end{grammar} |
| 6938 | 6938 |
| 6939 \LMHash{} | 6939 \LMHash{} |
| 6940 A {\em part header} begins with \PART{} \OF{} followed by the name of the libr ary the part belongs to. A part declaration consists of a part header followed by a sequence of top-level declarations. | 6940 A {\em part header} begins with \PART{} \OF{} followed by the name of the libr ary the part belongs to. A part declaration consists of a part header followed by a sequence of top-level declarations. |
| 6941 | 6941 |
| 6942 \LMHash{} | 6942 \LMHash{} |
| 6943 Compiling a part directive of the form \code{\PART{} $s$;} causes the Dart syste m to attempt to compile the contents of the URI that is the value of $s$. The to p-level declarations at that URI are then compiled by the Dart compiler in the s cope of the current library. It is a compile-time error if the contents of the U RI are not a valid part declaration. It is a static warning if the referenced pa rt declaration $p$ names a library other than the current library as the library to which $p$ belongs. | 6943 Compiling a part directive of the form \code{\PART{} $s$;} causes the Dart syste m to attempt to compile the contents of the URI that is the value of $s$. The to p-level declarations at that URI are then compiled by the Dart compiler in the s cope of the current library. It is a compile-time error if the contents of the U RI are not a valid part declaration. It is a static warning if the referenced pa rt declaration $p$ names a library other than the current library as the library to which $p$ belongs. |
| 6944 | 6944 |
| 6945 \LMHash{} | |
| 6946 It's a compile-time error if the same library contains two part directives with the same URI. | |
| 6947 | |
|
eernst
2016/09/26 14:26:36
At first, it seemed reasonable to put a criterion
Lasse Reichstein Nielsen
2016/09/26 16:40:57
I considered something similar. Since I wrote the
| |
| 6945 \subsection{Scripts} | 6948 \subsection{Scripts} |
| 6946 \LMLabel{scripts} | 6949 \LMLabel{scripts} |
| 6947 | 6950 |
| 6948 \LMHash{} | 6951 \LMHash{} |
| 6949 A {\em script} is a library whose exported namespace (\ref{exports}) includes a top-level member named \code{main}. It is a static warning if the static type of \code{main} is not assignable to a function type or is a function type with m ore than two required parameters. | 6952 A {\em script} is a library whose exported namespace (\ref{exports}) includes a top-level member named \code{main}. It is a static warning if the static type of \code{main} is not assignable to a function type or is a function type with m ore than two required parameters. |
| 6950 | 6953 |
| 6951 A script $S$ may be executed as follows: | 6954 A script $S$ may be executed as follows: |
| 6952 | 6955 |
| 6953 \LMHash{} | 6956 \LMHash{} |
| 6954 First, $S$ is compiled as a library as specified above. Then, the top-level func tion \code{main} that is in the exported namespace of $S$ is invoked. If \code{m ain} has no positional parameters, it is invoked with no arguments. Otherwise if \code{main} has exactly one positional parameter, it is invoked with a single a ctual argument whose runtime type implements \code{List$<$String$>$}. Otherwise \code{main} is invoked with the following two actual arguments: | 6957 First, $S$ is compiled as a library as specified above. Then, the top-level func tion \code{main} that is in the exported namespace of $S$ is invoked. If \code{m ain} has no positional parameters, it is invoked with no arguments. Otherwise if \code{main} has exactly one positional parameter, it is invoked with a single a ctual argument whose runtime type implements \code{List$<$String$>$}. Otherwise \code{main} is invoked with the following two actual arguments: |
| (...skipping 942 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 7897 | 7900 |
| 7898 The invariant that each normative paragraph is associated with a line | 7901 The invariant that each normative paragraph is associated with a line |
| 7899 containing the text \LMHash{} should be maintained. Extra occurrences | 7902 containing the text \LMHash{} should be maintained. Extra occurrences |
| 7900 of \LMHash{} can be added if needed, e.g., in order to make | 7903 of \LMHash{} can be added if needed, e.g., in order to make |
| 7901 individual \item{}s in itemized lists addressable. Each \LM.. command | 7904 individual \item{}s in itemized lists addressable. Each \LM.. command |
| 7902 must occur on a separate line. \LMHash{} must occur immediately | 7905 must occur on a separate line. \LMHash{} must occur immediately |
| 7903 before the associated paragraph, and \LMLabel must occur immediately | 7906 before the associated paragraph, and \LMLabel must occur immediately |
| 7904 after the associated \section{}, \subsection{} etc. | 7907 after the associated \section{}, \subsection{} etc. |
| 7905 | 7908 |
| 7906 ---------------------------------------------------------------------- | 7909 ---------------------------------------------------------------------- |
| OLD | NEW |