Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
7347 lines (7346 sloc) 177 KB
<?xml version="1.0" encoding="UTF-8"?>
<xns1:grammar xmlns:xns1="http://planet-sl.org/bgf">
<xns1:production>
<nonterminal>compilation_unit</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>context_items_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>library_item</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>subunit</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>pragma</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>pragma</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>PRAGMA</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>IDENTIFIER</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>pragma_args_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>pragma_args_opt</nonterminal>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>LPAREN</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>pragma_arg</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>COMMA</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>pragma_arg</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<nonterminal>RPAREN</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>pragma_arg</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>IDENTIFIER</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>RIGHT_SHAFT</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>context_items_opt</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>pragma</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>with_clause</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>use_clause</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>pragma</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>with_clause</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>w</selector>
<xns1:expression>
<nonterminal>WITH</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>c_name_list</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>c_name_list</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>compound_name</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>COMMA</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>compound_name</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>compound_name</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>IDENTIFIER</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>DOT</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>IDENTIFIER</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>use_clause</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>u</selector>
<xns1:expression>
<nonterminal>USE</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>TYPE</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>subtype_mark</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>COMMA</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>subtype_mark</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>c_name_list</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>subtype_mark</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>compound_name</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>TIC</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>attribute_id</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>attribute_id</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>RANGE</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>DIGITS</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>DELTA</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ACCESS</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>IDENTIFIER</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>library_item</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>private_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>lib_pkg_spec_or_body</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>subprog_decl_or_rename_or_inst_or_body</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>generic_decl</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>private_opt</nonterminal>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>PRIVATE</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>lib_pkg_spec_or_body</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>pkg</selector>
<xns1:expression>
<nonterminal>PACKAGE</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>BODY</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>def_id</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>IS</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>pkg_body_part</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>end_id_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>def_id</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>spec_decl_part</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>subprog_decl</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>p</selector>
<xns1:expression>
<nonterminal>PROCEDURE</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>def_id</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>generic_subp_inst</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>formal_part_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>renames</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>is_separate_or_abstract_or_decl</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>f</selector>
<xns1:expression>
<nonterminal>FUNCTION</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>def_designator</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>generic_subp_inst</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>function_tail</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>renames</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>is_separate_or_abstract_or_decl</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>def_id</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<selectable>
<selector>cn</selector>
<xns1:expression>
<nonterminal>compound_name</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>n</selector>
<xns1:expression>
<nonterminal>IDENTIFIER</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>generic_subp_inst</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>IS</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>generic_inst</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>generic_inst</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>NEW</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>compound_name</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>LPAREN</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>value_s</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>RPAREN</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>parenth_values</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>LPAREN</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>value</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>COMMA</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>value</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<nonterminal>RPAREN</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>value</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>OTHERS</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>RIGHT_SHAFT</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ranged_expr_s</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>RIGHT_SHAFT</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ranged_expr_s</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ranged_expr</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>PIPE</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ranged_expr</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ranged_expr</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>DOT_DOT</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>simple_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>RANGE</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>range</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>range_constraint</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>RANGE</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>range</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>range</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>range_dots</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>range_attrib_ref</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>range_dots</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>simple_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>DOT_DOT</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>simple_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>range_attrib_ref</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>prefix</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>TIC</nonterminal>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>r</selector>
<xns1:expression>
<nonterminal>RANGE</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>LPAREN</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>RPAREN</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>prefix</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>IDENTIFIER</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>DOT</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>ALL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>IDENTIFIER</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>p</selector>
<xns1:expression>
<nonterminal>LPAREN</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>value_s</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>RPAREN</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>formal_part_opt</nonterminal>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>LPAREN</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>parameter_specification</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>parameter_specification</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<nonterminal>RPAREN</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>parameter_specification</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>def_ids_colon</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>mode_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>subtype_mark</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>init_opt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>def_ids_colon</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>defining_identifier_list</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>COLON</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>defining_identifier_list</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>IDENTIFIER</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>COMMA</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>IDENTIFIER</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>mode_opt</nonterminal>
<xns1:expression>
<optional>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>IN</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>OUT</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>OUT</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ACCESS</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</optional>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>renames</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>RENAMES</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>name</nonterminal>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>dummy</selector>
<xns1:expression>
<nonterminal>definable_operator_symbol</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>name</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>IDENTIFIER</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>DOT</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>ALL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>IDENTIFIER</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>CHARACTER_LITERAL</nonterminal>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>dummy</selector>
<xns1:expression>
<nonterminal>is_operator</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>p</selector>
<xns1:expression>
<nonterminal>LPAREN</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>value_s</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>RPAREN</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>TIC</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>attribute_id</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>is_operator</nonterminal>
<xns1:expression>
<selectable>
<selector>op</selector>
<xns1:expression>
<nonterminal>CHAR_STRING</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>definable_operator_symbol</nonterminal>
<xns1:expression>
<selectable>
<selector>op</selector>
<xns1:expression>
<nonterminal>CHAR_STRING</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>parenthesized_primary</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>pp</selector>
<xns1:expression>
<nonterminal>LPAREN</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>NuLL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>RECORD</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>value_s</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>extension_opt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
<xns1:expression>
<nonterminal>RPAREN</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>extension_opt</nonterminal>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>WITH</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>NuLL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>RECORD</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>value_s</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>is_separate_or_abstract_or_decl</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>IS</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>separate_or_abstract</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<epsilon/>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>separate_or_abstract</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>SEPARATE</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ABSTRACT</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>def_designator</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<selectable>
<selector>n</selector>
<xns1:expression>
<nonterminal>compound_name</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>d</selector>
<xns1:expression>
<nonterminal>designator</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>designator</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<selectable>
<selector>op</selector>
<xns1:expression>
<nonterminal>definable_operator_symbol</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>n</selector>
<xns1:expression>
<nonterminal>IDENTIFIER</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>function_tail</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>func_formal_part_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>RETURN</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>subtype_mark</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>func_formal_part_opt</nonterminal>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>LPAREN</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>func_param</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>func_param</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<nonterminal>RPAREN</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>func_param</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>def_ids_colon</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>in_access_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>subtype_mark</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>init_opt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>in_access_opt</nonterminal>
<xns1:expression>
<optional>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>IN</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ACCESS</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</optional>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>spec_decl_part</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>IS</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>generic_inst</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>pkg_spec_part</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>renames</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>pkg_spec_part</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>basic_declarative_items_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>PRIVATE</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>basic_declarative_items_opt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>end_id_opt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>basic_declarative_items_opt</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>basic_decl_item</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>pragma</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>basic_declarative_items</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>basic_decl_item</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>pragma</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>basic_decl_item</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>pkg</selector>
<xns1:expression>
<nonterminal>PACKAGE</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>def_id</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>spec_decl_part</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>tsk</selector>
<xns1:expression>
<nonterminal>TASK</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>task_type_or_single_decl</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>pro</selector>
<xns1:expression>
<nonterminal>PROTECTED</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>prot_type_or_single_decl</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>subprog_decl</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>decl_common</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>task_type_or_single_decl</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>TYPE</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>def_id</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>discrim_part_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>task_definition_opt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>def_id</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>task_definition_opt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>task_definition_opt</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>IS</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>task_items_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>private_task_items_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>end_id_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>discrim_part_opt</nonterminal>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>discrim_part_text</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>discrim_part_text</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>LPAREN</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>BOX</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>discriminant_specifications</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
<xns1:expression>
<nonterminal>RPAREN</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>known_discrim_part</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>LPAREN</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>discriminant_specifications</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>RPAREN</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>empty_discrim_opt</nonterminal>
<xns1:expression>
<epsilon/>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>discrim_part</nonterminal>
<xns1:expression>
<nonterminal>discrim_part_text</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>discriminant_specifications</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>discriminant_specification</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>discriminant_specification</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>discriminant_specification</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>def_ids_colon</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>access_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>subtype_mark</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>init_opt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>access_opt</nonterminal>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>ACCESS</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>init_opt</nonterminal>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ASSIGN</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>task_items_opt</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>pragma</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<nonterminal>entrydecls_repspecs_opt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>entrydecls_repspecs_opt</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>entry_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>pragma</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>rep_spec</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>entry_declaration</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>e</selector>
<xns1:expression>
<nonterminal>ENTRY</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>IDENTIFIER</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>discrete_subtype_def_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>formal_part_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>discrete_subtype_def_opt</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>LPAREN</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>discrete_subtype_definition</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<epsilon/>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>discrete_subtype_definition</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>range</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>subtype_ind</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>rep_spec</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>r</selector>
<xns1:expression>
<nonterminal>FOR</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>subtype_mark</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>USE</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>rep_spec_part</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>rep_spec_part</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>RECORD</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>align_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>comp_loc_s</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>END</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>RECORD</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>AT</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>align_opt</nonterminal>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>AT</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>MOD</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>comp_loc_s</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>pragma</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>subtype_mark</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>AT</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>RANGE</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>range</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>private_task_items_opt</nonterminal>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>PRIVATE</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>pragma</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<nonterminal>entrydecls_repspecs_opt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>prot_type_or_single_decl</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>TYPE</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>def_id</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>discrim_part_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>protected_definition</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>def_id</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>protected_definition</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>protected_definition</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>IS</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>prot_op_decl_s</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>PRIVATE</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>prot_member_decl_s</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>end_id_opt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>prot_op_decl_s</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>prot_op_decl</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>prot_op_decl</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>entry_declaration</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>p</selector>
<xns1:expression>
<nonterminal>PROCEDURE</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>def_id</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>formal_part_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>f</selector>
<xns1:expression>
<nonterminal>FUNCTION</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>def_designator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>function_tail</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>rep_spec</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>pragma</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>prot_member_decl_s</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>prot_op_decl</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>comp_decl</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>comp_decl</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>def_ids_colon</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>component_subtype_def</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>init_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>decl_common</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>t</selector>
<xns1:expression>
<nonterminal>TYPE</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>IDENTIFIER</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>IS</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>type_def</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>discrim_part</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>IS</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>derived_or_private_or_record</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<epsilon/>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>empty_discrim_opt</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>s</selector>
<xns1:expression>
<nonterminal>SUBTYPE</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>IDENTIFIER</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>IS</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>subtype_ind</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>generic_decl</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>use_clause</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>r</selector>
<xns1:expression>
<nonterminal>FOR</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>local_enum_name</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>USE</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>subtype_mark</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>USE</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>rep_spec_part</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>IDENTIFIER</nonterminal>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>erd</selector>
<xns1:expression>
<nonterminal>COLON</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>EXCEPTION</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>RENAMES</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>compound_name</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>IDENTIFIER</nonterminal>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>ord</selector>
<xns1:expression>
<nonterminal>COLON</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>subtype_mark</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>RENAMES</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>name</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>defining_identifier_list</nonterminal>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>od</selector>
<xns1:expression>
<nonterminal>COLON</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>EXCEPTION</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>CONSTANT</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ASSIGN</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>aliased_constant_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>array_type_definition</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>init_opt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>subtype_ind</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>init_opt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>type_def</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>LPAREN</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>enum_id_s</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>RPAREN</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>RANGE</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>range</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>MOD</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>DIGITS</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>range_constraint_opt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>DELTA</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>RANGE</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>range</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>DIGITS</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>range_constraint_opt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>array_type_definition</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>access_type_definition</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>empty_discrim_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>derived_or_private_or_record</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>enum_id_s</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>enumeration_literal_specification</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>COMMA</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>enumeration_literal_specification</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>enumeration_literal_specification</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>IDENTIFIER</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>CHARACTER_LITERAL</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>range_constraint_opt</nonterminal>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>range_constraint</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>array_type_definition</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ARRAY</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>LPAREN</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>index_or_discrete_range_s</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>RPAREN</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>OF</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>component_subtype_def</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>index_or_discrete_range_s</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>index_or_discrete_range</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>COMMA</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>index_or_discrete_range</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>index_or_discrete_range</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>simple_expression</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>DOT_DOT</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>simple_expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>RANGE</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>BOX</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>range</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>component_subtype_def</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>aliased_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>subtype_ind</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>aliased_opt</nonterminal>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>ALIASED</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>subtype_ind</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>subtype_mark</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>constraint_opt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>constraint_opt</nonterminal>
<xns1:expression>
<optional>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>range_constraint</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>digits_constraint</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>delta_constraint</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>index_constraint</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>discriminant_constraint</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</optional>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>digits_constraint</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>d</selector>
<xns1:expression>
<nonterminal>DIGITS</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>range_constraint_opt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>delta_constraint</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>d</selector>
<xns1:expression>
<nonterminal>DELTA</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>range_constraint_opt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>index_constraint</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>p</selector>
<xns1:expression>
<nonterminal>LPAREN</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>discrete_range</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>COMMA</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>discrete_range</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<nonterminal>RPAREN</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>discrete_range</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>range</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>subtype_ind</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>discriminant_constraint</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>p</selector>
<xns1:expression>
<nonterminal>LPAREN</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>discriminant_association</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>COMMA</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>discriminant_association</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<nonterminal>RPAREN</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>discriminant_association</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>selector_names_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>selector_names_opt</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>association_head</nonterminal>
</xns1:expression>
<xns1:expression>
<epsilon/>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>association_head</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>selector_name</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>PIPE</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>selector_name</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<nonterminal>RIGHT_SHAFT</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>selector_name</nonterminal>
<xns1:expression>
<nonterminal>IDENTIFIER</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>access_type_definition</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ACCESS</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>protected_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>PROCEDURE</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>formal_part_opt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>FUNCTION</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>func_formal_part_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>RETURN</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>subtype_mark</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>constant_all_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>subtype_ind</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>protected_opt</nonterminal>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>PROTECTED</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>constant_all_opt</nonterminal>
<xns1:expression>
<optional>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>CONSTANT</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ALL</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</optional>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>derived_or_private_or_record</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>abstract_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NEW</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>subtype_ind</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>WITH</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>NEW</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>subtype_ind</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>abstract_tagged_limited_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>PRIVATE</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>record_definition</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>abstract_opt</nonterminal>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>ABSTRACT</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>record_definition</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>RECORD</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>component_list</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>END</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>RECORD</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>NuLL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>RECORD</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>component_list</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>NuLL</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>component_items</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>variant_part</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>empty_component_items</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>variant_part</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>component_items</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>pragma</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>comp_decl</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>empty_component_items</nonterminal>
<xns1:expression>
<epsilon/>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>variant_part</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>c</selector>
<xns1:expression>
<nonterminal>CASE</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>discriminant_direct_name</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>IS</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>variant_s</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>END</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>CASE</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>discriminant_direct_name</nonterminal>
<xns1:expression>
<nonterminal>IDENTIFIER</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>variant_s</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>variant</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>variant</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>w</selector>
<xns1:expression>
<nonterminal>WHEN</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>choice_s</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>RIGHT_SHAFT</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>component_list</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>choice_s</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>choice</nonterminal>
</xns1:expression>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>PIPE</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>choice</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>choice</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>OTHERS</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>discrete_with_range</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>discrete_with_range</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>mark_with_constraint</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>range</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>mark_with_constraint</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>subtype_mark</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>range_constraint</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>abstract_tagged_limited_opt</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ABSTRACT</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>TAGGED</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>TAGGED</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>LIMITED</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>local_enum_name</nonterminal>
<xns1:expression>
<nonterminal>IDENTIFIER</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>enumeration_aggregate</nonterminal>
<xns1:expression>
<nonterminal>parenth_values</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>aliased_constant_opt</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>ALIASED</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>CONSTANT</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>generic_decl</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>g</selector>
<xns1:expression>
<nonterminal>GENERIC</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>generic_formal_part_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>PACKAGE</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>def_id</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>renames</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>IS</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>pkg_spec_part</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>PROCEDURE</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>def_id</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>formal_part_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>renames</nonterminal>
</xns1:expression>
<xns1:expression>
<epsilon/>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>FUNCTION</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>def_designator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>function_tail</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>renames</nonterminal>
</xns1:expression>
<xns1:expression>
<epsilon/>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>generic_formal_part_opt</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>use_clause</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>pragma</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>generic_formal_parameter</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>generic_formal_parameter</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>t</selector>
<xns1:expression>
<nonterminal>TYPE</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>def_id</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>IS</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>LPAREN</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>BOX</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>RPAREN</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>RANGE</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>BOX</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>MOD</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>BOX</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>DELTA</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>BOX</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>DIGITS</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>BOX</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<epsilon/>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>DIGITS</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>BOX</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>array_type_definition</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>access_type_definition</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>empty_discrim_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>discriminable_type_definition</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>discrim_part</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>IS</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>discriminable_type_definition</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>w</selector>
<xns1:expression>
<nonterminal>WITH</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>PROCEDURE</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>def_id</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>formal_part_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>subprogram_default_opt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>FUNCTION</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>def_designator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>function_tail</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>subprogram_default_opt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>PACKAGE</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>def_id</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>IS</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NEW</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>compound_name</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>formal_package_actual_part_opt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>parameter_specification</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>discriminable_type_definition</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>abstract_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NEW</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>subtype_ind</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>WITH</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>NEW</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>subtype_ind</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>abstract_tagged_limited_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>PRIVATE</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>subprogram_default_opt</nonterminal>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>IS</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>BOX</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>name</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>formal_package_actual_part_opt</nonterminal>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>LPAREN</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>BOX</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>defining_identifier_list</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
<xns1:expression>
<nonterminal>RPAREN</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>subprog_decl_or_rename_or_inst_or_body</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>p</selector>
<xns1:expression>
<nonterminal>PROCEDURE</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>def_id</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>generic_subp_inst</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>formal_part_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>renames</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>IS</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>separate_or_abstract</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>body_part</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<epsilon/>
</xns1:expression>
</choice>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>f</selector>
<xns1:expression>
<nonterminal>FUNCTION</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>def_designator</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>generic_subp_inst</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>function_tail</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>renames</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>IS</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>separate_or_abstract</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>body_part</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<epsilon/>
</xns1:expression>
</choice>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>body_part</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>declarative_part</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>block_body</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>end_id_opt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>declarative_part</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>pragma</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>declarative_item</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>declarative_item</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>pkg</selector>
<xns1:expression>
<nonterminal>PACKAGE</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>body_is</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>separate</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>pkg_body_part</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>end_id_opt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>def_id</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>spec_decl_part</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>tsk</selector>
<xns1:expression>
<nonterminal>TASK</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>body_is</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>separate</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>body_part</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>task_type_or_single_decl</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>pro</selector>
<xns1:expression>
<nonterminal>PROTECTED</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>body_is</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>separate</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>prot_op_bodies_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>end_id_opt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>prot_type_or_single_decl</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>subprog_decl_or_rename_or_inst_or_body</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>decl_common</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>body_is</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>BODY</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>def_id</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>IS</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>separate</nonterminal>
<xns1:expression>
<nonterminal>SEPARATE</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>pkg_body_part</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>declarative_part</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>block_body_opt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>block_body_opt</nonterminal>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>BEGIN</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>handled_stmt_s</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>prot_op_bodies_opt</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>entry_body</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>subprog_decl_or_body</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>pragma</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>subprog_decl_or_body</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>p</selector>
<xns1:expression>
<nonterminal>PROCEDURE</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>def_id</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>formal_part_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>IS</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>body_part</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<epsilon/>
</xns1:expression>
</choice>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>f</selector>
<xns1:expression>
<nonterminal>FUNCTION</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>def_designator</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>function_tail</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>IS</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>body_part</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<epsilon/>
</xns1:expression>
</choice>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>block_body</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>b</selector>
<xns1:expression>
<nonterminal>BEGIN</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>handled_stmt_s</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>handled_stmt_s</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>statements</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>except_handler_part_opt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>statements</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>pragma</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>statement</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>statement</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>def_label_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>null_stmt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>exit_stmt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>return_stmt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>goto_stmt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>delay_stmt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>abort_stmt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>raise_stmt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>requeue_stmt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>accept_stmt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>select_stmt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>if_stmt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>case_stmt</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>loop_stmt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>block</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>END</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>statement_identifier</nonterminal>
</xns1:expression>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>loop_stmt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>id_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>block</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>end_id_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>call_or_assignment</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>def_label_opt</nonterminal>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>LT_LT</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>IDENTIFIER</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>GT_GT</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>null_stmt</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>s</selector>
<xns1:expression>
<nonterminal>NuLL</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>if_stmt</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>s</selector>
<xns1:expression>
<nonterminal>IF</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>cond_clause</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>elsifs_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>else_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>END</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>IF</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>cond_clause</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>condition</nonterminal>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>c</selector>
<xns1:expression>
<nonterminal>THEN</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>statements</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>condition</nonterminal>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>elsifs_opt</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ELSIF</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>cond_clause</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>else_opt</nonterminal>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ELSE</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>statements</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>case_stmt</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>s</selector>
<xns1:expression>
<nonterminal>CASE</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>IS</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>alternative_s</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>END</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>CASE</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>alternative_s</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<nonterminal>case_statement_alternative</nonterminal>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>case_statement_alternative</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>s</selector>
<xns1:expression>
<nonterminal>WHEN</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>choice_s</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>RIGHT_SHAFT</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>statements</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>loop_stmt</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>iteration_scheme_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>LOOP</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>statements</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>END</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>LOOP</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>iteration_scheme_opt</nonterminal>
<xns1:expression>
<optional>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>WHILE</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>condition</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>FOR</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>IDENTIFIER</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>IN</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>reverse_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>discrete_subtype_definition</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</optional>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>reverse_opt</nonterminal>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>REVERSE</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>id_opt</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<selectable>
<selector>endid</selector>
<xns1:expression>
<nonterminal>definable_operator_symbol</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>n</selector>
<xns1:expression>
<nonterminal>compound_name</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<epsilon/>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>end_id_opt</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>END</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>id_opt</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>statement_identifier</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>n</selector>
<xns1:expression>
<nonterminal>IDENTIFIER</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<nonterminal>COLON</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>block</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>declare_opt</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>block_body</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>declare_opt</nonterminal>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>DECLARE</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>declarative_part</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>exit_stmt</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>s</selector>
<xns1:expression>
<nonterminal>EXIT</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>label_name</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>WHEN</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>condition</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>label_name</nonterminal>
<xns1:expression>
<nonterminal>IDENTIFIER</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>return_stmt</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>s</selector>
<xns1:expression>
<nonterminal>RETURN</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<nonterminal>expression</nonterminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>SEMI</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>goto_stmt</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>s</selector>
<xns1:expression>
<nonterminal>GOTO</nonterminal>