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 2417 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2428 \item A constant map literal (\ref{maps}). | 2428 \item A constant map literal (\ref{maps}). |
2429 \item A simple or qualified identifier denoting a top-level function (\ref{funct
ions}) or a static method (\ref{staticMethods}) that is not qualified by a defer
red prefix. | 2429 \item A simple or qualified identifier denoting a top-level function (\ref{funct
ions}) or a static method (\ref{staticMethods}) that is not qualified by a defer
red prefix. |
2430 \item A parenthesized expression \code{($e$)} where $e$ is a constant expression
. | 2430 \item A parenthesized expression \code{($e$)} where $e$ is a constant expression
. |
2431 \item An expression of the form \code{identical($e_1$, $e_2$)} where $e_1$ and $
e_2$ are constant expressions and \code{identical()} is statically bound to the
predefined dart function \code{identical()} discussed above (\ref{objectIdent
ity}). | 2431 \item An expression of the form \code{identical($e_1$, $e_2$)} where $e_1$ and $
e_2$ are constant expressions and \code{identical()} is statically bound to the
predefined dart function \code{identical()} discussed above (\ref{objectIdent
ity}). |
2432 \item An expression of one of the forms \code{$e_1$ == $e_2$} or \code{$e_1$ !
= $e_2$} where $e_1$ and $e_2$ are constant expressions that evaluate to a numer
ic, string or boolean value or to \NULL{}. | 2432 \item An expression of one of the forms \code{$e_1$ == $e_2$} or \code{$e_1$ !
= $e_2$} where $e_1$ and $e_2$ are constant expressions that evaluate to a numer
ic, string or boolean value or to \NULL{}. |
2433 \item An expression of one of the forms \code{!$e$}, \code{$e_1$ \&\& $e_2$} or
\code{$e_1 || e_2$}, where $e$, $e_1$ and $e_2$ are constant expressions that e
valuate to a boolean value. | 2433 \item An expression of one of the forms \code{!$e$}, \code{$e_1$ \&\& $e_2$} or
\code{$e_1 || e_2$}, where $e$, $e_1$ and $e_2$ are constant expressions that e
valuate to a boolean value. |
2434 \item An expression of one of the forms \~{}$e$, $e_1$ \^{} $e_2$, \code{$e_1$ \
& $e_2$}, $e_1 | e_2$, $e_1 >> e_2$ or $e_1 << e_2$, where $e$, $e_1$ and $e_2
$ are constant expressions that evaluate to an integer value or to \NULL{}. | 2434 \item An expression of one of the forms \~{}$e$, $e_1$ \^{} $e_2$, \code{$e_1$ \
& $e_2$}, $e_1 | e_2$, $e_1 >> e_2$ or $e_1 << e_2$, where $e$, $e_1$ and $e_2
$ are constant expressions that evaluate to an integer value or to \NULL{}. |
2435 \item An expression of the form \code{$e_1 + e_2$} where $e_1$ and $e_2$ are con
stant expressions that evaluate to a numeric or string value or to \NULL{}. | 2435 \item An expression of the form \code{$e_1 + e_2$} where $e_1$ and $e_2$ are con
stant expressions that evaluate to a numeric or string value or to \NULL{}. |
2436 \item An expression of one of the forms \code{$-e$}, \code{$e_1$ - $e_2$}, \code
{$e_1$ * $e_2$}, \code{$e_1$ / $e_2$,} \code{$e_1$ \~{}/ $e_2$}, \code{$e_1 >
e_2$}, \code{$e_1 < e_2$}, \code{$e_1$ $>$= $e_2$}, \code{$e_1$ $<$= $e_2$} o
r \code{$e_1$ \% $e_2$}, where $e$, $e_1$ and $e_2$ are constant expressions th
at evaluate to a numeric value or to \NULL{}. | 2436 \item An expression of one of the forms \code{$-e$}, \code{$e_1$ - $e_2$}, \code
{$e_1$ * $e_2$}, \code{$e_1$ / $e_2$,} \code{$e_1$ \~{}/ $e_2$}, \code{$e_1 >
e_2$}, \code{$e_1 < e_2$}, \code{$e_1$ $>$= $e_2$}, \code{$e_1$ $<$= $e_2$} o
r \code{$e_1$ \% $e_2$}, where $e$, $e_1$ and $e_2$ are constant expressions th
at evaluate to a numeric value or to \NULL{}. |
2437 \item An expression of the form \code{$e_1$?$e_2$:$e3$} where $e_1$, $e_2$ and $
e_3$ are constant expressions and $e_1$ evaluates to a boolean value. | 2437 \item An expression of the form \code{$e_1$?$e_2$:$e3$} where $e_1$, $e_2$ and $
e_3$ are constant expressions and $e_1$ evaluates to a boolean value. |
| 2438 \item An expression of the form \code{$e_1 ?? e_2$} where $e_1$ and $e_2$ are co
nstant expressions. |
2438 \item An expression of the form \code{$e$.length} where $e$ is a constant expres
sion that evaluates to a string value. | 2439 \item An expression of the form \code{$e$.length} where $e$ is a constant expres
sion that evaluates to a string value. |
2439 \end{itemize} | 2440 \end{itemize} |
2440 | 2441 |
2441 % null in all the expressions | 2442 % null in all the expressions |
2442 | 2443 |
2443 % designed so constants do not depend on check diode being on or not. | 2444 % designed so constants do not depend on check diode being on or not. |
2444 | 2445 |
2445 \LMHash{} | 2446 \LMHash{} |
2446 It is a compile-time error if an expression is required to be a constant express
ion but its evaluation would raise an exception. | 2447 It is a compile-time error if an expression is required to be a constant express
ion but its evaluation would raise an exception. |
2447 | 2448 |
(...skipping 5419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7867 | 7868 |
7868 The invariant that each normative paragraph is associated with a line | 7869 The invariant that each normative paragraph is associated with a line |
7869 containing the text \LMHash{} should be maintained. Extra occurrences | 7870 containing the text \LMHash{} should be maintained. Extra occurrences |
7870 of \LMHash{} can be added if needed, e.g., in order to make | 7871 of \LMHash{} can be added if needed, e.g., in order to make |
7871 individual \item{}s in itemized lists addressable. Each \LM.. command | 7872 individual \item{}s in itemized lists addressable. Each \LM.. command |
7872 must occur on a separate line. \LMHash{} must occur immediately | 7873 must occur on a separate line. \LMHash{} must occur immediately |
7873 before the associated paragraph, and \LMLabel must occur immediately | 7874 before the associated paragraph, and \LMLabel must occur immediately |
7874 after the associated \section{}, \subsection{} etc. | 7875 after the associated \section{}, \subsection{} etc. |
7875 | 7876 |
7876 ---------------------------------------------------------------------- | 7877 ---------------------------------------------------------------------- |
OLD | NEW |