~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}.

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.

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