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.6}} | 8 {\large Version 1.6}} |
9 %\author{The Dart Team} | 9 %\author{The Dart Team} |
10 \begin{document} | 10 \begin{document} |
(...skipping 5016 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5027 | 5027 |
5028 \section{Libraries and Scripts} | 5028 \section{Libraries and Scripts} |
5029 \label{librariesAndScripts} | 5029 \label{librariesAndScripts} |
5030 | 5030 |
5031 A Dart program consists of one or more libraries, and may be built out of one or
more {\em compilation units}. A compilation unit may be a library or a part (\r
ef{parts}). | 5031 A Dart program consists of one or more libraries, and may be built out of one or
more {\em compilation units}. A compilation unit may be a library or a part (\r
ef{parts}). |
5032 | 5032 |
5033 A library consists of (a possibly empty) set of imports, a set of exports, and
a set of top-level declarations. A top-level declaration is either a class (\ref
{classes}), a type alias declaration (\ref{typedef}), a function (\ref{functions
}) or a variable declaration (\ref{variables}). The members of a library $L$ are
those top level declarations given within $L$. | 5033 A library consists of (a possibly empty) set of imports, a set of exports, and
a set of top-level declarations. A top-level declaration is either a class (\ref
{classes}), a type alias declaration (\ref{typedef}), a function (\ref{functions
}) or a variable declaration (\ref{variables}). The members of a library $L$ are
those top level declarations given within $L$. |
5034 | 5034 |
5035 \begin{grammar} | 5035 \begin{grammar} |
5036 {\bf topLevelDefinition:}classDefinition; | 5036 {\bf topLevelDefinition:}classDefinition; |
| 5037 enumType; |
5037 % classDefinitionOrInterfaceInjection; | 5038 % classDefinitionOrInterfaceInjection; |
5038 % interfaceDefinitionOrInterfaceInjection; | 5039 % interfaceDefinitionOrInterfaceInjection; |
5039 % mixinApplication; | 5040 % mixinApplication; |
5040 typeAlias; | 5041 typeAlias; |
5041 \EXTERNAL{}? functionSignature `{\escapegrammar ;}'; | 5042 \EXTERNAL{}? functionSignature `{\escapegrammar ;}'; |
5042 \EXTERNAL{}? getterSignature `{\escapegrammar ;}'; | 5043 \EXTERNAL{}? getterSignature `{\escapegrammar ;}'; |
5043 \EXTERNAL{}? setterSignature `{\escapegrammar ;}'; | 5044 \EXTERNAL{}? setterSignature `{\escapegrammar ;}'; |
5044 functionSignature functionBody; | 5045 functionSignature functionBody; |
5045 returnType? \GET{} identifier functionBody; | 5046 returnType? \GET{} identifier functionBody; |
5046 returnType? \SET{} identifier formalParameterList functionBody; | 5047 returnType? \SET{} identifier formalParameterList functionBody; |
(...skipping 1067 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6114 \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. | 6115 \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. |
6115 \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 | 6116 \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 |
6116 \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. | 6117 \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. |
6117 \item The names of type variables are short (preferably single letter). Examples
: T, S, K, V , E. | 6118 \item The names of type variables are short (preferably single letter). Examples
: T, S, K, V , E. |
6118 \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. | 6119 \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. |
6119 \end{itemize} | 6120 \end{itemize} |
6120 } | 6121 } |
6121 | 6122 |
6122 | 6123 |
6123 \end{document} | 6124 \end{document} |
OLD | NEW |