19.11.2014 Views

The Fortress Language Specification - CiteSeerX

The Fortress Language Specification - CiteSeerX

The Fortress Language Specification - CiteSeerX

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.

-> id extends_opt absorbs_opt<br />

-> "nat" w id<br />

-> "bool" w id<br />

-> "dim" w id<br />

-> "unit" w id absorbs_opt<br />

-> "opr" w op<br />

-> "ident" w id<br />

absorbs_opt<br />

-><br />

-> w "absorbs" w "unit"<br />

throws_opt<br />

-><br />

-> w "throws" w type_ref<br />

-> w "throws" w type_ref_list<br />

where_opt<br />

-><br />

-> w where<br />

where<br />

-> "where" w "{" w wcl: where_clause_list w "}"<br />

where_clause_list<br />

-> where_clause w "," w where_clause_list<br />

-> where_clause<br />

where_clause<br />

-> type_alias<br />

-> id w extends<br />

contract_opt<br />

-> requires_opt ensures_opt invariant_opt<br />

requires_opt<br />

-><br />

-> w "requires" w "{" w comma_sep_exprs w "}"<br />

ensures_opt<br />

-><br />

-> w "ensures" w<br />

"{" prefix_ensures_clauses w ensures_clause w "}"<br />

prefix_ensures_clauses<br />

-><br />

-> w provided_clause w "," prefix_ensures_clauses<br />

provided_clause<br />

-> comma_sep_exprs w "provided" w expr<br />

ensures_clause<br />

387

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

Saved successfully!

Ooh no, something went wrong!