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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

196AppendixC.PredenedModule program:pragma"program"record( definitionsmodules:definitionsmodules,{{importedmodules<br />

definitionsmodule:record( );{{therecanbemultipleprogramsbecauseofprogramliterals definitionsmodules:tableofdefinitionsmodule programs:processes mainprogram:processid, ffull/*,checkeddefinitions*/gkeys(id); {{oneormoreprograms {{themainprogram<br />

); typedefinitions:typedefinitions,{{typedenitions id:moduleid, attrdefinitions:attrdefinitions{{attributedenitions Names<strong>and</strong>IDs{{uniqueidofmodule<br />

processid:nominal; clauseid:nominal; rootid:nominal; typeid:nominal; exceptionid:nominal; statementid:nominal; {{identiesaprocessobject<br />

attributeid:nominal; moduleid:nominal; scopeid:nominal; {{clauseidentiers<br />

exitid:nominal; componentid:nominal; {{rootnameidentiers {{exceptionid {{typeidentiers<br />

{{Thefollowingistoallow,inabsprog,variableswithundeclared {{statementidentier {{attributeidentier {{scopeidentier {{moduleid<br />

{{types.Forexample,temporariesthatgetintroducedwhenexp<strong>and</strong>ing {{expressionstoassignmentstatements.Theirtypesarenotknown {{idofexith<strong>and</strong>ler {{componentidentier<br />

optionaltypename:variantoftypenameoption( typenameoption:enumeration('named','unnamed'); {{untilthetypecheckingphasewhichcomesafterresolution. 'unnamed'->noname:emptyfg,

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

Saved successfully!

Ooh no, something went wrong!