home *** CD-ROM | disk | FTP | other *** search
Text File | 1988-05-03 | 80.6 KB | 3,785 lines |
- %options default pliformat actions commb=-- tables
-
- %define
-
- %action
- /.
- -------------------------------------------------------------------
- %rule_text
- ./
-
- %case_expression
- /. when %rule_num =>
- ./
-
- %start_case_expression
- /. when %rule_num
- ./
- %continue_case_expression
- /. | %rule_num
- ./
-
- %end_case_expression
- /. | %rule_num =>
- ./
-
- %terminals ----------------------------------------------------------
-
- -- This section also contains comments giving the identifier
- -- by which grammar symbols will be known in the generated
- -- parse tables package. These comments will be extracted
- -- from this file and placed in that package. Please note
- -- that some of the users of the parse tables package make
- -- use of the order and in some cases the value of the
- -- grammar symbols identified below.
-
- ----------------------------------------------------------------------
- -- EMPTY is always the first grammar symbol
- ----------------------------------------------------------------------
- --(TK Empty_TokenValue : constant GrammarSymbolRange := 1;;
-
- ----------------------------------------------------------------------
- -- Reserved Words
- ----------------------------------------------------------------------
- ABORT --(TK AbortTokenValue : constant GrammarSymbolRange := 2;;
- ABS --(TK AbsTokenValue : constant GrammarSymbolRange := 3;;
- ACCEPT --(TK AcceptTokenValue : constant GrammarSymbolRange := 4;;
- ACCESS --(TK AccessTokenValue : constant GrammarSymbolRange := 5;;
- ALL --(TK AllTokenValue : constant GrammarSymbolRange := 6;;
- AND --(TK AndTokenValue : constant GrammarSymbolRange := 7;;
- ARRAY --(TK ArrayTokenValue : constant GrammarSymbolRange := 8;;
- AT --(TK AtTokenValue : constant GrammarSymbolRange := 9;;
- BEGIN --(TK BeginTokenValue : constant GrammarSymbolRange := 10;;
- BODY --(TK BodyTokenValue : constant GrammarSymbolRange := 11;;
- CASE --(TK CaseTokenValue : constant GrammarSymbolRange := 12;;
- CONSTANT
- --(TK ConstantTokenValue : constant GrammarSymbolRange := 13;;
- DECLARE
- --(TK DeclareTokenValue : constant GrammarSymbolRange := 14;;
- DELAY --(TK DelayTokenValue : constant GrammarSymbolRange := 15;;
- DELTA --(TK DeltaTokenValue : constant GrammarSymbolRange := 16;;
- DIGITS --(TK DigitsTokenValue : constant GrammarSymbolRange := 17;;
- DO --(TK DoTokenValue : constant GrammarSymbolRange := 18;;
- ELSE --(TK ElseTokenValue : constant GrammarSymbolRange := 19;;
- ELSIF --(TK ElsifTokenValue : constant GrammarSymbolRange := 20;;
- END --(TK EndTokenValue : constant GrammarSymbolRange := 21;;
- ENTRY --(TK EntryTokenValue : constant GrammarSymbolRange := 22;;
- EXCEPTION
- --(TK ExceptionTokenValue : constant GrammarSymbolRange := 23;;
- EXIT --(TK ExitTokenValue : constant GrammarSymbolRange := 24;;
- FOR --(TK ForTokenValue : constant GrammarSymbolRange := 25;;
- FUNCTION
- --(TK FunctionTokenValue : constant GrammarSymbolRange := 26;;
- GENERIC
- --(TK GenericTokenValue : constant GrammarSymbolRange := 27;;
- GOTO --(TK GotoTokenValue : constant GrammarSymbolRange := 28;;
- IF --(TK IfTokenValue : constant GrammarSymbolRange := 29;;
- IN --(TK InTokenValue : constant GrammarSymbolRange := 30;;
- IS --(TK IsTokenValue : constant GrammarSymbolRange := 31;;
- LIMITED
- --(TK LimitedTokenValue : constant GrammarSymbolRange := 32;;
- LOOP --(TK LoopTokenValue : constant GrammarSymbolRange := 33;;
- MOD --(TK ModTokenValue : constant GrammarSymbolRange := 34;;
- NEW --(TK NewTokenValue : constant GrammarSymbolRange := 35;;
- NOT --(TK NotTokenValue : constant GrammarSymbolRange := 36;;
- NULL --(TK NullTokenValue : constant GrammarSymbolRange := 37;;
- OF --(TK OfTokenValue : constant GrammarSymbolRange := 38;;
- OR --(TK OrTokenValue : constant GrammarSymbolRange := 39;;
- OTHERS --(TK OthersTokenValue : constant GrammarSymbolRange := 40;;
- OUT --(TK OutTokenValue : constant GrammarSymbolRange := 41;;
- PACKAGE
- --(TK PackageTokenValue : constant GrammarSymbolRange := 42;;
- PRAGMA --(TK PragmaTokenValue : constant GrammarSymbolRange := 43;;
- PRIVATE
- --(TK PrivateTokenValue : constant GrammarSymbolRange := 44;;
- PROCEDURE
- --(TK ProcedureTokenValue : constant GrammarSymbolRange := 45;;
- RAISE --(TK RaiseTokenValue : constant GrammarSymbolRange := 46;;
- RANGE --(TK RangeTokenValue : constant GrammarSymbolRange := 47;;
- RECORD --(TK RecordTokenValue : constant GrammarSymbolRange := 48;;
- REM --(TK RemTokenValue : constant GrammarSymbolRange := 49;;
- RENAMES
- --(TK RenamesTokenValue : constant GrammarSymbolRange := 50;;
- RETURN --(TK ReturnTokenValue : constant GrammarSymbolRange := 51;;
- REVERSE
- --(TK ReverseTokenValue : constant GrammarSymbolRange := 52;;
- SELECT --(TK SelectTokenValue : constant GrammarSymbolRange := 53;;
- SEPARATE
- --(TK SeparateTokenValue : constant GrammarSymbolRange := 54;;
- SUBTYPE
- --(TK SubtypeTokenValue : constant GrammarSymbolRange := 55;;
- TASK --(TK TaskTokenValue : constant GrammarSymbolRange := 56;;
- TERMINATE
- --(TK TerminateTokenValue : constant GrammarSymbolRange := 57;;
- THEN --(TK ThenTokenValue : constant GrammarSymbolRange := 58;;
- TYPE --(TK TypeTokenValue : constant GrammarSymbolRange := 59;;
- USE --(TK UseTokenValue : constant GrammarSymbolRange := 60;;
- WHEN --(TK WhenTokenValue : constant GrammarSymbolRange := 61;;
- WHILE --(TK WhileTokenValue : constant GrammarSymbolRange := 62;;
- WITH --(TK WithTokenValue : constant GrammarSymbolRange := 63;;
- XOR --(TK XorTokenValue : constant GrammarSymbolRange := 64;;
-
- ----------------------------------------------------------------------
- -- Identifier and Literals
- ----------------------------------------------------------------------
- identifier
- --(TK IdentifierTokenValue : constant GrammarSymbolRange := 65;;
- numeric_literal
- --(TK NumericTokenValue : constant GrammarSymbolRange := 66;;
- string_literal
- --(TK StringTokenValue : constant GrammarSymbolRange := 67;;
- character_literal
- --(TK CharacterTokenValue : constant GrammarSymbolRange := 68;;
-
- ----------------------------------------------------------------------
- -- Single Delimiters
- ----------------------------------------------------------------------
- & --(TK Ampersand_TokenValue : constant GrammarSymbolRange := 69;;
- ' --(TK Apostrophe_TokenValue : constant GrammarSymbolRange := 70;;
- ( --(TK LeftParen_TokenValue : constant GrammarSymbolRange := 71;;
- ) --(TK RightParen_TokenValue : constant GrammarSymbolRange := 72;;
- * --(TK Star_TokenValue : constant GrammarSymbolRange := 73;;
- + --(TK Plus_TokenValue : constant GrammarSymbolRange := 74;;
- , --(TK Comma_TokenValue : constant GrammarSymbolRange := 75;;
- - --(TK Minus_TokenValue : constant GrammarSymbolRange := 76;;
- . --(TK Dot_TokenValue : constant GrammarSymbolRange := 77;;
- / --(TK Slash_TokenValue : constant GrammarSymbolRange := 78;;
- : --(TK Colon_TokenValue : constant GrammarSymbolRange := 79;;
- ; --(TK SemiColon_TokenValue : constant GrammarSymbolRange := 80;;
- < --(TK LT_TokenValue : constant GrammarSymbolRange := 81;;
- = --(TK EQ_TokenValue : constant GrammarSymbolRange := 82;;
- > --(TK GT_TokenValue : constant GrammarSymbolRange := 83;;
- '|' --(TK Bar_TokenValue : constant GrammarSymbolRange := 84;;
-
- ----------------------------------------------------------------------
- -- Double Delimiters
- ----------------------------------------------------------------------
- => --(TK EQGT_TokenValue : constant GrammarSymbolRange := 85;;
- .. --(TK DotDot_TokenValue : constant GrammarSymbolRange := 86;;
- ** --(TK StarStar_TokenValue : constant GrammarSymbolRange := 87;;
- := --(TK ColonEQ_TokenValue : constant GrammarSymbolRange := 88;;
- /= --(TK SlashEQ_TokenValue : constant GrammarSymbolRange := 89;;
- >= --(TK GTEQ_TokenValue : constant GrammarSymbolRange := 90;;
- <= --(TK LTEQ_TokenValue : constant GrammarSymbolRange := 91;;
- << --(TK LTLT_TokenValue : constant GrammarSymbolRange := 92;;
- >> --(TK GTGT_TokenValue : constant GrammarSymbolRange := 93;;
- <> --(TK LTGT_TokenValue : constant GrammarSymbolRange := 94;;
-
- ----------------------------------------------------------------------
- -- Comment Terminal
- ----------------------------------------------------------------------
- comment_literal
- --(TK Comment_TokenValue : constant GrammarSymbolRange := 95;;
- ----------------------------------------------------------------------
- -- Special Terminals
- ----------------------------------------------------------------------
- --(TK EOF_TokenValue : constant GrammarSymbolRange := 96;;
-
- ----------------------------------------------------------------------
- -- Special Non-Terminals
- ----------------------------------------------------------------------
- --(TK ACC_TokenValue : constant GrammarSymbolRange := 97;;
-
- %start --------------------------------------------------------------
-
- compilation
-
- %rules --------------------------------------------------------------
-
-
- /.
- with Source_Instrumenter_Declarations;
-
- separate (Parser)
- procedure Apply_Actions(Rule_Number : in PT.LeftHandSideRange) is
-
- -- all procedure calls in this unit are procedures in package
- -- Source_Instrumenter_Utilities
-
- use Source_Instrumenter_Declarations;
- use Source_Instrumenter_Utilities;
-
- begin
-
- case Rule_Number is
-
- ./
-
- -- LRM 2.8
-
- pragma ::=
- PRAGMA identifier ( general_component_associations ) ;
-
- /. %action %start_case_expression ./
-
- | PRAGMA identifier ;
-
- /. %action %end_case_expression
- New_Line;
- ./
-
- -- LRM 3.1
-
- basic_declaration ::=
- --c object_declaration
-
- --c | number_declaration
-
- type_declaration
-
- /. %action %case_expression
- End_Type_Declaration;
- ./
-
- | subtype_declaration
-
- -- no action
-
- | subprogram_declaration
-
- -- no action
-
- | package_declaration
-
- -- no action
-
- | task_specification
-
- -- no action
-
- | generic_specification
-
- -- no action
-
- --c | exception_declaration
-
- | generic_instantiation
-
- -- no action
-
- | renaming_declaration
-
- -- no action
-
- --c
- basic_colon_declaration ::=
- object_declaration
-
- /. %action %start_case_expression ./
-
- | number_declaration
-
- /. %action %continue_case_expression ./
-
- | exception_declaration
-
- /. %action %continue_case_expression ./
-
- | renaming_colon_declaration
-
- /. %action %end_case_expression
- New_Line;
- ./
-
- -- LRM 3.2
-
- object_declaration ::=
- identifier_list : subtype_indication [:=expression] ;
-
-
- /. %action %case_expression
- Set_Identifier_Mode (Read_Write);
- Process_Identifier_List (Object_List);
- ./
-
- | identifier_list : CONSTANT subtype_indication
- [:=expression] ;
-
- /. %action %case_expression
- Set_Identifier_Mode (Read_Only);
- Process_Identifier_List (Object_List);
- ./
-
- --sd | identifier_list : constrained_array_definition
- --sd [:=expression] ;
-
- | identifier_list : start_cad constrained_array_definition
- end_cad [:=expression] ;
-
- /. %action %case_expression
- Set_Identifier_Mode (Read_Write);
- Process_Identifier_List (Object_List);
- ./
-
- --sd | identifier_list : CONSTANT
- --sd constrained_array_definition [:=expression] ;
-
- | identifier_list : CONSTANT start_cad
- constrained_array_definition end_cad [:=expression] ;
-
- /. %action %case_expression
- Set_Identifier_Mode (Read_Only);
- Process_Identifier_List (Object_List);
- ./
-
- --sd
- start_cad ::=
- empty
-
- /. %action %case_expression
- Start_Anonymous_Array_Definition;
- ./
-
- --sd
- end_cad ::=
- empty
-
- /. %action %case_expression
- End_Anonymous_Array_Definition;
- ./
-
- number_declaration ::=
- identifier_list : CONSTANT := expression ;
-
- /. %action %case_expression
- Set_Identifier_Mode (Const);
- Process_Identifier_List (Object_List);
- ./
-
- identifier_list ::=
- --sd identifier {,identifier}
- save_identifier {,save_identifier}
-
- -- no action
-
- --sd
- save_identifier ::=
- identifier
-
- /. %action %case_expression
- Add_Identifier_To_List;
- ./
-
- -- LRM 3.3.1
-
- type_declaration ::=
- full_type_declaration
-
- -- no action
-
- | incomplete_type_declaration
-
- -- no action
-
- | private_type_declaration
-
- -- no action
-
- full_type_declaration ::=
- --c TYPE identifier IS type_definition ;
- --sd TYPE identifier IS type_definition
-
- TYPE type_identifier IS type_definition
-
- -- no action
-
- --c | TYPE identifier ( discriminant_specification
- --c {;discriminant_specification} ) IS type_definition ;
-
- --sd | TYPE identifier left_paren discriminant_specification
- --sd {;discriminant_specification} right_paren IS type_definition
-
- | TYPE type_identifier left_paren discriminant_specification
- {;discriminant_specification} right_paren IS type_definition
-
- -- no action
-
- --sd
- type_identifier ::=
- identifier
-
- /. %action %case_expression
- Save_Type_Identifier;
- ./
-
- type_definition ::=
- --c enumeration_type_definition
-
- enumeration_type_definition ;
-
- -- no action
-
- --c | integer_type_definition
-
- | integer_type_definition ;
-
- -- no action
-
- --c | real_type_definition
-
- | real_type_definition ;
-
- -- no action
-
- --c | array_type_definition
-
- | array_type_definition ;
-
- /. %action %case_expression
- Save_Type_Class (Array_Type);
- ./
- -- no action
-
- --c | record_type_definition
-
- | record_type_definition ;
-
- /. %action %case_expression
- Decrease_Indent;
- Save_Type_Class (Record_Type);
- ./
-
- --c | access_type_definition
-
- | access_type_definition ;
-
- /. %action %case_expression
- Save_Type_Class (Access_Type);
- ./
-
- --c | derived_type_definition
-
- | derived_type_definition ;
-
- -- no action
-
- -- LRM 3.3.2
-
- subtype_declaration ::=
- SUBTYPE identifier IS subtype_indication ;
-
- -- no action
-
- subtype_indication ::=
- type_mark
-
- -- no action
-
- | type_mark constraint
-
- -- no action
-
- type_mark ::=
- type_name|subtype_name
-
- /. %action %case_expression
- End_Typemark;
- ./
-
-
- constraint ::=
- range_constraint
-
- -- no action
-
- | floating_point_constraint
-
- -- no action
-
- | fixed_point_constraint
-
- -- no action
-
- | ( general_component_associations )
-
- -- no action
-
- -- LRM 3.4
-
- derived_type_definition ::=
- NEW start_expanded_name subtype_indication
-
- /. %action %case_expression
- Save_Type_Class (Derived_Type);
- ./
-
- -- LRM 3.5
-
- range_constraint ::=
- RANGE simple_expression
-
- -- no action
-
- | RANGE simple_expression .. simple_expression
-
- -- no action
-
- -- LRM 3.5.1
-
- enumeration_type_definition ::=
- ( enumeration_literal_specification
- {,enumeration_literal_specification} )
-
- /. %action %case_expression
- Save_Type_Class (Enumeration_Type);
- ./
-
- enumeration_literal_specification ::=
- enumeration_literal
-
- -- no action
-
- enumeration_literal ::=
- identifier
-
- -- no action
-
- | character_literal
-
- -- no action
-
- -- LRM 3.5.4
-
- integer_type_definition ::=
- range_constraint
-
- /. %action %case_expression
- Save_Type_Class (Integer_Type);
- ./
-
- -- LRM 3.5.6
-
- real_type_definition ::=
- floating_point_constraint
-
- /. %action %case_expression
- Save_Type_Class (Float_Type);
- ./
-
- | fixed_point_constraint
-
- /. %action %case_expression
- Save_Type_Class (Fixed_Type);
- ./
-
- -- LRM 3.5.7
-
- floating_point_constraint ::=
- floating_accuracy_definition [range_constraint]
-
- -- no action
-
- floating_accuracy_definition ::=
- DIGITS simple_expression
-
- -- no action
-
- -- LRM 3.5.9
-
- fixed_point_constraint ::=
- fixed_accuracy_definition [range_constraint]
-
- -- no action
-
- fixed_accuracy_definition ::=
- DELTA simple_expression
-
- -- no action
-
- -- LRM 3.6
-
- array_type_definition ::=
- unconstrained_array_definition
-
- -- no action
-
- | constrained_array_definition
-
- -- no action
-
- unconstrained_array_definition ::=
- --sd ARRAY ( index_subtype_definition
- --sd {,index_subtype_definition} ) OF subtype_indication
-
- ARRAY index_left_paren index_subtype_definition
- {,index_subtype_definition} index_right_paren
- OF subtype_indication
-
- -- no action
-
- constrained_array_definition ::=
- ARRAY index_constraint OF subtype_indication
-
- -- no action
-
- index_subtype_definition ::=
- name RANGE <>
-
- /. %action %case_expression
- Increment_Array_Index;
- ./
-
- index_constraint ::=
- --sd ( discrete_range {,discrete_range} )
- index_left_paren discrete_range {,discrete_range} index_right_paren
-
- -- no action
-
- --sd
- index_left_paren ::=
- (
-
- /. %action %case_expression
- Start_Array_Index;
- ./
-
- --sd
- index_right_paren ::=
- )
-
- /. %action %case_expression
- End_Array_Index;
- ./
-
- discrete_range ::=
- name range_constraint
-
- /. %action %start_case_expression ./
-
- | range
-
- /. %action %end_case_expression
- Increment_Array_Index;
- ./
-
- range ::=
- simple_expression
-
- | simple_expression .. simple_expression
-
- -- no action
-
- -- LRM 3.7
-
- record_type_definition ::=
- --c RECORD component_list END RECORD
-
- start_of_record_type record_terminal component_list END RECORD
-
- -- no action
-
- component_list ::=
- --c {pragma_decl} {component_declaration}
- --c component_declaration {pragma_decl}
-
- {pragma_decl} {component_declaration}
- component_declaration closing_{pragma_decl}
-
- /. %action %start_case_expression ./
-
- --c | {pragma_decl} {component_declaration}
- --c variant_part {pragma_decl}
-
- | {pragma_decl} {component_declaration}'
- variant_part {pragma_decl}
-
- /. %action %end_case_expression
- Decrease_Indent;
- ./
-
- --c | NULL ; {pragma_decl}
-
- | null_statement {pragma_decl}
-
- --sd -- buffering started at record_terminal so must print out
- --sd Print_Colon_Declarations_Buffer;
- /. %action %case_expression
- Decrease_Indent;
- Null_Record_Field;
- ./
-
- component_declaration ::=
- identifier_list : subtype_indication [:=expression] ;
-
- /. %action %case_expression
- New_Line;
- Process_Identifier_List (Record_Field_List);
- ./
-
- -- LRM 3.7.1
-
- discriminant_specification ::=
- identifier_list : type_mark [:=expression]
-
- /. %action %case_expression
- Process_Identifier_List (Discriminant_List);
- ./
-
- -- LRM 3.7.3
-
- variant_part ::=
- --c CASE identifier IS {pragma_variant} variant {variant}
- --c END CASE ;
-
- CASE__identifier__IS {pragma_variant}__variant__{variant}
- END CASE ;
-
-
- /. %action %case_expression
- New_Line;
- ./
-
- variant ::=
- --c WHEN choice {|choice} => component_list
- --sd WHEN__variant_choice__{|variant_choice}__=> component_list
-
- start_record_variant WHEN__variant_choice__{|variant_choice}__=>
- component_list
-
- -- no action
-
- --c | WHEN OTHERS => component_list
- --sd | WHEN__variant_OTHERS__=> component_list
-
- | start_record_variant WHEN__variant_OTHERS__=> component_list
-
- -- no action
-
- --sd
- start_record_variant ::=
- empty
-
- /. %action %case_expression
- Start_Record_Variant;
- ./
-
- choice ::=
- simple_expression
-
- -- no action
-
- | simple_expression .. simple_expression
-
- -- no action
-
- | name range_constraint
-
- -- no action
-
- -- LRM 3.8
-
- access_type_definition ::=
- ACCESS subtype_indication
-
- -- no action
-
- -- LRM 3.8.1
-
- incomplete_type_declaration ::=
- --sd TYPE identifier ;
- TYPE type_identifier ;
-
- -- no action
-
- --c | TYPE identifier ( discriminant_specification
- --c {;discriminant_specification} ) ;
-
- --sd | TYPE identifier left_paren discriminant_specification
- --sd {;discriminant_specification} right_paren ;
-
- | TYPE type_identifier left_paren discriminant_specification
- {;discriminant_specification} right_paren ;
-
- -- no action
-
- -- LRM 3.9
-
- declarative_part ::=
- --s {basic_declarative_item}
- start_bdi {basic_declarative_item}
-
- /. %action %start_case_expression ./
-
- --s | {basic_declarative_item} body {later_declarative_item}
- | start_bdi {basic_declarative_item} body {later_declarative_item}
-
- /. %action %end_case_expression
- Decrease_Indent;
- End_Declarative_Part;
- ./
-
- --s
- start_bdi ::=
- empty
-
- /. %action %case_expression
- Start_Declarative_Part;
- ./
-
- basic_declarative_item ::=
- basic_declaration
-
- /. %action %start_case_expression ./
-
- | representation_clause
-
- /. %action %continue_case_expression ./
-
- | use_clause
-
- /. %action %continue_case_expression ./
-
- later_declarative_item ::=
- body
-
- -- no action
-
- | subprogram_declaration
-
- /. %action %continue_case_expression ./
-
- | package_declaration
-
- /. %action %continue_case_expression ./
-
- | task_specification
-
- /. %action %continue_case_expression ./
-
- | generic_specification
-
- /. %action %continue_case_expression ./
-
- | use_clause
-
- /. %action %continue_case_expression ./
-
- | generic_instantiation
-
- /. %action %continue_case_expression ./
-
- body ::=
- proper_body
-
- /. %action %continue_case_expression ./
-
- | body_stub
-
- /. %action %end_case_expression
- New_Line;
- ./
-
- proper_body ::=
- subprogram_body
-
- -- no action
- --sd /. %action %start_case_expression ./
-
- | package_body
-
- -- no action
- --sd /. %action %continue_case_expression ./
-
- | task_body
-
- -- no action
- --sd /. %action %end_case_expression
- --sd Switch_Comment_Context;
- --sd./
-
- -- LRM 4.1
-
- name ::=
- identifier
-
- -- no action
-
- | character_literal
-
- -- no action
-
- | string_literal
-
- -- no action
-
- | indexed_component
-
- -- no action
-
- | selected_component
-
- -- no action
-
- | attribute
-
- -- no action
-
-
- -- LRM 4.1.1 & 4.1.2
-
- indexed_component ::=
- name ( general_component_associations )
-
- -- no action
-
- -- LRM 4.1.3
-
- selected_component ::=
- name . selector
-
- -- no action
-
- | name . ALL
-
- -- no action
-
- selector ::=
- identifier
-
- -- no action
-
- | character_literal
-
- -- no action
-
- | string_literal
-
- -- no action
-
- -- LRM 4.1.4
-
- attribute ::=
- name ' attribute_designator
-
- -- no action
-
- attribute_designator ::=
- identifier
-
- -- no action
-
- | DIGITS
-
- -- no action
-
- | DELTA
-
- -- no action
-
- | RANGE
-
- -- no action
-
- -- LRM 4.3
-
- aggregate ::=
- ( component_associations )
-
- -- no action
-
- component_associations ::=
- expression,expression{,expression}
- [,others=>expression]
-
- -- no action
-
- | expression,expression{,expression}
- , choice{|choice}=>expression
- {,choice{|choice}=>expression}
- [,others=>expression]
-
- -- no action
-
- | expression
- , choice{|choice}=>expression
- {,choice{|choice}=>expression}
- [,others=>expression]
-
- -- no action
-
- | choice{|choice}=>expression
- {,choice{|choice}=>expression}
- [,others=>expression]
-
- -- no action
-
- | expression , others=>expression
-
- -- no action
-
- | others=>expression
-
- -- no action
-
- general_component_associations ::=
- ga_expression{,ga_expression}
-
- -- no action
-
- | ga_expression{,ga_expression}
- , identifier{|identifier}=>expression
- {,identifier{|identifier}=>expression}
-
- -- no action
-
- | identifier{|identifier}=>expression
- {,identifier{|identifier}=>expression}
-
- -- no action
-
- -- LRM 4.4
-
- expression ::=
- relation
-
- -- no action
-
- | relation{AND__relation}
-
- -- no action
-
- | relation{OR__relation}
-
- -- no action
-
- | relation{XOR__relation}
-
- -- no action
-
- | relation{AND__THEN__relation}
-
- -- no action
-
- | relation{OR__ELSE__relation}
-
- -- no action
-
- relation ::=
- simple_expression
- [relational_operator__simple_expression]
-
- -- no action
-
- | simple_expression [NOT]IN range
-
- -- no action
-
- simple_expression ::=
- [unary_adding_operator]term{binary_adding_operator__term}
-
- -- no action
-
- term ::=
- factor{multiplying_operator__factor}
-
- -- no action
-
- factor ::=
- primary [exponentiating_operator__primary]
-
- -- no action
-
- | high_precedence_unary_operator primary
-
- -- no action
-
- parenthesized_expression ::=
- ( expression )
-
- -- no action
-
-
- primary ::=
- numeric_literal
-
- -- no action
-
- | NULL
-
- -- no action
-
- | name
-
- -- no action
-
- | allocator
-
- -- no action
-
- | qualified_expression
-
- -- no action
-
- | aggregate
-
- -- no action
-
- | parenthesized_expression
-
- -- no action
-
- relational_operator ::=
- =
-
- -- no action
-
- | /=
-
- -- no action
- | <
-
- -- no action
- | <=
-
- -- no action
- | >
-
- -- no action
-
- | >=
-
- -- no action
-
- binary_adding_operator ::=
- +
-
- /. %action %start_case_expression ./
-
- | -
-
- /. %action %end_case_expression
- Put_Space;
- ./
-
- | &
-
- -- no action
-
- unary_adding_operator ::=
- +
-
- -- no action
-
- | -
-
- -- no action
-
- high_precedence_unary_operator ::=
- ABS
-
- -- no action
-
- | NOT
-
- -- no action
-
- multiplying_operator ::=
- *
-
- -- no action
-
- | /
-
- -- no action
-
- | MOD
-
- -- no action
-
- | REM
-
- -- no action
-
- exponentiating_operator ::=
- **
-
- -- no action
-
- -- LRM 4.7
-
- qualified_expression ::=
- name ' aggregate
-
- -- no action
-
- | name ' parenthesized_expression
-
- -- no action
-
-
- -- LRM 4.8
-
- allocator ::=
- NEW type_mark
-
- -- no action
-
- | NEW type_mark ( general_component_associations )
-
- -- no action
-
- | NEW expanded_name ' parenthesized_expression
-
- -- no action
-
- | NEW expanded_name ' aggregate
-
- -- no action
-
- -- LRM 5.1
-
- sequence_of_statements ::=
- {pragma_stm} statement {statement}
-
- /. %action %case_expression
- Decrease_Indent;
- ./
-
- statement ::=
- simple_statement
-
- -- no action
-
- | compound_statement
-
- -- no action
-
-
- | {label}+ simple_statement
-
- -- no action
-
- | {label}+ compound_statement
-
- -- no action
-
-
- simple_statement ::=
- --sd null_statement
- break_point null_statement
-
- -- no action
-
- --sd | assignment_statement
- | break_point assignment_statement
-
- /. %action %start_case_expression ./
-
- --sd | exit_statement
- | break_point exit_statement
-
- /. %action %continue_case_expression ./
-
- --sd | return_statement
- | break_return return_statement
-
- /. %action %continue_case_expression ./
-
- --sd | goto_statement
- | break_point goto_statement
-
- /. %action %continue_case_expression ./
-
- --sd | delay_statement
- | break_point delay_statement
-
- -- no action
-
- --sd | abort_statement
- | break_point abort_statement
-
- /. %action %continue_case_expression ./
-
- --sd | raise_statement
- | break_point raise_statement
-
- /. %action %continue_case_expression ./
-
- --sd | code_statement
- | break_point code_statement
-
- /. %action %continue_case_expression ./
-
- --sd | call_statement
- | break_point call_statement
-
- -- no action
-
- compound_statement ::=
- --sd if_statement
- break_point if_statement
-
- /. %action %continue_case_expression ./
-
- --sd | case_statement
- | break_point case_statement
-
- /. %action %continue_case_expression ./
-
- --sd | loop_statement
- | break_point loop_statement
-
- /. %action %continue_case_expression ./
-
- --sd | block_statement
- | break_point block_statement
-
- /. %action %continue_case_expression ./
-
- --sd | accept_statement
- | break_point accept_statement
-
- -- no action
-
- --sd | select_statement
- | break_point select_statement
-
- /. %action %end_case_expression
- New_Line;
- ./
-
- --sd
- break_point ::=
- empty
-
- /. %action %case_expression
- Add_Breakpoint;
- ./
-
-
- --sd
- break_return ::=
- empty
-
- /. %action %case_expression
- Start_Return_Statement;
- ./
-
-
- label ::=
- << identifier >>
-
- -- no action
-
- null_statement ::=
- NULL ;
-
- /. %action %case_expression
- New_Line;
- ./
-
-
- -- LRM 5.2
-
- assignment_statement ::=
- name := expression ;
-
- -- no action
-
- -- LRM 5.3
-
- if_statement ::=
- --c IF condition_THEN__sequence_of_statements
- --c {ELSIF__condition__THEN__sequence_of_statements}
- --c [ELSE__sequence_of_statements] END IF ;
-
- IF condition__THEN__sequence_of_statements
- {ELSIF__condition__THEN__sequence_of_statements}
- [ELSE__sequence_of_statements] END IF ;
-
- -- no action
-
- condition ::=
- expression
-
- -- no action
-
- -- LRM 5.4
-
- case_statement ::=
- --c CASE expression IS
- --c {pragma_alt} case_statement_alternative
- --c {case_statement_alternative} END CASE ;
-
- CASE__expression__IS
- {pragma_alt}__case_statement_alternative__{case_statement_alternative}
- END CASE ;
-
- -- no action
-
- case_statement_alternative ::=
- --c WHEN choice {|choice} => sequence_of_statements
- --s WHEN__choice__{|choice}__=> sequence_of_statements
-
- WHEN__case_choice__{|choice}__=> sequence_of_statements
-
- -- no action
-
- --c | WHEN OTHERS => sequence_of_statements
- --s | WHEN__OTHERS__=> sequence_of_statements
-
- | WHEN__case_OTHERS__=> sequence_of_statements
-
- -- no action
-
- -- LRM 5.5
-
- -- no action
-
-
- loop_statement ::=
- --c [loop_identifier:] LOOP sequence_of_statements
- --c END LOOP [identifier] ;
-
- [loop_identifier:] loop_terminal sequence_of_statements
- END LOOP [identifier] ;
-
- -- no action
-
- --sd
- --c | [loop_identifier:] iteration_rule
- --c LOOP sequence_of_statements END LOOP [identifier] ;
-
-
- | [loop_identifier:]
- FOR loop_parameter IN discrete_range
- loop_terminal sequence_of_statements
- END LOOP [identifier] ;
-
- /. %action %start_case_expression ./
-
- | [loop_identifier:]
- FOR loop_parameter IN REVERSE discrete_range
- loop_terminal sequence_of_statements
- END LOOP [identifier] ;
-
- /. %action %end_case_expression
- End_For_Loop;
- ./
-
- | [loop_identifier:] WHILE condition
- loop_terminal sequence_of_statements
- END LOOP [identifier] ;
-
- -- no action
-
- --sd
- loop_parameter ::=
- identifier
-
- /. %action %case_expression
- Save_Loop_Parameter;
- ./
-
- --sd iteration_rule ::=
- --sd WHILE condition
-
- -- no action
-
- --sd | FOR loop_parameter IN discrete_range
-
- -- no action
-
- --sd | FOR loop_parameter IN REVERSE discrete_range
-
- -- no action
-
- -- LRM 5.6
-
- declarative_part__begin_end_block ::=
- declarative_part begin_end_block
-
- -- no action
-
- begin_end_block ::=
- --c BEGIN sequence_of_statements END
- --s begin_terminal sequence_of_statements END
-
- --c | BEGIN sequence_of_statements
- --c EXCEPTION {pragma_alt}__exception_handler_list END
-
- --s | begin_terminal sequence_of_statements exception_terminal
- --s {pragma_alt}__exception_handler_list END
-
- begin_terminal sequence_of_statements__end_block_statements
- [exception_handler_part] END
-
- -- no action
-
- --s
- sequence_of_statements__end_block_statements ::=
- sequence_of_statements
-
- /. %action %case_expression
- End_Block_Sequence_of_Statements;
- ./
-
- block_statement ::=
- --c [block_identifier:] DECLARE
- --c declarative_part__begin_end_block [identifier] ;
-
- [block_identifier:] declare_terminal
- declarative_part__begin_end_block [identifier] ;
-
- /. %action %start_case_expression ./
-
- | [block_identifier:] begin_end_block [identifier] ;
-
- /. %action %end_case_expression
- End_Block_Statement;
- ./
-
- -- LRM 5.7
-
- exit_statement ::=
- EXIT ;
-
- -- no action
-
- | EXIT WHEN condition ;
-
- -- no action
-
- | EXIT expanded_name ;
-
- -- no action
-
- | EXIT expanded_name WHEN condition ;
-
- -- no action
-
- -- LRM 5.8
-
- return_statement ::=
- RETURN ;
-
- -- no action
-
- | RETURN expression ;
-
- -- no action
-
- -- LRM 5.9
-
- goto_statement ::=
- GOTO expanded_name ;
-
- -- no action
-
- -- LRM 6.1
-
- subprogram_declaration ::=
- subprogram_specification ;
-
- /. %action %case_expression
- Pop_Identifier;
- ./
-
- subprogram_specification ::=
- --c PROCEDURE identifier
-
- PROCEDURE start_identifier
-
- /. %action %start_case_expression ./
-
- --c | PROCEDURE identifier (
- --c parameter_specification {;parameter_specification} )
-
- | PROCEDURE start_identifier left_paren
- parameter_specification {;parameter_specification}
- right_paren
-
- /. %action %end_case_expression
- Subprogram_Type ("procedure");
- ./
-
- | FUNCTION designator RETURN type_mark
-
- /. %action %start_case_expression ./
-
- --c | FUNCTION designator (
- --c parameter_specification {;parameter_specification}
- --c ) RETURN type_mark
-
- | FUNCTION designator left_paren
- parameter_specification {;parameter_specification}
- right_paren RETURN type_mark
-
- /. %action %end_case_expression
- Subprogram_Type ("function");
- ./
-
- designator ::=
- identifier
-
- /. %action %start_case_expression ./
-
- | string_literal
-
- /. %action %end_case_expression
- Push_Identifier;
- ./
-
- parameter_specification ::=
- identifier_list mode type_mark [:=expression]
-
- /. %action %case_expression
- Process_Identifier_List (Parameter_List);
- ./
-
- mode ::=
- generic_parameter_mode
-
- -- no action
-
- | : OUT
-
- /. %action %case_expression
- Set_Identifier_Mode (Write_Only);
- ./
-
- generic_parameter_mode ::=
- :
-
- /. %action %case_expression
- Set_Identifier_Mode (Read_Only);
- ./
-
- | : IN
-
- /. %action %case_expression
- Set_Identifier_Mode (Read_Only);
- ./
-
- | : IN OUT
-
- /. %action %case_expression
- Set_Identifier_Mode (Read_Write);
- ./
-
- -- LRM 6.3
-
- subprogram_body ::=
- --c subprogram_specification IS
- --c declarative_part__begin_end_block
- --c [end_designator] ;
-
- subprogram_specification__IS
- declarative_part__begin_end_block
- [end_designator] ;
-
- /. %action %case_expression
- Decrement_Scope;
- ./
-
- -- LRM 6.4
-
- call_statement ::=
- name ;
-
- /. %action %case_expression
- New_Line;
- ./
-
- -- LRM 7.1
-
-
- package_declaration ::=
- package_specification ;
-
- /. %action %case_expression
- Decrement_Scope;
- ./
-
- package_specification ::=
- --c PACKAGE identifier IS {basic_declarative_item}
- --c END [identifier]
-
- PACKAGE__start_identifier__IS {basic_declarative_item}'
- END [identifier]
-
- -- no action
-
- --c | PACKAGE identifier IS {basic_declarative_item}
- --c PRIVATE {basic_declarative_item} END [identifier]
-
- | PACKAGE__start_identifier__IS {basic_declarative_item}'
- private_terminal {basic_declarative_item}'
- END [identifier]
-
- -- no action
-
- package_body ::=
- --c PACKAGE BODY identifier IS declarative_part
- --c END [identifier] ;
-
- PACKAGE__BODY__start_identifier__IS
- --s declarative_part END [identifier] ;
- declarative_part__no_begin END [identifier] ;
-
- /. %action %start_case_expression ./
-
- --c | PACKAGE BODY identifier IS
- --c declarative_part__begin_end_block
- --c [identifier] ;
-
- | PACKAGE__BODY__start_identifier__IS
- declarative_part__begin_end_block
- [identifier] ;
-
- /. %action %end_case_expression
- Decrement_Scope;
- ./
-
- --s
- declarative_part__no_begin ::=
- declarative_part
-
- /. %action %case_expression
- Add_Package_Body_Begin;
- ./
-
- -- LRM 7.4
-
- private_type_declaration ::=
- --sd TYPE identifier IS LIMITED PRIVATE ;
- TYPE type_identifier IS LIMITED PRIVATE ;
-
- /. %action %case_expression
- Save_Type_Class (Limited_Private_Type);
- ./
-
-
- --c | TYPE identifier ( discriminant_specification
- --c {;discriminant_specification} ) IS LIMITED PRIVATE ;
-
- --sd | TYPE identifier left_paren discriminant_specification
- --sd {;discriminant_specification} right_paren IS LIMITED PRIVATE ;
-
- | TYPE type_identifier left_paren discriminant_specification
- {;discriminant_specification} right_paren IS LIMITED PRIVATE ;
-
- /. %action %case_expression
- Save_Type_Class (Limited_Private_Type);
- ./
-
- --sd | TYPE identifier IS PRIVATE ;
- | TYPE type_identifier IS PRIVATE ;
-
- /. %action %case_expression
- Save_Type_Class (Private_Type);
- ./
-
- --c | TYPE identifier ( discriminant_specification
- --c {;discriminant_specification} ) IS PRIVATE ;
-
- --sd | TYPE identifier left_paren discriminant_specification
- --sd {;discriminant_specification} right_paren IS PRIVATE ;
-
- | TYPE type_identifier left_paren discriminant_specification
- {;discriminant_specification} right_paren IS PRIVATE ;
-
- /. %action %case_expression
- Save_Type_Class (Private_Type);
- ./
-
- -- LRM 8.4
-
- use_clause ::=
- --s USE expanded_name {,expanded_name} ;
- USE package_name {,package_name} ;
-
- -- no action
-
- --s
- package_name ::=
- start_expanded_name expanded_name
-
- /. %action %case_expression
- Use_Package_Name;
- ./
-
- -- LRM 8.5
-
- --? Ada syntax allows only one identifier in the identifier list
-
- --c
- renaming_colon_declaration ::=
- identifier_list : type_mark RENAMES name ;
-
- /. %action %start_case_expression ./
-
- --? Ada syntax allows only one identifier in the identifier list
-
- | identifier_list : EXCEPTION RENAMES expanded_name ;
-
- /. %action %end_case_expression
- Process_Identifier_List (Renaming_List);
- ./
-
-
- renaming_declaration ::=
- --c identifier_list : type_mark RENAMES name ;
-
- --c | identifier_list : EXCEPTION RENAMES expanded_name ;
-
- --c PACKAGE identifier RENAMES expanded_name ;
-
- PACKAGE start_identifier RENAMES expanded_name ;
-
- /. %action %start_case_expression ./
-
- | subprogram_specification RENAMES name ;
-
- /. %action %continue_case_expression ./
-
- -- LRM 9.1
-
- task_specification ::=
- --c TASK identifier
-
- TASK start_identifier ;
-
- /. %action %end_case_expression
- Pop_Identifier;
- ./
-
- --c | TASK TYPE identifier
-
- | TASK TYPE start_identifier ;
-
- /. %action %case_expression
- Pop_Identifier;
- Save_Type_Class (Task_Type);
- End_Type_Declaration;
- ./
-
- --c | TASK identifier IS
- --c {entry_declaration} {representation_clause}
- --c END [identifier]
-
- | TASK__start_identifier__IS
- {entry_declaration}__{representation_clause}
- END [identifier] ;
-
- -- no action
-
- --c | TASK TYPE identifier IS
- --c {entry_declaration} {representation_clause}
- --c END [identifier]
-
- | TASK__TYPE__start_identifier__IS
- {entry_declaration}__{representation_clause}
- END [identifier] ;
-
- /. %action %case_expression
- End_Type_Declaration;
- ./
-
-
- task_body ::=
- --c TASK BODY identifier IS
- --c declarative_part__begin_end_block
- --c [identifier] ;
-
- TASK__BODY__start_identifier__IS
- declarative_part__begin_end_block
- [identifier] ;
-
- /. %action %case_expression
- Decrement_Scope;
- ./
-
- -- LRM 9.5
-
- entry_declaration ::=
- ENTRY identifier [(discrete_range)][formal_part] ;
-
- /. %action %case_expression
- New_Line;
- ./
-
- accept_statement ::=
- --c ACCEPT identifier [(expression)][formal_part] ;
-
- ACCEPT start_identifier [(expression)][formal_part] ;
-
- /. %action %case_expression
- Pop_Identifier;
- New_Line;
- ./
-
- --c | ACCEPT identifier [(expression)][formal_part] DO
- --c sequence_of_statements END [identifier] ;
-
- --sd | ACCEPT__start_identifier__[(expression)][formal_part]__DO
- --sd sequence_of_statements END [identifier] ;
-
- | ACCEPT__start_identifier__[(expression)][formal_part]__DO
- do_sequence_of_statements END [identifier] ;
-
- /. %action %case_expression
- New_Line;
- ./
-
- --sd
- do_sequence_of_statements ::=
- sequence_of_statements
-
- /. %action %case_expression
- End_Do_Sequence_Of_Statements;
- ./
-
- -- LRM 9.6
-
- delay_statement ::=
- DELAY simple_expression ;
-
- /. %action %case_expression
- New_Line;
- ./
-
-
- -- LRM 9.7
-
- select_statement ::=
- selective_wait
-
- -- no action
-
- | conditional_entry_call
-
- -- no action
-
- | timed_entry_call
-
- -- no action
-
- -- LRM 9.7.1
-
- selective_wait ::=
- --c SELECT select_alternative {OR__select_alternative}
- --c [ELSE__sequence_of_statements] END SELECT ;
-
- select_terminal select_alternative {OR__select_alternative}
- [ELSE__sequence_of_statements] END SELECT ;
-
- -- no action
-
- select_alternative ::=
- --c {pragma_stm} WHEN condition => selective_wait_alternative
-
- {pragma_stm} WHEN__condition__=>__selective_wait_alternative
-
- /. %action %start_case_expression ./
-
- | {pragma_stm} selective_wait_alternative
-
- /. %action %end_case_expression
- Decrease_Indent;
- ./
-
- selective_wait_alternative ::=
- accept_alternative
-
- -- no action
-
- | delay_alternative
-
- -- no action
-
- | terminate_alternative
-
- -- no action
-
- accept_alternative ::=
- --s accept_statement [sequence_of_statements]
- accept_statement__decision_point [sequence_of_statements]
-
- -- no action
-
- delay_alternative ::=
- --s delay_statement [sequence_of_statements]
- delay_statement__decision_point [sequence_of_statements]
-
- -- no action
-
- terminate_alternative ::=
- --c TERMINATE ; {pragma_stm}
-
- TERMINATE__; {pragma_stm}
-
- -- no action
-
- --c
- TERMINATE__; ::=
- TERMINATE ;
-
- /. %action %case_expression
- New_Line;
- ./
-
- -- LRM 9.7.2
-
- conditional_entry_call ::=
- --c SELECT {pragma_stm} call_statement [sequence_of_statements]
- --c ELSE sequence_of_statements END SELECT ;
-
- select_terminal {pragma_stm}
- call_statement__[sequence_of_statements] else_terminal
- sequence_of_statements END SELECT ;
-
- -- no action
-
- -- LRM 9.7.3
-
- timed_entry_call ::=
- --c SELECT {pragma_stm} call_statement [sequence_of_statements]
- --c OR {pragma_stm} delay_alternative END SELECT ;
-
- select_terminal {pragma_stm}
- call_statement__[sequence_of_statements] or_terminal
- {pragma_stm} delay_alternative_in_timed_entry
- END SELECT ;
-
- -- no action
-
- --s
- accept_statement__decision_point ::=
- accept_statement
-
- /. %action %start_case_expression ./
-
- --s
- delay_statement__decision_point ::=
- delay_statement
-
- /. %action %continue_case_expression ./
-
- --s
- -- note: this is called by "call_statement__sqs" in rules added
- -- to implement pretty printer actions
-
- call_statement__decision_point ::=
- call_statement
-
- /. %action %end_case_expression
- Add_Breakpoint;
- ./
-
- -- LRM 9.10
-
- abort_statement ::=
- ABORT name {,name} ;
-
- -- no action
-
- -- LRM 10.1
-
- compilation ::=
- {compilation_unit}
-
- -- no action
-
- pragma_header ::=
- PRAGMA identifier
-
- -- no action
-
- compilation_unit ::=
- pragma_header ( general_component_associations ) ;
-
- /. %action %start_case_expression ./
-
- | pragma_header ;
-
- /. %action %end_case_expression
- New_Line;
- ./
-
- | context_clause library_or_secondary_unit
-
- /. %action %case_expression
- End_Compilation_Unit;
- ./
-
- library_or_secondary_unit ::=
- subprogram_declaration
-
- -- no action
-
- | package_declaration
-
- -- no action
-
- | generic_specification
-
- -- no action
-
- | generic_instantiation
-
- -- no action
-
- | subprogram_body
-
- -- no action
- --sd /. %action %start_case_expression ./
-
- | package_body
-
- -- no action
- --sd /. %action %end_case_expression
- --sd Switch_Comment_Context;
- --sd./
-
- | subunit
-
- -- no action
-
- -- LRM 10.1.1
-
- context_clause ::=
- {with_clause{use_clause}}
-
- -- no action
-
- with_clause ::=
- --s WITH identifier {,used_identifier} ;
- WITH library_unit_name {,library_unit_name} ;
-
- -- no action
-
- --s
- library_unit_name ::=
- identifier
-
- /. %action %case_expression
- With_Library_Unit;
- ./
-
- -- LRM 10.2
-
- body_stub ::=
- subprogram_specification IS SEPARATE ;
-
- /. %action %start_case_expression ./
-
- --c | PACKAGE BODY identifier IS SEPARATE ;
-
- | PACKAGE BODY start_identifier IS SEPARATE ;
-
- /. %action %continue_case_expression ./
-
- --c | TASK BODY identifier IS SEPARATE ;
-
- | TASK BODY start_identifier IS SEPARATE ;
-
- /. %action %end_case_expression
- Pop_Identifier;
- ./
-
- subunit ::=
- --c SEPARATE ( expanded_name ) proper_body
- SEPARATE__(__expanded_name__) proper_body
-
- -- no action
-
- -- LRM 11.1
-
- exception_declaration ::=
- identifier_list : EXCEPTION ;
-
- /. %action %case_expression
- Process_Identifier_List (Exception_List);
- ./
-
-
- -- no action
-
- -- LRM 11.2
-
- exception_handler ::=
- --c WHEN exception_choice {|exception_choice} =>
- --c sequence_of_statements
- --s WHEN__exception_choice__{|exception_choice}__=>
- --s sequence_of_statements
-
- {non_others_handler} [others_handler]
-
- -- no action
-
- | others_handler
-
- -- no action
-
- --s
- non_others_handler ::=
- WHEN__exception_choice__{|exception_choice}__=>
- sequence_of_statements
-
- /. %action %start_case_expression ./
-
- --s
- others_handler ::=
- WHEN__exception_OTHERS__=> sequence_of_statements
-
- /. %action %end_case_expression
- End_Exception_Sequence_of_Statements;
- ./
-
- exception_choice ::=
- expanded_name
-
- -- no action
-
- --s | OTHERS
-
-
- -- LRM 11.3
-
- raise_statement ::=
- RAISE ;
-
- -- no action
-
- | RAISE expanded_name ;
-
- -- no action
-
- -- LRM 12.1
-
- generic_specification ::=
- generic_formal_part subprogram_specification ;
-
- /. %action %case_expression
- Pop_Identifier;
- ./
-
- | generic_formal_part package_specification ;
-
- /. %action %case_expression
- Decrement_Scope;
- ./
-
- generic_formal_part ::=
- --c GENERIC {generic_parameter_declaration}
-
- generic_terminal {generic_parameter_declaration}
-
- /. %action %case_expression
- Decrease_Indent;
- End_Generic_Specification;
- ./
-
- generic_parameter_declaration ::=
- identifier_list generic_parameter_mode type_mark
- [:=expression] ;
-
- /. %action %case_expression
- New_Line;
- Process_Identifier_List (Generic_Object_List);
- ./
-
- --c | TYPE identifier IS generic_type_definition ;
-
- --sd
- | TYPE generic_type_identifier IS generic_type_definition ;
-
- /. %action %start_case_expression ./
-
- --c | TYPE identifier ( discriminant_specification
- --c {;discriminant_specification} ) IS
- --c generic_type_definition ;
-
- --sd | TYPE identifier left_paren discriminant_specification
- --sd {;discriminant_specification} right_paren IS
- --sd generic_type_definition ;
-
- | TYPE generic_type_identifier left_paren discriminant_specification
- {;discriminant_specification} right_paren IS
- generic_type_definition ;
-
- /. %action %end_case_expression
- New_Line;
- End_Generic_Type;
- ./
-
- | WITH subprogram_specification [IS__name__or__<>] ;
-
- /. %action %case_expression
- New_Line;
- Pop_Identifier;
- ./
-
- --sd
- generic_type_identifier ::=
- identifier
-
- /. %action %case_expression
- Save_Type_Identifier;
- ./
-
- generic_type_definition ::=
- ( <> )
-
- -- no action
-
-
- | RANGE <>
-
- -- no action
-
- | DIGITS <>
-
- -- no action
-
- | DELTA <>
-
- -- no action
-
- | LIMITED PRIVATE
-
- -- no action
-
- | PRIVATE
-
- -- no action
-
- | array_type_definition
-
- -- no action
-
- | access_type_definition
-
- -- no action
-
- -- LRM 12.3
-
- generic_instantiation ::=
- --c PACKAGE identifier IS NEW expanded_name ;
- --s PACKAGE__start_identifier__IS NEW expanded_name ;
-
- PACKAGE start_identifier IS__NEW__expanded_name ;
-
- /. %action %start_case_expression ./
-
- --c | PACKAGE identifier IS NEW expanded_name
- --c ( generic_association {,generic_association} ) ;
- --s | PACKAGE__start_identifier__IS NEW expanded_name
-
- | PACKAGE start_identifier IS__NEW__expanded_name
- ( generic_association {,generic_association} ) ;
-
- /. %action %continue_case_expression ./
-
- --c | FUNCTION designator IS NEW expanded_name ;
- --s | FUNCTION__designator__IS NEW expanded_name ;
-
- | FUNCTION designator IS__NEW__expanded_name ;
-
- /. %action %continue_case_expression ./
-
- --c | FUNCTION designator IS NEW expanded_name
- --c ( generic_association {,generic_association} ) ;
- --s | FUNCTION__designator__IS NEW expanded_name
- --s ( generic_association {,generic_association} ) ;
-
- | FUNCTION designator IS__NEW__expanded_name
- ( generic_association {,generic_association} ) ;
-
- /. %action %continue_case_expression ./
-
-
- --c | subprogram_specification IS NEW expanded_name ;
- --s | subprogram_specification__IS NEW expanded_name ;
-
- | subprogram_specification IS__NEW__expanded_name ;
-
- /. %action %continue_case_expression ./
-
- --c | subprogram_specification IS NEW expanded_name
- --c ( generic_association {,generic_association} ) ;
- --s | subprogram_specification__IS NEW expanded_name
- --s ( generic_association {,generic_association} ) ;
-
- | subprogram_specification IS__NEW__expanded_name
- ( generic_association {,generic_association} ) ;
-
- /. %action %end_case_expression
- Decrease_Indent;
- Pop_Identifier;
- ./
-
- --s
- IS__NEW__expanded_name ::=
- generic_instantiation_IS NEW start_expanded_name expanded_name
-
- /. %action %case_expression
- Save_Generic_Name;
- ./
-
- --s
- generic_instantiation_IS ::=
- IS
-
- /. %action %case_expression
- New_Line;
- Increase_Indent;
- ./
-
- generic_association ::=
- [generic_formal_parameter=>]generic_actual_parameter
-
- -- no action
-
- generic_formal_parameter ::=
- identifier
-
- -- no action
-
- | string_literal
-
- -- no action
-
- generic_actual_parameter ::=
- expression
-
- -- no action
-
- -- LRM 13.1
-
- representation_clause ::=
- length_clause
-
- -- no action
-
- | enumeration_representation_clause
-
- -- no action
-
- | address_clause
-
- -- no action
-
- | record_representation_clause
-
- /. %action %case_expression
- Decrease_Indent;
- ./
-
- -- LRM 13.2
-
- length_clause ::=
- FOR attribute USE simple_expression ;
-
- -- no action
-
- -- LRM 13.3
-
- enumeration_representation_clause ::=
- FOR identifier USE aggregate ;
-
- -- no action
-
- -- LRM 13.4
-
- record_representation_clause ::=
- --c FOR identifier USE RECORD {component_clause} END RECORD ;
-
- --s FOR identifier USE start_of_record_type record_terminal
- --s {component_clause}' END RECORD ;
-
- FOR identifier USE start_of_record_type
- repspec_record_terminal {component_clause}' END RECORD ;
-
- -- no action
-
- --c | FOR identifier USE RECORD alignment_clause
- --c {component_clause} END RECORD ;
-
- | FOR identifier USE start_of_record_type RECORD alignment_clause
- {component_clause}' END RECORD ;
-
- -- no action
-
- component_clause ::=
- name AT simple_expression range_constraint ;
-
- /. %action %case_expression
- New_Line;
- ./
-
- alignment_clause ::=
- AT MOD simple_expression ;
-
- /. %action %case_expression
- New_Line;
- Increase_Indent;
- ./
-
- -- LRM 13.5
-
- address_clause ::=
- FOR identifier USE AT simple_expression ;
-
- -- no action
-
- -- LRM 13.8
-
- code_statement ::=
- name ' aggregate ;
-
- -- no action
-
- ----------------------------------------------------------------------
- -- The following rules are used to implement [...] and {...}
- -- syntactic constructs.
- ----------------------------------------------------------------------
-
- {pragma_decl} ::=
- empty
-
- -- no action
-
- | {pragma_decl} pragma
-
- -- no action
-
- {pragma_variant} ::=
- empty
-
- -- no action
-
- | {pragma_variant} pragma
-
- -- no action
-
- {pragma_stm} ::=
- empty
-
- -- no action
-
- | {pragma_stm} pragma
-
- -- no action
-
- {pragma_alt} ::=
- empty
-
- -- no action
-
- | {pragma_alt} pragma
-
- -- no action
-
- [:=expression] ::=
- empty
-
- -- no action
-
- | := expression
-
- -- no action
-
- --sd {,identifier} ::=
-
- {,save_identifier} ::=
- empty
-
- -- no action
-
- | {,save_identifier} , save_identifier
-
- -- no action
-
- type_name|subtype_name ::=
- expanded_name
-
- -- no action
-
- expanded_name ::=
- identifier
-
- -- no action
-
- | expanded_name . identifier
-
- -- no action
-
- {,enumeration_literal_specification} ::=
- empty
-
- -- no action
-
- | {,enumeration_literal_specification}
- , enumeration_literal_specification
-
- -- no action
-
- [range_constraint] ::=
- empty
-
- -- no action
-
- | range_constraint
-
- -- no action
-
- {,index_subtype_definition} ::=
- empty
-
- -- no action
-
- | {,index_subtype_definition} , index_subtype_definition
-
- -- no action
-
- {,discrete_range} ::=
- empty
-
- -- no action
-
- | {,discrete_range} , discrete_range
-
- -- no action
-
- {component_declaration} ::=
- empty
-
- -- no action
-
- | {component_declaration} component_declaration {pragma_decl}
-
- -- no action
-
- {;discriminant_specification} ::=
- empty
-
- -- no action
-
- --c | {;discriminant_specification} ; discriminant_specification
-
- | {;discriminant_specification} discriminant__;
- discriminant_specification
-
- -- no action
-
- {variant} ::=
- empty
-
- -- no action
-
- | {variant} variant
-
- -- no action
-
- {|choice} ::=
- empty
-
- -- no action
-
- | {|choice} '|' choice
-
- -- no action
-
- {basic_declarative_item} ::=
- {pragma_decl}
-
- -- no action
-
- | {basic_declarative_item} basic_declarative_item {pragma_decl}
-
- -- no action
-
- | {basic_declarative_item}__basic_declarative_item|EMPTY
- {basic_colon_declaration}
-
- -- no action
-
- {later_declarative_item} ::=
- {pragma_decl}
-
- -- no action
-
- | {later_declarative_item} later_declarative_item {pragma_decl}
-
- -- no action
-
- expression,expression{,expression} ::=
- expression , expression
-
- -- no action
-
- | expression,expression{,expression} , expression
-
- -- no action
-
- choice{|choice}=>expression ::=
- choice {|choice} => expression
-
- -- no action
-
- {,choice{|choice}=>expression} ::=
- empty
-
- -- no action
-
- | {,choice{|choice}=>expression} , choice{|choice}=>expression
-
- -- no action
-
- [,others=>expression] ::=
- empty
-
- -- no action
-
- | , others=>expression
-
- -- no action
-
- others=>expression ::=
- OTHERS => expression
-
- -- no action
-
- ga_expression ::=
- expression
-
- -- no action
-
- | simple_expression .. simple_expression
-
- -- no action
-
- | name range_constraint
-
- -- no action
-
- ga_expression{,ga_expression} ::=
- ga_expression
-
- -- no action
-
- | ga_expression{,ga_expression} , ga_expression
-
- -- no action
-
- identifier{|identifier}=>expression ::=
- identifier {|identifier} => expression
-
- -- no action
-
- {,identifier{|identifier}=>expression} ::=
- empty
-
- -- no action
-
- | {,identifier{|identifier}=>expression}
- , identifier{|identifier}=>expression
-
- -- no action
-
- {|identifier} ::=
- empty
-
- -- no action
-
- | {|identifier} '|' identifier
-
- -- no action
-
- relation{AND__relation} ::=
- relation AND relation
-
- -- no action
-
- | relation{AND__relation} AND relation
-
- -- no action
-
- relation{OR__relation} ::=
- relation OR relation
-
- -- no action
-
- | relation{OR__relation} OR relation
-
- -- no action
-
- relation{XOR__relation} ::=
- relation XOR relation
-
- -- no action
-
- | relation{XOR__relation} XOR relation
-
- -- no action
-
- relation{AND__THEN__relation} ::=
- relation AND THEN relation
-
- -- no action
-
- | relation{AND__THEN__relation} AND THEN relation
-
- -- no action
-
- relation{OR__ELSE__relation} ::=
- relation OR ELSE relation
-
- -- no action
-
- | relation{OR__ELSE__relation} OR ELSE relation
-
- -- no action
-
- [relational_operator__simple_expression] ::=
- empty
-
- -- no action
-
- | relational_operator simple_expression
-
- -- no action
-
- [NOT]IN ::=
- IN
-
- -- no action
-
- | NOT IN
-
- -- no action
-
- [unary_adding_operator]term{binary_adding_operator__term} ::=
- term
-
- -- no action
-
- | unary_adding_operator term
-
- -- no action
-
- | [unary_adding_operator]term{binary_adding_operator__term}
- binary_adding_operator term
-
- -- no action
-
- factor{multiplying_operator__factor} ::=
- factor
-
- -- no action
-
- | factor{multiplying_operator__factor} multiplying_operator
- factor
-
- -- no action
-
- [exponentiating_operator__primary] ::=
- empty
-
- -- no action
-
- | exponentiating_operator primary
-
- -- no action
-
- {statement} ::=
- {pragma_stm}
-
- -- no action
-
- | {statement} statement {pragma_stm}
-
- -- no action
-
- {label}+ ::=
- label
-
- -- no action
-
- | {label}+ label
-
- -- no action
-
- -- The following rules are used to implement Pretty Printer actions
- --
-
- --c condition_THEN__sequence_of_statements ::=
- --c condition THEN sequence_of_statements
-
- condition__THEN__sequence_of_statements ::=
- condition__THEN sequence_of_statements
-
- -- no action
-
- {ELSIF__condition__THEN__sequence_of_statements} ::=
- empty
-
- -- no action
-
- --c | {ELSIF__condition__THEN__sequence_of_statements}
- --c ELSIF condition THEN sequence_of_statements
-
- | {ELSIF__condition__THEN__sequence_of_statements}
- ELSIF__condition__THEN sequence_of_statements
-
- -- no action
-
- [ELSE__sequence_of_statements] ::=
- empty
-
- -- no action
-
- --c | ELSE sequence_of_statements
-
- | else_terminal sequence_of_statements
-
- -- no action
-
- {case_statement_alternative} ::=
- empty
-
- -- no action
-
- | {case_statement_alternative} case_statement_alternative
-
- -- no action
-
- [loop_identifier:] ::=
- empty
-
- /. %action %case_expression
- Push_Empty_Token;
- ./
-
- | identifier :
-
- /. %action %case_expression
- Push_Identifier;
- ./
-
- [identifier] ::=
- empty
-
- /. %action %case_expression
- Pop_Identifier(To_Output);
- ./
-
- | identifier
-
- /. %action %case_expression
- Pop_Identifier;
- ./
-
- [block_identifier:] ::=
- empty
-
- /. %action %case_expression
- Start_Block (False);
- ./
-
- | identifier :
-
- /. %action %case_expression
- Push_Identifier;
- Start_Block (True);
- ./
-
- --s
- [exception_handler_part] ::=
- empty
-
- /. %action %case_expression
- Add_Exception_Handler;
- ./
-
- | exception_terminal {pragma_alt}__exception_handler
-
- -- no action
-
-
- --s {pragma_alt}__exception_handler_list ::=
- --s {pragma_alt} exception_handler_list
-
- {pragma_alt}__exception_handler ::=
- {pragma_alt} exception_handler
-
- /. %action %case_expression
- Decrease_Indent;
- ./
-
- --s exception_handler_list ::=
- --s exception_handler
- --s | exception_handler_list exception_handler
-
- --s
- {non_others_handler} ::=
- non_others_handler
-
- -- no action
-
- | {non_others_handler} non_others_handler
-
- -- no action
-
- --s
- [others_handler] ::=
- empty
-
- /. %action %case_expression
- Add_Others_Handler;
- ./
-
- | others_handler
-
- -- no action
-
- {;parameter_specification} ::=
- empty
-
- -- no action
-
- --c | {;parameter_specification} ; parameter_specification
-
- | {;parameter_specification} parameter__; parameter_specification
-
- -- no action
-
- [end_designator] ::=
- empty
-
- /. %action %case_expression
- Pop_Identifier(To_Output);
- ./
-
- | identifier
-
- /. %action %start_case_expression ./
-
- | string_literal
-
- /. %action %end_case_expression
- Pop_Identifier;
- ./
-
- --s {,expanded_name} ::=
- --s empty
- --s | {,expanded_name} , expanded_name
-
- --s
- {,package_name} ::=
- empty
-
- -- no action
-
- | {,package_name} , package_name
-
- -- no action
-
- {entry_declaration} ::=
- {pragma_decl}
-
- -- no action
-
- | {entry_declaration} entry_declaration {pragma_decl}
-
- -- no action
-
- {representation_clause} ::=
- empty
-
- -- no action
-
- | {representation_clause} representation_clause {pragma_decl}
-
- -- no action
-
- [(discrete_range)][formal_part] ::=
- empty
-
- -- no action
-
- --c | ( parameter_specification {;parameter_specification} )
-
- | left_paren parameter_specification
- {;parameter_specification} right_paren
-
- -- no action
-
- --c | ( discrete_range )
-
- | left_paren discrete_range right_paren
-
- -- no action
-
- --c | ( discrete_range )
- --c ( parameter_specification {;parameter_specification} )
-
- | left_paren discrete_range right_paren
- left_paren parameter_specification
- {;parameter_specification} right_paren
-
- -- no action
-
- [(expression)][formal_part] ::=
- empty
-
- -- no action
-
- --c | ( parameter_specification {;parameter_specification} )
-
- | left_paren parameter_specification
- {;parameter_specification} right_paren
-
- -- no action
-
- --c | ( expression )
-
- | left_paren expression right_paren
-
- -- no action
-
- --c | ( expression )
- --c ( parameter_specification {;parameter_specification} )
-
- | left_paren expression right_paren
- left_paren parameter_specification
- {;parameter_specification} right_paren
-
- -- no action
-
- {OR__select_alternative} ::=
- empty
-
- -- no action
-
-
- --c | {OR__select_alternative} OR select_alternative
-
- | {OR__select_alternative} or_terminal select_alternative
-
- -- no action
-
- [sequence_of_statements] ::=
- {pragma_stm}
-
- -- no action
-
- | optional_sequence_of_statements
-
- -- no action
-
- {,name} ::=
- empty
-
- -- no action
-
-
- | {,name} , name
-
- -- no action
-
-
- {compilation_unit} ::=
- compilation_unit
-
- -- no action
-
-
- | {compilation_unit} compilation_unit
-
- -- no action
-
- {with_clause{use_clause}} ::=
- empty
-
- -- no action
-
- | {with_clause{use_clause}} with_clause use_clause_list
-
- /. %action %case_expression
- New_Line;
- ./
-
- use_clause_list ::=
- {pragma_decl}
-
- -- no action
-
- | use_clause_list use_clause {pragma_decl}
-
- -- no action
-
- --s {,used_identifier} ::=
- --s empty
- --s | {,used_identifier} , identifier
-
-
- {,library_unit_name} ::=
- empty
-
- -- no action
-
- | {,library_unit_name} , library_unit_name
-
- -- no action
-
- {|exception_choice} ::=
- empty
-
- -- no action
-
- | {|exception_choice} '|' exception_choice
-
- -- no action
-
- {generic_parameter_declaration} ::=
- empty
-
- -- no action
-
- | {generic_parameter_declaration} generic_parameter_declaration
-
- -- no action
-
- [IS__name__or__<>] ::=
- empty
-
- -- no action
-
- | IS name
-
- -- no action
-
- | IS <>
-
- -- no action
-
- {,generic_association} ::=
- empty
-
- -- no action
-
- | {,generic_association} , generic_association
-
- -- no action
-
- [generic_formal_parameter=>]generic_actual_parameter ::=
- generic_actual_parameter
-
- -- no action
-
- | generic_formal_parameter => generic_actual_parameter
-
- -- no action
-
- {component_clause} ::=
- {pragma_decl}
-
- -- no action
-
- | {component_clause} component_clause {pragma_decl}
-
- -- no action
-
- -----------------------------------------------------------------
- -- The following rules were added so that pretty printing actions
- -- could be put on them. They have been modified for source
- -- instrumenting actions.
- -----------------------------------------------------------------
-
- --c
- record_terminal ::=
- RECORD
-
- /. %action %case_expression
- New_Line;
- Increase_Indent;
- ./
- --sd Start_Buffering_Colon_Declarations;
-
- --c
- closing_{pragma_decl} ::=
- {pragma_decl}
-
- --sd/. %action %start_case_expression ./
- -- no action
-
- --c
- {component_declaration}' ::=
- {component_declaration}
-
- -- no action
- --sd/. %action %end_case_expression
- --sd Print_Colon_Declarations_Buffer;
- --sd NULL;
- --sd./
-
- --c
- start_of_record_type ::=
- EMPTY
-
- /. %action %start_case_expression ./
-
- --s
- repspec_record_terminal ::=
- RECORD
-
- /. %action %continue_case_expression ./
-
- --c
- CASE__identifier__IS ::=
- --s CASE identifier IS
-
- CASE__identifier IS
-
- /. %action %continue_case_expression ./
-
- --c
- WHEN__choice__{|choice}__=> ::=
- WHEN choice {|choice} =>
-
- /. %action %continue_case_expression ./
-
- --c
- WHEN__OTHERS__=> ::=
- WHEN OTHERS =>
-
- /. %action %continue_case_expression ./
-
-
- --c
- CASE__expression__IS ::=
- CASE expression IS
-
- /. %action %end_case_expression
- New_Line;
- Increase_Indent;
- ./
-
- --c
- generic_terminal ::=
- GENERIC
-
- /. %action %case_expression
- Start_Generic_Specification;
- New_Line;
- Increase_Indent;
- ./
-
- --s
- CASE__identifier ::=
- CASE identifier
-
- /. %action %case_expression
- Save_Case_Identifier;
- ./
-
- --c
- WHEN__variant_choice__{|variant_choice}__=> ::=
- WHEN__choice__{|choice}__=>
-
- /. %action %start_case_expression ./
-
- --s
- WHEN__variant_OTHERS__=> ::=
- WHEN__OTHERS__=>
-
- --sd Start_Buffering_Colon_Declarations;
- /. %action %end_case_expression
- End_Record_Variant;
- ./
-
- --s
- WHEN__case_choice__{|choice}__=> ::=
- WHEN__choice__{|choice}__=>
-
- /. %action %start_case_expression ./
-
- --s
- WHEN__case_OTHERS__=> ::=
- WHEN__OTHERS__=>
-
- /. %action %end_case_expression
- Add_Breakpoint;
- ./
-
- --c
- {pragma_alt}__case_statement_alternative__{case_statement_alternative} ::=
-
- {pragma_alt} case_statement_alternative
- {case_statement_alternative}
-
- /. %action %case_expression
- Decrease_Indent;
- ./
-
- --c
- loop_terminal ::=
- LOOP
-
- /. %action %case_expression
- New_Line;
- Increase_Indent;
- ./
-
-
- --c
- begin_terminal ::=
- BEGIN
-
- --sd/. %action %case_expression
- --sd Switch_Comment_Context;
-
- /. %action %case_expression
- New_Line;
- Increase_Indent;
- Start_Begin_End_Block;
- ./
-
- --c
- {pragma_variant}__variant__{variant} ::=
- {pragma_variant} variant {variant}
-
- /. %action %case_expression
- Decrease_Indent;
- ./
-
- --c
- declare_terminal ::=
- DECLARE
-
- --sd/. %action %case_expression
- --sd Switch_Comment_Context;
-
- /. %action %case_expression
- New_Line;
- Increase_Indent;
- ./
-
- --c
- PACKAGE__start_identifier__IS ::=
- PACKAGE start_identifier IS
-
- /. %action %case_expression
- Increment_Scope (Package_Specification);
- New_Line;
- Increase_Indent;
- ./
-
- --c
- start_identifier ::=
- identifier
-
- /. %action %case_expression
- Push_Identifier;
- ./
-
- --c
- {basic_declarative_item}' ::=
- {basic_declarative_item}
-
- /. %action %start_case_expression ./
-
- --c
- {entry_declaration}__{representation_clause} ::=
- {entry_declaration} {representation_clause}
-
- /. %action %end_case_expression
- Decrease_Indent;
- ./
-
- --c
- private_terminal ::=
- PRIVATE
-
- /. %action %case_expression
- New_Line;
- Increase_Indent;
- Start_Private_Part;
- ./
-
- --c
- PACKAGE__BODY__start_identifier__IS ::=
- PACKAGE BODY start_identifier IS
-
- /. %action %case_expression
- Increment_Scope (Package_Body);
- New_Line;
- Increase_Indent;
- ./
-
- --c
- TASK__start_identifier__IS ::=
- TASK start_identifier IS
-
- /. %action %case_expression
- New_Line;
- Increase_Indent;
- ./
-
- --c
- TASK__TYPE__start_identifier__IS ::=
- TASK TYPE start_identifier IS
-
- /. %action %case_expression
- New_Line;
- Increase_Indent;
- Save_Type_Class (Task_Type);
- ./
-
- --c
- TASK__BODY__start_identifier__IS ::=
- TASK BODY start_identifier IS
-
- /. %action %case_expression
- Increment_Scope (Task_Body);
- New_Line;
- Increase_Indent;
- ./
-
- --c
- ACCEPT__start_identifier__[(expression)][formal_part]__DO ::=
- ACCEPT start_identifier [(expression)][formal_part] DO
-
-
- /. %action %case_expression
- New_Line;
- Increase_Indent;
- Start_Do_Sequence_Of_Statements;
- ./
-
- --c
- select_terminal ::=
- SELECT
-
- /. %action %case_expression
- New_Line;
- Increase_Indent;
- ./
-
- --c
- call_statement__[sequence_of_statements] ::=
- --s call_statement [sequence_of_statements]
- call_statement__decision_point [sequence_of_statements]
-
- /. %action %case_expression
- Decrease_Indent;
- ./
-
- --c
- optional_sequence_of_statements ::=
- {pragma_stm} statement {statement}
-
- -- no action
-
- --c
- delay_alternative_in_timed_entry ::=
- delay_alternative
-
- /. %action %start_case_expression ./
-
- --c
- WHEN__condition__=>__selective_wait_alternative ::=
- WHEN__condition__=> selective_wait_alternative
-
- /. %action %end_case_expression
- Decrease_Indent;
- ./
-
- --c
- WHEN__condition__=> ::=
- WHEN condition =>
-
- /. %action %start_case_expression ./
-
- --c
- exception_terminal ::=
- EXCEPTION
-
- /. %action %end_case_expression
- New_Line;
- Increase_Indent;
- ./
-
- --c
- WHEN__exception_choice__{|exception_choice}__=> ::=
- WHEN exception_choice {|exception_choice} =>
-
- /. %action %start_case_expression ./
-
- --s
- WHEN__exception_OTHERS__=> ::=
- WHEN OTHERS =>
-
- /. %action %end_case_expression
- New_Line;
- Increase_Indent;
- Start_Exception_Branch;
- ./
-
- --c
- --s FUNCTION__designator__IS ::=
- --s FUNCTION designator IS
-
- --s/. %action %start_case_expression ./
-
- subprogram_specification__IS ::=
- subprogram_specification IS
-
- /. %action %case_expression
- Increment_Scope (Subprogram_Body);
- New_Line;
- Increase_Indent;
- ./
-
- --c
- {component_clause}' ::=
- {component_clause}
-
- /. %action %case_expression
- Decrease_Indent;
- ./
-
- --c
- SEPARATE__(__expanded_name__) ::=
- --s SEPARATE ( expanded_name )
- SEPARATE__(__expanded_name )
-
- /. %action %case_expression
- New_Line;
- ./
-
- --s
- SEPARATE__(__expanded_name ::=
- SEPARATE ( start_expanded_name expanded_name
-
- /. %action %case_expression
- Save_Separate_Name;
- ./
-
- --sd
- start_expanded_name ::=
- empty
-
- /. %action %case_expression
- Start_Saving_Expanded_Name;
- ./
-
- --c
- {basic_colon_declaration} ::=
- start_{basic_colon_declaration} {basic_colon_declaration}'
- basic_colon_declaration {pragma_decl}
-
- -- no action
-
- --sd/. %action %case_expression
- --sd Print_Colon_Declarations_Buffer;
- --sd./
-
- --c
- start_{basic_colon_declaration} ::= EMPTY
-
- -- no action
- --sd/. %action %case_expression
- --sd Start_Buffering_Colon_Declarations;
- --sd./
-
- --c
- {basic_colon_declaration}' ::=
- {basic_colon_declaration}' basic_colon_declaration {pragma_decl}
-
- -- no action
-
- --c
- {basic_colon_declaration}' ::=
- EMPTY
-
- -- no action
-
- --c
- {basic_declarative_item}__basic_declarative_item|EMPTY ::=
- {basic_declarative_item} basic_declarative_item {pragma_decl}
-
- -- no action
-
- --c
- {basic_declarative_item}__basic_declarative_item|EMPTY ::=
- {pragma_decl}
-
-
- -- no action
-
- --c
- condition__THEN ::=
- condition THEN
-
- /. %action %start_case_expression ./
-
- --c
- ELSIF__condition__THEN ::=
- ELSIF condition THEN
-
- /. %action %continue_case_expression ./
-
- --c
- else_terminal ::=
- ELSE
-
- /. %action %end_case_expression
- New_Line;
- Increase_Indent;
- Add_Breakpoint;
- ./
-
- --c
- or_terminal ::=
- OR
-
- /. %action %case_expression
- New_Line;
- Increase_Indent;
- ./
-
- --c
- discriminant__; ::=
- ;
-
- /. %action %start_case_expression ./
-
- --c
- parameter__; ::=
- ;
-
- /. %action %end_case_expression
- New_Line;
- ./
-
- --c
- left_paren ::=
- (
-
- /. %action %case_expression
- Change_Indent;
- ./
- --sd Start_Buffering_Colon_Declarations;
-
- --c
- right_paren ::=
- )
-
- --sd Print_Colon_Declarations_Buffer;
- /. %action %case_expression
- Resume_Normal_Indentation;
- ./
-
- /.
- when others =>
- null;
- end case;
- end Apply_Actions;
- ./
-
- %end
-