28.01.2015 Views

Hermes: A Tutorial and Reference Manual - Researcher - IBM

Hermes: A Tutorial and Reference Manual - Researcher - IBM

Hermes: A Tutorial and Reference Manual - Researcher - IBM

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

follows. modules)otherprocessmodulestobestaticallylinked.Themodulebody allysupplieslistsofdenitionsmodulestobeimported<strong>and</strong>(forprocess 138A.1.LexicalRules Amoduleisintroducedbyaheaderwhichnamesthemodule<strong>and</strong>option-<br />

module::=module{name:[imports][linking] A.2SyntacticRules<br />

process{module{body<br />

whatthenfollowslooksalmostlikeablockbody:anoptionaldeclarations Aprocessmodulebodybeginswithadeclarationfortheinitport,<strong>and</strong> linking::=linking([link{name[,link{name]...]) imports::=using([module{name[,module{name]...]) section,followedbythestatementsformingtheprocessbody,optionally denitions{module{body<br />

process{module{body followedbyoneormoreexceptionh<strong>and</strong>lerspecications ::=process(declaration)<br />

nameofitstype.Apragmaisoptionalpriortothetypename. Adeclarationcontainsanidentier(thevariablebeingdeclared)<strong>and</strong>the endprocess [h<strong>and</strong>ler]... begin [declaration{section] [pragma]<br />

declaration{section ::=declare[declaration;]... [statement;]...<br />

optionallybeprecededbyapragma. Statementscomeintwobasicvarieties:simple<strong>and</strong>compound.Eithermay statement::=[pragma]simple{statement declaration::=base{variable:[pragma]type{name ::=[pragma]compound{statement

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!