comparison gcc/ada/par-ch4.adb @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
4 -- -- 4 -- --
5 -- P A R . C H 4 -- 5 -- P A R . C H 4 --
6 -- -- 6 -- --
7 -- B o d y -- 7 -- B o d y --
8 -- -- 8 -- --
9 -- Copyright (C) 1992-2017, Free Software Foundation, Inc. -- 9 -- Copyright (C) 1992-2018, Free Software Foundation, Inc. --
10 -- -- 10 -- --
11 -- GNAT is free software; you can redistribute it and/or modify it under -- 11 -- GNAT is free software; you can redistribute it and/or modify it under --
12 -- terms of the GNU General Public License as published by the Free Soft- -- 12 -- terms of the GNU General Public License as published by the Free Soft- --
13 -- ware Foundation; either version 3, or (at your option) any later ver- -- 13 -- ware Foundation; either version 3, or (at your option) any later ver- --
14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- 14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
1429 if Token = Tok_Delta then 1429 if Token = Tok_Delta then
1430 Scan; -- past DELTA 1430 Scan; -- past DELTA
1431 Aggregate_Node := New_Node (N_Delta_Aggregate, Lparen_Sloc); 1431 Aggregate_Node := New_Node (N_Delta_Aggregate, Lparen_Sloc);
1432 Set_Expression (Aggregate_Node, Expr_Node); 1432 Set_Expression (Aggregate_Node, Expr_Node);
1433 Expr_Node := Empty; 1433 Expr_Node := Empty;
1434
1434 goto Aggregate; 1435 goto Aggregate;
1435 1436
1436 else 1437 else
1437 Aggregate_Node := New_Node (N_Extension_Aggregate, Lparen_Sloc); 1438 Aggregate_Node := New_Node (N_Extension_Aggregate, Lparen_Sloc);
1438 Set_Ancestor_Part (Aggregate_Node, Expr_Node); 1439 Set_Ancestor_Part (Aggregate_Node, Expr_Node);
1663 1664
1664 function P_Record_Or_Array_Component_Association return Node_Id is 1665 function P_Record_Or_Array_Component_Association return Node_Id is
1665 Assoc_Node : Node_Id; 1666 Assoc_Node : Node_Id;
1666 1667
1667 begin 1668 begin
1669 -- A loop indicates an iterated_component_association
1670
1668 if Token = Tok_For then 1671 if Token = Tok_For then
1669 return P_Iterated_Component_Association; 1672 return P_Iterated_Component_Association;
1670 end if; 1673 end if;
1671 1674
1672 Assoc_Node := New_Node (N_Component_Association, Token_Ptr); 1675 Assoc_Node := New_Node (N_Component_Association, Token_Ptr);
3306 -- for DEFINING_IDENTIFIER in DISCRETE_CHOICE_LIST => EXPRESSION 3309 -- for DEFINING_IDENTIFIER in DISCRETE_CHOICE_LIST => EXPRESSION
3307 3310
3308 function P_Iterated_Component_Association return Node_Id is 3311 function P_Iterated_Component_Association return Node_Id is
3309 Assoc_Node : Node_Id; 3312 Assoc_Node : Node_Id;
3310 3313
3314 -- Start of processing for P_Iterated_Component_Association
3315
3311 begin 3316 begin
3312 Scan; -- past FOR 3317 Scan; -- past FOR
3313 Assoc_Node := 3318 Assoc_Node :=
3314 New_Node (N_Iterated_Component_Association, Prev_Token_Ptr); 3319 New_Node (N_Iterated_Component_Association, Prev_Token_Ptr);
3320
3315 Set_Defining_Identifier (Assoc_Node, P_Defining_Identifier); 3321 Set_Defining_Identifier (Assoc_Node, P_Defining_Identifier);
3316 T_In; 3322 T_In;
3317 Set_Discrete_Choices (Assoc_Node, P_Discrete_Choice_List); 3323 Set_Discrete_Choices (Assoc_Node, P_Discrete_Choice_List);
3318 TF_Arrow; 3324 TF_Arrow;
3319 Set_Expression (Assoc_Node, P_Expression); 3325 Set_Expression (Assoc_Node, P_Expression);