Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
2636 lines (2635 sloc) 61.9 KB
<?xml version="1.0" encoding="UTF-8"?>
<xns1:grammar xmlns:xns1="http://planet-sl.org/bgf">
<xns1:production>
<nonterminal>Class_declaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Indexing</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>Class_header</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Formal_generics</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Obsolete</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Inheritance</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Creators</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Features</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Invariant</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>end</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>--</terminal>
</xns1:expression>
<xns1:expression>
<terminal>class</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Class_name</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Indexing</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>indexing</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Index_list</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Index_list</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Index_clause</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Index_clause</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Index</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>Index_terms</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Index</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>:</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Index_terms</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Index_value</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Index_value</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Manifest_constant</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Class_header</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Header_mark</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>class</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Class_name</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Header_mark</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>deferred</terminal>
</xns1:expression>
<xns1:expression>
<terminal>expanded</terminal>
</xns1:expression>
<xns1:expression>
<terminal>separate</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Class_name</nonterminal>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Formal_generics</nonterminal>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Formal_generic_list</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Formal_generic_list</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Formal_generic</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Formal_generic</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Formal_generic_name</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Constraint</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Formal_generic_name</nonterminal>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Constraint</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>-</terminal>
</xns1:expression>
<xns1:expression>
<terminal>&gt;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Class_type</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Obsolete</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>obsolete</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Message</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Message</nonterminal>
<xns1:expression>
<nonterminal>Manifest_string</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Inheritance</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>inherit</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Parent_list</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Parent_list</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Parent</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Parent</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Class_type</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Feature_adaptation</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Feature_adaptation</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Rename</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>New_exports</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Undefine</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Redefine</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Select</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>end</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Rename</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>rename</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Rename_list</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Rename_list</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Rename_pair</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Rename_pair</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Feature_name</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>as</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Feature_name</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>New_exports</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>export</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>New_export_list</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>New_export_list</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>New_export_item</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>New_export_item</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Clients</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Feature_set</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Feature_set</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>Feature_list</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>all</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Feature_list</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Feature_name</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Clients</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>{</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Class_list</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>}</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Class_list</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Class_name</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Redefine</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>redefine</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Feature_list</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Undefine</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>undefine</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Feature_list</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Select</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>select</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Feature_list</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Creators</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>creation</terminal>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Creation_clause</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>creation</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Creation_clause</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Clients</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Header_comment</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>Procedure_list</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Procedure_list</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Procedure_name</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Procedure_name</nonterminal>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Features</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>feature</terminal>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Feature_clause</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>feature</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Feature_clause</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Clients</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Header_comment</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>Feature_declaration_list</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Feature_declaration_list</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Feature_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Feature_declaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>New_feature_list</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Declaration_body</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Declaration_body</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Formal_arguments</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Type_mark</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Constant_or_routine</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Constant_or_routine</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>is</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Feature_value</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Feature_value</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>Manifest_constant</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Unique</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Routine</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Unique</nonterminal>
<xns1:expression>
<terminal>Unique</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>New_feature_list</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>New_feature</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>New_feature</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<terminal>frozen</terminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>Feature_name</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Feature_name</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Prefix</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Infix</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Prefix</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>prefix</terminal>
</xns1:expression>
<xns1:expression>
<terminal>"</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Prefix_operator</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>"</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Infix</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>infix</terminal>
</xns1:expression>
<xns1:expression>
<terminal>"</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Infix_operator</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>"</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Prefix_operator</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>Unary</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Free_operator</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Infix_operator</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>Binary</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Free_operator</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Unary</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>not</terminal>
</xns1:expression>
<xns1:expression>
<terminal>+</terminal>
</xns1:expression>
<xns1:expression>
<terminal>-</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Binary</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>+</terminal>
</xns1:expression>
<xns1:expression>
<terminal>-</terminal>
</xns1:expression>
<xns1:expression>
<terminal>*</terminal>
</xns1:expression>
<xns1:expression>
<terminal>/</terminal>
</xns1:expression>
<xns1:expression>
<terminal>&lt;</terminal>
</xns1:expression>
<xns1:expression>
<terminal>&gt;</terminal>
</xns1:expression>
<xns1:expression>
<terminal>&lt;=</terminal>
</xns1:expression>
<xns1:expression>
<terminal>&gt;=</terminal>
</xns1:expression>
<xns1:expression>
<terminal>//</terminal>
</xns1:expression>
<xns1:expression>
<terminal>\\</terminal>
</xns1:expression>
<xns1:expression>
<terminal>^</terminal>
</xns1:expression>
<xns1:expression>
<terminal>and</terminal>
</xns1:expression>
<xns1:expression>
<terminal>or</terminal>
</xns1:expression>
<xns1:expression>
<terminal>xor</terminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>and</terminal>
</xns1:expression>
<xns1:expression>
<terminal>then</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>or</terminal>
</xns1:expression>
<xns1:expression>
<terminal>else</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<terminal>implies</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Formal_arguments</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Entity_declaration_list</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Entity_declaration_list</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Entity_declaration_group</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Entity_declaration_group</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Identifier_list</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Type_mark</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Identifier_list</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Type_mark</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>:</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Type</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Routine</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Obsolete</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Header_comment</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Precondition</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Local_declarations</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>Routine_body</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Postcondition</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Rescue</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>end</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>--</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Feature_name</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Routine_body</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>Effective</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Deferred</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Effective</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>Internal</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>External</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Internal</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Routine_mark</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Compound</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Routine_mark</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>do</terminal>
</xns1:expression>
<xns1:expression>
<terminal>once</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Deferred</nonterminal>
<xns1:expression>
<terminal>deferred</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>External</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>external</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Language_name</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>External_name</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Language_name</nonterminal>
<xns1:expression>
<nonterminal>Manifest_string</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>External_name</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>alias</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Manifest_string</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Local_declarations</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>local</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Entity_declaration_list</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Precondition</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>require</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<terminal>else</terminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>Assertion</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Postcondition</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>ensure</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<terminal>then</terminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>Assertion</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Invariant</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>invariant</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Assertion</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Assertion</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Assertion_clause</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Assertion_clause</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Tag_mark</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>Unlabeled_assertion_clause</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Unlabeled_assertion_clause</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>Boolean_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Comment</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Tag_mark</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Tag</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>:</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Tag</nonterminal>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Rescue</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>rescue</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Compound</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Type</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>Class_type</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Class_type_expanded</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Class_type_separate</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Anchored</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Bit_type</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Class_type</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Class_name</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Actual_generics</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Actual_generics</nonterminal>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Type_list</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Type_list</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Type</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Class_type_expanded</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>expanded</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Class_type</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Class_type_separate</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>separate</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Class_type</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Bit_type</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>BIT</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Bit_length</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Bit_length</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>Integer_constant</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Attribute</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Anchored</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>like</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Anchor</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Anchor</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>Current</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Compound</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Instruction</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Instruction</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>Creation</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Call</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Assignment</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Assignment_attempt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Conditional</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Multi_branch</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Loop</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Debug</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Check</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Retry</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Null_instruction</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Creation</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>!</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Type</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>!</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Writable</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Creation_call</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Creation_call</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Procedure_name</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Actuals</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Assignment</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Writable</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>:=</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Assignment_attempt</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Writable</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>?=</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Conditional</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>if</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Then_part_list</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Else_part</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>end</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Then_part_list</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Then_part</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>elseif</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Then_part</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Boolean_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>then</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Compound</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Else_part</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>else</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Compound</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Multi_branch</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>inspect</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>When_part_list</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Else_part</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>end</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>When_part_list</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>when</terminal>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>When_part</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>when</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>When_part</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Choices</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>then</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Compound</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Choices</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Choice</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Choice</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>Choice_constant</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Interval</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Interval</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Choice_constant</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>..</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Choice_constant</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Choice_constant</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>Integer_constant</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Character_constant</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Attribute</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Loop</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Initialization</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Invariant</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Variant</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>Loop_body</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>end</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Initialization</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>from</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Compound</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Variant</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>variant</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Tag_mark</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Loop_body</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Exit</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>loop</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Compound</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Exit</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>until</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Boolean_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Debug</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>debug</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Debug_keys</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>Compound</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>end</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Debug_keys</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Debug_key_list</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Debug_key_list</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Debug_key</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Debug_key</nonterminal>
<xns1:expression>
<nonterminal>Manifest_string</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Check</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>check</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Assertion</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>end</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Retry</nonterminal>
<xns1:expression>
<terminal>retry</terminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Null_instruction</nonterminal>
<xns1:expression>
<epsilon/>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Call</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>Qualified_call</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Precursor</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Qualified_call</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Call_qualifier</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>Call_chain</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Call_qualifier</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Call_target</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Call_target</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>Parenthesized</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>Result</terminal>
</xns1:expression>
<xns1:expression>
<terminal>Current</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Precursor</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Call_chain</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Unqualified_call</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Unqualified_call</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Actuals</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Precursor</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Parent_qualification</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<terminal>Precursor</terminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Actuals</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Parent_qualification</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>{</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Class_name</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>}</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Attribute</nonterminal>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Writable</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>Identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>Result</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Actuals</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Actual_list</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Actual_list</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Actual</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Actual</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Address</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Address</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>$</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Address_mark</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Address_mark</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>Feature_name</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>Current</terminal>
</xns1:expression>
<xns1:expression>
<terminal>Result</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Expression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>Current</terminal>
</xns1:expression>
<xns1:expression>
<terminal>Result</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Call</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Operator_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Equality</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Manifest_array</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Old</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Strip</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Boolean_constant</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Bit_constant</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Integer</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Real</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Manifest_string</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Character_constant</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Wide_character_constant</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Wide_manifest_string</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Hexadecimal_constant</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Boolean_expression</nonterminal>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Operator_expression</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>Parenthesized</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Unary_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Binary_expression</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Parenthesized</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Unary_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Prefix_operator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Binary_expression</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Infix_operator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Equality</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Comparison</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Comparison</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>=</terminal>
</xns1:expression>
<xns1:expression>
<terminal>/=</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Manifest_constant</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>Boolean_constant</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Character_constant</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Integer_constant</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Real_constant</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Manifest_string</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Bit_constant</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Wide_character_constant</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Wide_manifest_string</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Hexadecimal_constant</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Boolean_constant</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>True</terminal>
</xns1:expression>
<xns1:expression>
<terminal>False</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Integer_constant</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Sign</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>Integer</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Real_constant</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>Sign</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>Real</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Sign</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>+</terminal>
</xns1:expression>
<xns1:expression>
<terminal>-</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Wide_character_constant</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>$</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Character_constant</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Wide_manifest_string</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>$</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Manifest_string</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Manifest_array</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>&lt;&lt;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression_list</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>&gt;&gt;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Expression_list</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Old</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>old</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Strip</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>Strip</terminal>
</xns1:expression>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Attribute_list</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Attribute_list</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Attribute</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
</xns1:grammar>