Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 \documentclass{article} | 1 \documentclass{article} |
| 2 \usepackage{epsfig} | 2 \usepackage{epsfig} |
| 3 \usepackage{dart} | 3 \usepackage{dart} |
| 4 \usepackage{bnf} | 4 \usepackage{bnf} |
| 5 \usepackage{hyperref} | 5 \usepackage{hyperref} |
| 6 \newcommand{\code}[1]{{\sf #1}} | 6 \newcommand{\code}[1]{{\sf #1}} |
| 7 \title{Dart Programming Language Specification \\ | 7 \title{Dart Programming Language Specification \\ |
| 8 {\large Version 1.4}} | 8 {\large Version 1.4}} |
| 9 %\author{The Dart Team} | 9 %\author{The Dart Team} |
| 10 \begin{document} | 10 \begin{document} |
| (...skipping 5205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 5216 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. | 5216 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. |
| 5217 | 5217 |
| 5218 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. | 5218 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. |
| 5219 | 5219 |
| 5220 \subsection{Scripts} | 5220 \subsection{Scripts} |
| 5221 \label{scripts} | 5221 \label{scripts} |
| 5222 | 5222 |
| 5223 A {\em script} is a library whose exported namespace (\ref{exports}) includes a top-level function \code{main}. | 5223 A {\em script} is a library whose exported namespace (\ref{exports}) includes a top-level function \code{main}. |
| 5224 A script $S$ may be executed as follows: | 5224 A script $S$ may be executed as follows: |
| 5225 | 5225 |
| 5226 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 formal parameters, it is invoked with no arguments. Otherwise \code{ main} is invoked with a single actual argument whose type implements \code{List$ <$String$>$}. It is a run time error if $S$ does not declare or import a top-lev el function \code{main}. It is a static warning if \code{main} has more than one required parameter. | 5226 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 formal parameters, it is invoked with no arguments. Otherwise if \co de{main} has exactly one parameter, it is invoked with a single actual argument whose type implements \code{List$<$String$>$}. Otherwise \code{main} is invoked with the following two actual arguments: |
|
Lasse Reichstein Nielsen
2014/05/15 20:44:48
I believe the way it is implemented, and the way i
| |
| 5227 \begin{enumerate} | |
| 5228 \item An object whose type implements \code{List$<$String$>$}. | |
| 5229 \item The initial message of the current isolate $i$ as determined by the invoca tion of \code{Isolate.spawnUri} that spawned $i$. | |
| 5230 \end{enumerate} | |
| 5231 | |
| 5232 It is a run time error if $S$ does not declare or import a top-level function \c ode{main}. It is a static warning if \code{main} has more than two required para meters. | |
| 5227 | 5233 |
| 5228 \commentary { | 5234 \commentary { |
| 5229 If \code{main} requires more than one argument, a run time error will occur. | 5235 Note that if \code{main} requires more than two arguments, a run time error will occur. |
| 5230 } | 5236 } |
| 5231 | 5237 |
| 5232 \rationale{ | 5238 \rationale{ |
| 5233 The names of scripts are optional, in the interests of interactive, informal use . However, any script of long term value should be given a name as a matter of g ood practice. | 5239 The names of scripts are optional, in the interests of interactive, informal use . However, any script of long term value should be given a name as a matter of g ood practice. |
| 5234 } | 5240 } |
| 5235 | 5241 |
| 5236 \commentary { | 5242 \commentary { |
| 5237 A Dart program will typically be executed by executing a script. | 5243 A Dart program will typically be executed by executing a script. |
| 5238 } | 5244 } |
| 5239 | 5245 |
| (...skipping 691 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 5931 \item The names of compile time constant variables never use lower case letters. If they consist of multiple words, those words are separated by underscores. Ex amples: PI, I\_AM\_A\_CONSTANT. | 5937 \item The names of compile time constant variables never use lower case letters. If they consist of multiple words, those words are separated by underscores. Ex amples: PI, I\_AM\_A\_CONSTANT. |
| 5932 \item The names of functions (including getters, setters, methods and local or l ibrary functions) and non-constant variables begin with a lowercase letter. If t he name consists of multiple words, each word (except the first) begins with an uppercase letter. No other uppercase letters are used. Examples: camlCase, dar t4TheWorld | 5938 \item The names of functions (including getters, setters, methods and local or l ibrary functions) and non-constant variables begin with a lowercase letter. If t he name consists of multiple words, each word (except the first) begins with an uppercase letter. No other uppercase letters are used. Examples: camlCase, dar t4TheWorld |
| 5933 \item The names of types (including classes and type aliases) begin with an uppe r case letter. If the name consists of multiple words, each word begins with an uppercase letter. No other uppercase letters are used. Examples: CamlCase, D art4TheWorld. | 5939 \item The names of types (including classes and type aliases) begin with an uppe r case letter. If the name consists of multiple words, each word begins with an uppercase letter. No other uppercase letters are used. Examples: CamlCase, D art4TheWorld. |
| 5934 \item The names of type variables are short (preferably single letter). Examples : T, S, K, V , E. | 5940 \item The names of type variables are short (preferably single letter). Examples : T, S, K, V , E. |
| 5935 \item The names of libraries or library prefixes never use upper case letters. I f they consist of multiple words, those words are separated by underscores. Exam ple: my\_favorite\_library. | 5941 \item The names of libraries or library prefixes never use upper case letters. I f they consist of multiple words, those words are separated by underscores. Exam ple: my\_favorite\_library. |
| 5936 \end{itemize} | 5942 \end{itemize} |
| 5937 } | 5943 } |
| 5938 | 5944 |
| 5939 | 5945 |
| 5940 \end{document} | 5946 \end{document} |
| OLD | NEW |