~sircmpwn/hare-specification unlisted

6124ad60f6f040cd7198226300480826ffd71abe — Drew DeVault a month ago 2332c6d
globals: specify prototype syntax
1 files changed, 6 insertions(+), 0 deletions(-)

M language/unit.tex
M language/unit.tex => language/unit.tex +6 -0
@@ 37,6 37,7 @@ The \terminal{export} keyword shall not be used with a
	\nonterminal{global-bindings} \terminal{,} \nonterminal{global-binding} \\

\nonterminaldef{global-binding} \\
	\optional{\nonterminal{decl-attr}} \nonterminal{identifier} \terminal{:} \nonterminal{type} \\
	\optional{\nonterminal{decl-attr}} \nonterminal{identifier} \terminal{:} \nonterminal{type} \terminal{=} \nonterminal{expression} \\

\nonterminaldef{decl-attr} \\


@@ 59,6 60,11 @@ in the translation environment. The type of the value of the
\nonterminal{expression} shall assignable to \nonterminal{type}.

\specsubsubitem
The first form of \nonterminal{global-binding} is a \textit{prototype}. In this
form, the implementation shall not allocate storage for the global, and the
programmer must arrange for storage to be provided elsewhere, e.g. during linking.

\specsubsubitem
The interpretation of the \terminal{@symbol} form of \nonterminal{decl-attr} is
implementation-defined.