diff --git a/progs/arm_frmd.adb b/progs/arm_frmd.adb index 01e93d33..76e5126f 100644 --- a/progs/arm_frmd.adb +++ b/progs/arm_frmd.adb @@ -412,6 +412,8 @@ package body ARM_Format.Data is return Permission_Name; elsif Canonical_Name = "impladvicename" then return Advice_Name; + elsif Canonical_Name = "usagename" then + return Usage_Name; elsif Canonical_Name = "notesname" then return Notes_Name; elsif Canonical_Name = "singlenotename" then @@ -486,6 +488,8 @@ package body ARM_Format.Data is return Permission_Title; elsif Canonical_Name = "impladvicetitle" then return Advice_Title; + elsif Canonical_Name = "usagetitle" then + return Usage_Title; elsif Canonical_Name = "notestitle" then return Notes_Title; elsif Canonical_Name = "singlenotetitle" then diff --git a/progs/arm_html.adb b/progs/arm_html.adb index 3cfa2c90..119329cd 100644 --- a/progs/arm_html.adb +++ b/progs/arm_html.adb @@ -198,6 +198,7 @@ package body ARM_HTML is -- 2/19/19 - RLB - Added some (commented out) hang tracing. -- 2/ 4/22 - RLB - Added AI22 links. -- 8/22/22 - RLB - Added All_Formats parameter to URL_Link. + -- 10/ 9/23 - RLB - Defined change colors for versions 7 and 8. LINE_LENGTH : constant := 78; -- Maximum intended line length. @@ -1326,9 +1327,22 @@ package body ARM_HTML is -- else not used, don't generate it. end if; if Revision_Used ('6') then - Ada.Text_IO.Put_Line (Output_Object.Output_File, " SPAN.insert6 {text-decoration: underline; color: rgb(0,102,153) }"); -- Turquiose. - Ada.Text_IO.Put_Line (Output_Object.Output_File, " SPAN.delete6 {text-decoration: line-through; color: rgb(0,102,153) }"); - --Ada.Text_IO.Put_Line (Output_Object.Output_File, " SPAN.both6 {text-decoration: underline, line-through; color: rgb(0,102,153) }"); + Ada.Text_IO.Put_Line (Output_Object.Output_File, " SPAN.insert6 {text-decoration: underline; color: rgb(0,51,204) }"); -- Royal blue. + Ada.Text_IO.Put_Line (Output_Object.Output_File, " SPAN.delete6 {text-decoration: line-through; color: rgb(0,51,204) }"); + --Ada.Text_IO.Put_Line (Output_Object.Output_File, " SPAN.both6 {text-decoration: underline, line-through; color: rgb(0,51,204) }"); + -- Both doesn't seem to work, so forget it. + end if; + if Revision_Used ('7') then + Ada.Text_IO.Put_Line (Output_Object.Output_File, " SPAN.insert7 {text-decoration: underline; color: rgb(0,102,153) }"); -- Turquiose. + Ada.Text_IO.Put_Line (Output_Object.Output_File, " SPAN.delete7 {text-decoration: line-through; color: rgb(0,102,153) }"); + --Ada.Text_IO.Put_Line (Output_Object.Output_File, " SPAN.both7 {text-decoration: underline, line-through; color: rgb(0,102,153) }"); + -- Both doesn't seem to work, so forget it. + -- else not used, don't generate it. + end if; + if Revision_Used ('7') then + Ada.Text_IO.Put_Line (Output_Object.Output_File, " SPAN.insert8 {text-decoration: underline; color: rgb(204,51,0) }"); -- Bright red. + Ada.Text_IO.Put_Line (Output_Object.Output_File, " SPAN.delete8 {text-decoration: line-through; color: rgb(204,51,0) }"); + --Ada.Text_IO.Put_Line (Output_Object.Output_File, " SPAN.both8 {text-decoration: underline, line-through; color: rgb(204,51,0) }"); -- Both doesn't seem to work, so forget it. -- else not used, don't generate it. end if; diff --git a/progs/arm_para.adb b/progs/arm_para.adb new file mode 100644 index 00000000..3a0875cd --- /dev/null +++ b/progs/arm_para.adb @@ -0,0 +1,271 @@ +with Ada.Characters.Handling, + Ada.Strings.Fixed; +package body ARM_Paragraph is + + -- + -- Ada reference manual formatter (ARM_Form). + -- + -- This package contains the types and subprograms to manage paragraph + -- kinds. + -- + -- --------------------------------------- + -- Copyright 2022, 2023 + -- AXE Consultants. All rights reserved. + -- 621 N. Sherman Ave., Suite B6, Madison WI 53704 + -- E-Mail: randy@rrsoftware.com + -- + -- ARM_Form is free software: you can redistribute it and/or modify + -- it under the terms of the GNU General Public License version 3 + -- as published by the Free Software Foundation. + -- + -- AXE CONSULTANTS MAKES THIS TOOL AND SOURCE CODE AVAILABLE ON AN "AS IS" + -- BASIS AND MAKES NO WARRANTY, EXPRESS OR IMPLIED, AS TO THE ACCURACY, + -- CAPABILITY, EFFICIENCY, MERCHANTABILITY, OR FUNCTIONING OF THIS TOOL. + -- IN NO EVENT WILL AXE CONSULTANTS BE LIABLE FOR ANY GENERAL, + -- CONSEQUENTIAL, INDIRECT, INCIDENTAL, EXEMPLARY, OR SPECIAL DAMAGES, + -- EVEN IF AXE CONSULTANTS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + -- DAMAGES. + -- + -- A copy of the GNU General Public License is available in the file + -- gpl-3-0.txt in the standard distribution of the ARM_Form tool. + -- Otherwise, see . + -- + -- If the GPLv3 license is not satisfactory for your needs, a commercial + -- use license is available for this tool. Contact Randy at AXE Consultants + -- for more information. + -- + -- --------------------------------------- + -- + -- Edit History: + -- + -- 4/13/22 - RLB - Created package, moving Paragraph_Type from ARM_Frm, + -- reorganizing it, and adding subprograms to convert + -- between it and names. Also added Ada 2022 paragraphs. + -- 5/25/22 - RLB - Added Term_Marker. + -- 5/26/22 - RLB - Put Term_Group_Index here as it isn't big enough to + -- justify its own pacakge. + -- 9/11/23 - RLB - Added Usage category. + + function Get_Term_Group (Ch : in Character) return Term_Group_Index is + -- Convert a character representing a term grouping into a Term_Group_Index. + -- Raises Program_Error if Ch does not represent a term grouping. + begin + if Ch in '0' .. '9' then + return Term_Group_Index (Character'Pos(Ch) - Character'Pos('0')); + elsif Ch in 'A' .. 'Z' then + return Term_Group_Index (Character'Pos(Ch) - Character'Pos('A') + 10); + elsif Ch in 'a' .. 'z' then + return Term_Group_Index (Character'Pos(Ch) - Character'Pos('a') + 10); + else + raise Program_Error with "Unknown term group - " & Ch; + end if; + end Get_Term_Group; + + + function Get_Change_Kind (Name : in String) return ARM_Database.Paragraph_Change_Kind_Type is + -- Convert the name of a Change Kind into the appropriate enumeration. + -- Raises Program_Error if Name does not represent a Change Kind. + Clean_Name : constant String := + Ada.Characters.Handling.To_Lower (Ada.Strings.Fixed.Trim (Name, Ada.Strings.Right)); + begin + if Clean_Name = "revised" then + return ARM_Database.Revised; + elsif Clean_Name = "revisedadded" then + return ARM_Database.Revised_Inserted_Number; + elsif Clean_Name = "added" then + return ARM_Database.Inserted; + elsif Clean_Name = "addednormal" then + return ARM_Database.Inserted_Normal_Number; + elsif Clean_Name = "deleted" then + return ARM_Database.Deleted; + elsif Clean_Name = "deletedadded" then + return ARM_Database.Deleted_Inserted_Number; + elsif Clean_Name = "deletednodelmsg" then + return ARM_Database.Deleted_No_Delete_Message; + elsif Clean_Name = "deletedaddednodelmsg" then + return ARM_Database.Deleted_Inserted_Number_No_Delete_Message; + else + raise Program_Error with " ** Bad kind for change kind: " & + Ada.Strings.Fixed.Trim (Name, Ada.Strings.Right); + end if; + end Get_Change_Kind; + + + function Get_Paragraph_Kind (Name : in ARM_Input.Command_Name_Type) + return Paragraph_Type is + -- For the given name, return the Paragraph_Type. If Name matches + -- no known paragraph type, return Unknown. + Lower_Name : constant String := + Ada.Characters.Handling.To_Lower ( + Ada.Strings.Fixed.Trim (Name, Ada.Strings.Right)); + begin + if Lower_Name = "comment" then + return Comment; + elsif Lower_Name = "wideabove" then + return Wide_Above; + elsif Lower_Name = "example" then + return Example_Text; + elsif Lower_Name = "childexample" then + return Child_Example_Text; + elsif Lower_Name = "descexample" then + return Indented_Example_Text; + elsif Lower_Name = "describecode" then + return Code_Indented; + elsif Lower_Name = "indent" then + return Indent; + elsif Lower_Name = "itemize" then + return Bulleted; + elsif Lower_Name = "inneritemize" then + return Nested_Bulleted; + elsif Lower_Name = "innerinneritemize" then + return Nested_X2_Bulleted; + elsif Lower_Name = "display" then + return Display; + elsif Lower_Name = "syntaxdisplay" then + return Syntax_Display; + elsif Lower_Name = "syntaxtext" then + return Syntax_Indented; + elsif Lower_Name = "description" then + return Hanging_Indented_3; + elsif Lower_Name = "small" then + return Small; + elsif Lower_Name = "enumerate" then + return Enumerated; + elsif Lower_Name = "innerenumerate" then + return Nested_Enumerated; + elsif Lower_Name = "hang1list" then + return Hanging_Indented_1; + elsif Lower_Name = "hang2list" then + return Hanging_Indented_2; + elsif Lower_Name = "hang3list" then + return Hanging_Indented_3; + elsif Lower_Name = "hang4list" then + return Hanging_Indented_4; + elsif Lower_Name = "title" then + return Title; + + -- RM Groupings: + elsif Lower_Name = "intro" then + return Introduction; + elsif Lower_Name = "syntax" then + return Syntax; + elsif Lower_Name = "resolution" then + return Resolution; + elsif Lower_Name = "legality" then + return Legality; + elsif Lower_Name = "staticsem" then + return Static_Semantics; + elsif Lower_Name = "linktime" then + return Link_Time; + elsif Lower_Name = "runtime" then + return Run_Time; + elsif Lower_Name = "bounded" then + return Bounded_Errors; + elsif Lower_Name = "erron" then + return Erroneous; + elsif Lower_Name = "implreq" then + return Requirements; + elsif Lower_Name = "docreq" then + return Documentation; + elsif Lower_Name = "metrics" then + return Metrics; + elsif Lower_Name = "implperm" then + return Permissions; + elsif Lower_Name = "impladvice" then + return Advice; + elsif Lower_Name = "examples" then + return Examples; + elsif Lower_Name = "usage" then + return Usage; + elsif Lower_Name = "notes" then + return Notes; + elsif Lower_Name = "singlenote" then + return Single_Note; + + -- AARM groupings: + elsif Lower_Name = "metarules" then + return Language_Design; + elsif Lower_Name = "inconsistent83" then + return Ada83_Inconsistencies; + elsif Lower_Name = "incompatible83" then + return Ada83_Incompatibilities; + elsif Lower_Name = "extend83" then + return Ada83_Extensions; + elsif Lower_Name = "diffword83" then + return Ada83_Wording; + elsif Lower_Name = "inconsistent95" then + return Ada95_Inconsistencies; + elsif Lower_Name = "incompatible95" then + return Ada95_Incompatibilities; + elsif Lower_Name = "extend95" then + return Ada95_Extensions; + elsif Lower_Name = "diffword95" then + return Ada95_Wording; + elsif Lower_Name = "inconsistent2005" then + return Ada2005_Inconsistencies; + elsif Lower_Name = "incompatible2005" then + return Ada2005_Incompatibilities; + elsif Lower_Name = "extend2005" then + return Ada2005_Extensions; + elsif Lower_Name = "diffword2005" then + return Ada2005_Wording; + elsif Lower_Name = "inconsistent2012" then + return Ada2012_Inconsistencies; + elsif Lower_Name = "incompatible2012" then + return Ada2012_Incompatibilities; + elsif Lower_Name = "extend2012" then + return Ada2012_Extensions; + elsif Lower_Name = "diffword2012" then + return Ada2012_Wording; + elsif Lower_Name = "inconsistent2022" then + return Ada2022_Inconsistencies; + elsif Lower_Name = "incompatible2022" then + return Ada2022_Incompatibilities; + elsif Lower_Name = "extend2022" then + return Ada2022_Extensions; + elsif Lower_Name = "diffword2022" then + return Ada2022_Wording; + + -- AARM annotations: + elsif Lower_Name = "discussion" then + return Discussion; + elsif Lower_Name = "reason" then + return Reason; + elsif Lower_Name = "ramification" then + return Ramification; + elsif Lower_Name = "theproof" then + return Proof; + elsif Lower_Name = "implnote" then + return Imp_Note; + elsif Lower_Name = "honest" then + return Honest; + elsif Lower_Name = "glossarymarker" then + return Glossary_Marker; + elsif Lower_Name = "termmarker" then + return Term_Marker; + + -- (A)ASIS groupings: + elsif Lower_Name = "elementref" then + return Element_Ref; + elsif Lower_Name = "childref" then + return Child_Ref; + elsif Lower_Name = "usagenote" then + return Usage_Note; + + -- Classification kinds: + elsif Lower_Name = "rmonly" then + return RM_Only; + elsif Lower_Name = "aarmonly" then + return AARM_Only; + elsif Lower_Name = "notiso" then + return Not_ISO; + elsif Lower_Name = "isoonly" then + return ISO_Only; + + else + -- Dunno what this is, return "Unknown". + return Unknown; + end if; + end Get_Paragraph_Kind; + +end ARM_Paragraph; diff --git a/progs/arm_para.ads b/progs/arm_para.ads new file mode 100644 index 00000000..0fdbe61c --- /dev/null +++ b/progs/arm_para.ads @@ -0,0 +1,324 @@ +with ARM_Input, ARM_Database; +package ARM_Paragraph is + + -- + -- Ada reference manual formatter (ARM_Form). + -- + -- This package contains the types and subprograms to manage paragraph + -- kinds. + -- + -- --------------------------------------- + -- Copyright 2022, 2023 + -- AXE Consultants. All rights reserved. + -- 621 N. Sherman Ave., Suite B6, Madison WI 53704 + -- E-Mail: randy@rrsoftware.com + -- + -- ARM_Form is free software: you can redistribute it and/or modify + -- it under the terms of the GNU General Public License version 3 + -- as published by the Free Software Foundation. + -- + -- AXE CONSULTANTS MAKES THIS TOOL AND SOURCE CODE AVAILABLE ON AN "AS IS" + -- BASIS AND MAKES NO WARRANTY, EXPRESS OR IMPLIED, AS TO THE ACCURACY, + -- CAPABILITY, EFFICIENCY, MERCHANTABILITY, OR FUNCTIONING OF THIS TOOL. + -- IN NO EVENT WILL AXE CONSULTANTS BE LIABLE FOR ANY GENERAL, + -- CONSEQUENTIAL, INDIRECT, INCIDENTAL, EXEMPLARY, OR SPECIAL DAMAGES, + -- EVEN IF AXE CONSULTANTS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + -- DAMAGES. + -- + -- A copy of the GNU General Public License is available in the file + -- gpl-3-0.txt in the standard distribution of the ARM_Form tool. + -- Otherwise, see . + -- + -- If the GPLv3 license is not satisfactory for your needs, a commercial + -- use license is available for this tool. Contact Randy at AXE Consultants + -- for more information. + -- + -- --------------------------------------- + -- + -- Edit History: + -- + -- 4/13/22 - RLB - Created package, moving Paragraph_Type from ARM_Frm, + -- reorganizing it, and adding subprograms to convert + -- between it and names. Also added Ada 2022 paragraphs. + -- 5/25/22 - RLB - Added Term_Marker. + -- 5/26/22 - RLB - Put Term_Group_Index here as it isn't big enough to + -- justify its own pacakge. + -- 5/27/22 - RLB - Added Get_Change_Kind here as it needs to be shared. + -- 9/11/23 - RLB - Added Usage category. + + type Term_Group_Index is range 0 .. 35; + + function Get_Term_Group (Ch : in Character) return Term_Group_Index; + -- Convert a character representing a term grouping into a Term_Group_Index. + -- Raises Program_Error if Ch does not represent a term grouping. + + function Get_Change_Kind (Name : in String) return ARM_Database.Paragraph_Change_Kind_Type; + -- Convert the name of a Change Kind into the appropriate enumeration. + -- Raises Program_Error if Name does not represent a Change Kind. + + type Paragraph_Type is (Unknown, -- Use to represent errors, uninitialized, and so on. + Comment, -- Comments. Nothing should ever be formatted in this. + Plain, + Introduction, + Syntax, Resolution, Legality, + Static_Semantics, Link_Time, Run_Time, Bounded_Errors, + Erroneous, Requirements, Documentation, Metrics, Permissions, Advice, + Usage, Notes, Single_Note, Examples, + Language_Design, -- AARM-only. + Ada83_Inconsistencies, Ada83_Incompatibilities, -- AARM-only. + Ada83_Extensions, Ada83_Wording, -- AARM-only. + Ada95_Inconsistencies, Ada95_Incompatibilities, -- AARM-only. + Ada95_Extensions, Ada95_Wording, -- AARM-only. + Ada2005_Inconsistencies, Ada2005_Incompatibilities, -- AARM-only. + Ada2005_Extensions, Ada2005_Wording, -- AARM-only. + Ada2012_Inconsistencies, Ada2012_Incompatibilities, -- AARM-only. + Ada2012_Extensions, Ada2012_Wording, -- AARM-only. + Ada2022_Inconsistencies, Ada2022_Incompatibilities, -- AARM-only. + Ada2022_Extensions, Ada2022_Wording, -- AARM-only. + -- AARM annotations (no headers) + Reason, Ramification, Proof, Imp_Note, Corr_Change, Discussion, + Honest, Glossary_Marker, Term_Marker, Bare_Annotation, + Element_Ref, Child_Ref, Usage_Note, -- For ASIS (AASIS-only). + -- Classifications (no format implied): + RM_Only, AARM_Only, ISO_Only, Not_ISO, + -- Format only: + Wide_Above, Example_Text, Child_Example_Text, + Indented_Example_Text, Code_Indented, Indent, Bulleted, Nested_Bulleted, + Nested_X2_Bulleted, + Display, Syntax_Display, Syntax_Indented, Syntax_Production, + Enumerated, Nested_Enumerated, + Hanging_Indented_1, Hanging_Indented_2, Hanging_Indented_3, + Hanging_Indented_4, Small, Title, In_Table); + + subtype Ada_Groupings is Paragraph_Type range Introduction .. Ada2022_Wording; + -- The groupings used for Ada documents (but no annotations or + -- classifications). Note that these kinds of + -- paragraphs can never be nested (that is, no @begin for any of these + -- can occur inside of a @begin for one of them). + subtype RM_Groupings is Paragraph_Type range Introduction .. Examples; + -- Grouping that occur in the RM (or similar documents). + subtype AARM_Groupings is Paragraph_Type range Language_Design .. Ada2022_Wording; + -- Groupings that occur only in the AARM (or similar documents); AARM + -- annotations are not included. + subtype AARM_Annotations is Paragraph_Type range Reason .. Usage_Note; + -- Annotations that occur only in the AARM (or similar documents). + -- Both AARM annotations and AASIS annotations are included here; these + -- use prefixes rather than group headers. + subtype Classification_Kinds is Paragraph_Type range RM_Only .. Not_ISO; + -- Classifications, these do not imply formatting or nesting. + subtype Format_Kinds is Paragraph_Type range Wide_Above .. In_Table; + -- Paragraph kinds that are purely formatting. (Note that these + -- cannot be excluded.) "Plain" is an honorary member of this group (test + -- for it separately). + + subtype All_Groupings_and_Classifications is Paragraph_Type range Introduction .. Not_ISO; + + type Grouping_Array is array (All_Groupings_and_Classifications) of Boolean; + -- A map of groupings and classifications; use it for optionality of + -- groupings and classifications. + + function Get_Paragraph_Kind (Name : in ARM_Input.Command_Name_Type) + return Paragraph_Type; + -- For the given Name, return the Paragraph_Type. If Name matches + -- no known paragraph type, return Unknown. + + type LString is record + Length : Natural; + Str : String(1..40); + end record; + Paragraph_Kind_Name : constant array (Paragraph_Type) of LString := + (Unknown => (Length => 0, Str => (others => ' ')), -- Not used. + Comment => (Length => 0, Str => (others => ' ')), -- Not used. + Plain => (Length => 0, Str => (others => ' ')), -- Not used. + Introduction => (Length => 17, Str => "Introductory Text "), -- IntroName + Language_Design => (Length => 25, Str => "Language Design Principle "), -- MetaRulesName + Syntax => (Length => 11, Str => "Syntax Rule "), -- SyntaxName + Resolution => (Length => 20, Str => "Name Resolution Rule "), -- ResolutionName + Legality => (Length => 13, Str => "Legality Rule "), -- LegalityName + Static_Semantics=> (Length => 20, Str => "Static Semantic Item "), -- StaticSemName + Link_Time => (Length => 21, Str => "Post-Compilation Rule "), -- LinkTimeName + Run_Time => (Length => 21, Str => "Dynamic Semantic Item "), -- RunTimeName + Bounded_Errors => (Length => 24, Str => "Bounded (Run-Time) Error "), -- BoundedName + Erroneous => (Length => 19, Str => "Erroneous Execution "), -- ErronName + Requirements => (Length => 26, Str => "Implementation Requirement "), -- ImplReqName + Documentation => (Length => 25, Str => "Documentation Requirement "), -- DocReqName + Metrics => (Length => 6, Str => "Metric "), -- MetricsName + Permissions => (Length => 25, Str => "Implementation Permission "), -- ImplPermName + Advice => (Length => 21, Str => "Implementation Advice "), -- ImplAdviceName + Usage => (Length => 5, Str => "Usage "), -- UsageName + Notes => (Length => 4, Str => "Note "), -- NotesName + Single_Note => (Length => 4, Str => "Note "), -- SimpleNoteName + Examples => (Length => 7, Str => "Example "), -- ExamplesName + Ada83_Inconsistencies + => (Length => 25, Str => "Inconsistency with Ada 83 "), -- Inconsistent83Name + Ada83_Incompatibilities + => (Length => 27, Str => "Incompatibility with Ada 83 "), -- Incompatible83Name + Ada83_Extensions=> (Length => 19, Str => "Extension to Ada 83 "), -- Extend83Name + Ada83_Wording => (Length => 26, Str => "Wording Change from Ada 83 "), -- DiffWord83Name + Ada95_Inconsistencies + => (Length => 25, Str => "Inconsistency with Ada 95 "), -- Inconsistent95Name + Ada95_Incompatibilities + => (Length => 27, Str => "Incompatibility with Ada 95 "), -- Incompatible95Name + Ada95_Extensions=> (Length => 19, Str => "Extension to Ada 95 "), -- Extend95Name + Ada95_Wording => (Length => 26, Str => "Wording Change from Ada 95 "), -- DiffWord95Name + Ada2005_Inconsistencies + => (Length => 27, Str => "Inconsistency with Ada 2005 "), -- Inconsistent2005Name + Ada2005_Incompatibilities + => (Length => 29, Str => "Incompatibility with Ada 2005 "), -- Incompatible2005Name + Ada2005_Extensions + => (Length => 21, Str => "Extension to Ada 2005 "), -- Extend2005Name + Ada2005_Wording => (Length => 28, Str => "Wording Change from Ada 2005 "), -- DiffWord2005Name + Ada2012_Inconsistencies + => (Length => 27, Str => "Inconsistency with Ada 2012 "), -- Inconsistent2012Name + Ada2012_Incompatibilities + => (Length => 29, Str => "Incompatibility with Ada 2012 "), -- Incompatible2012Name + Ada2012_Extensions + => (Length => 21, Str => "Extension to Ada 2012 "), -- Extend2012Name + Ada2012_Wording => (Length => 28, Str => "Wording Change from Ada 2012 "), -- DiffWord2012Name + Ada2022_Inconsistencies + => (Length => 27, Str => "Inconsistency with Ada 2022 "), -- Inconsistent2022Name + Ada2022_Incompatibilities + => (Length => 29, Str => "Incompatibility with Ada 2022 "), -- Incompatible2022Name + Ada2022_Extensions + => (Length => 21, Str => "Extension to Ada 2022 "), -- Extend2022Name + Ada2022_Wording => (Length => 28, Str => "Wording Change from Ada 2022 "), -- DiffWord2022Name + Element_Ref => (Length => 0, Str => (others => ' ')), -- Not used. + Child_Ref => (Length => 0, Str => (others => ' ')), -- Not used. + Usage_Note => (Length => 0, Str => (others => ' ')), -- Not used. + Reason => (Length => 0, Str => (others => ' ')), -- Not used. + Ramification => (Length => 0, Str => (others => ' ')), -- Not used. + Proof => (Length => 0, Str => (others => ' ')), -- Not used. + Imp_Note => (Length => 0, Str => (others => ' ')), -- Not used. + Corr_Change => (Length => 0, Str => (others => ' ')), -- Not used. + Discussion => (Length => 0, Str => (others => ' ')), -- Not used. + Honest => (Length => 0, Str => (others => ' ')), -- Not used. + Glossary_Marker => (Length => 0, Str => (others => ' ')), -- Not used. + Term_Marker => (Length => 0, Str => (others => ' ')), -- Not used. + Bare_Annotation => (Length => 0, Str => (others => ' ')), -- Not used. + RM_Only => (Length => 0, Str => (others => ' ')), -- Not used. + AARM_Only => (Length => 0, Str => (others => ' ')), -- Not used. + ISO_Only => (Length => 0, Str => (others => ' ')), -- Not used. + Not_ISO => (Length => 0, Str => (others => ' ')), -- Not used. + Wide_Above => (Length => 0, Str => (others => ' ')), -- Not used. + Example_Text => (Length => 0, Str => (others => ' ')), -- Not used. + Child_Example_Text => (Length => 0, Str => (others => ' ')), -- Not used. + Indented_Example_Text=>(Length => 0, Str => (others => ' ')), -- Not used. + Code_Indented => (Length => 0, Str => (others => ' ')), -- Not used. + Indent => (Length => 0, Str => (others => ' ')), -- Not used. + Bulleted => (Length => 0, Str => (others => ' ')), -- Not used. + Nested_Bulleted => (Length => 0, Str => (others => ' ')), -- Not used. + Nested_X2_Bulleted=>(Length=> 0, Str => (others => ' ')), -- Not used. + Display => (Length => 0, Str => (others => ' ')), -- Not used. + Syntax_Display => (Length => 0, Str => (others => ' ')), -- Not used. + Syntax_Indented => (Length => 0, Str => (others => ' ')), -- Not used. + Syntax_Production=>(Length => 0, Str => (others => ' ')), -- Not used. + Enumerated => (Length => 0, Str => (others => ' ')), -- Not used. + Nested_Enumerated=>(Length => 0, Str => (others => ' ')), -- Not used. + Hanging_Indented_1=>(Length => 0, Str => (others => ' ')), -- Not used. + Hanging_Indented_2=>(Length => 0, Str => (others => ' ')), -- Not used. + Hanging_Indented_3=>(Length => 0, Str => (others => ' ')), -- Not used. + Hanging_Indented_4=>(Length => 0, Str => (others => ' ')), -- Not used. + Small => (Length => 0, Str => (others => ' ')), -- Not used. + Title => (Length => 0, Str => (others => ' ')), -- Not used. + In_Table => (Length => 0, Str => (others => ' '))); -- Not used. + + Paragraph_Kind_Title : constant array (Paragraph_Type) of LString := + (Unknown => (Length => 0, Str => (others => ' ')), -- Not used. + Comment => (Length => 0, Str => (others => ' ')), -- Not used. + Plain => (Length => 0, Str => (others => ' ')), + Introduction => (Length => 0, Str => (others => ' ')), -- IntroTitle (deleted). + Language_Design => (Length => 26, Str => "Language Design Principles "), -- MetaRulesTitle + Syntax => (Length => 6, Str => "Syntax "), -- SyntaxTitle + Resolution => (Length => 21, Str => "Name Resolution Rules "), -- ResolutionTitle + Legality => (Length => 14, Str => "Legality Rules "), -- LegalityTitle + Static_Semantics=> (Length => 16, Str => "Static Semantics "), -- StaticSemTitle + Link_Time => (Length => 22, Str => "Post-Compilation Rules "), -- LinkTimeTitle + Run_Time => (Length => 17, Str => "Dynamic Semantics "), -- RunTimeTitle + Bounded_Errors => (Length => 25, Str => "Bounded (Run-Time) Errors "), -- BoundedTitle + Erroneous => (Length => 19, Str => "Erroneous Execution "), -- ErronTitle + Requirements => (Length => 27, Str => "Implementation Requirements "), -- ImplReqTitle + Documentation => (Length => 26, Str => "Documentation Requirements "), -- DocReqTitle + Metrics => (Length => 7, Str => "Metrics "), -- MetricsTitle + Permissions => (Length => 26, Str => "Implementation Permissions "), -- ImplPermTitle + Advice => (Length => 21, Str => "Implementation Advice "), -- ImplAdviceTitle + Usage => (Length => 5, Str => "Usage "), -- UsageTitle + Notes => (Length => 5, Str => "NOTES "), -- NotesTitle + Single_Note => (Length => 5, Str => "NOTES "), -- SimpleNoteTitle + Examples => (Length => 8, Str => "Examples "), -- ExamplesTitle + Ada83_Inconsistencies + => (Length => 27, Str => "Inconsistencies With Ada 83 "), -- Inconsistent83Title + Ada83_Incompatibilities + => (Length => 29, Str => "Incompatibilities With Ada 83 "), -- Incompatible83Title + Ada83_Extensions=> (Length => 20, Str => "Extensions to Ada 83 "), -- Extend83Title + Ada83_Wording => (Length => 27, Str => "Wording Changes from Ada 83 "), -- DiffWord83Title + Ada95_Inconsistencies + => (Length => 27, Str => "Inconsistencies With Ada 95 "), -- Inconsistent95Title + Ada95_Incompatibilities + => (Length => 29, Str => "Incompatibilities With Ada 95 "), -- Incompatible95Title + Ada95_Extensions=> (Length => 20, Str => "Extensions to Ada 95 "), -- Extend95Title + Ada95_Wording => (Length => 27, Str => "Wording Changes from Ada 95 "), -- DiffWord95Title + Ada2005_Inconsistencies + => (Length => 29, Str => "Inconsistencies With Ada 2005 "), -- Inconsistent2005Title + Ada2005_Incompatibilities + => (Length => 31, Str => "Incompatibilities With Ada 2005 "), -- Incompatible2005Title + Ada2005_Extensions + => (Length => 22, Str => "Extensions to Ada 2005 "), -- Extend2005Title + Ada2005_Wording => (Length => 29, Str => "Wording Changes from Ada 2005 "), -- DiffWord2005Title + Ada2012_Inconsistencies + => (Length => 29, Str => "Inconsistencies With Ada 2012 "), -- Inconsistent2012Title + Ada2012_Incompatibilities + => (Length => 31, Str => "Incompatibilities With Ada 2012 "), -- Incompatible2012Title + Ada2012_Extensions + => (Length => 22, Str => "Extensions to Ada 2012 "), -- Extend2012Title + Ada2012_Wording => (Length => 29, Str => "Wording Changes from Ada 2012 "), -- DiffWord2012Title + Ada2022_Inconsistencies + => (Length => 29, Str => "Inconsistencies With Ada 2022 "), -- Inconsistent2022Title + Ada2022_Incompatibilities + => (Length => 31, Str => "Incompatibilities With Ada 2022 "), -- Incompatible2022Title + Ada2022_Extensions + => (Length => 22, Str => "Extensions to Ada 2022 "), -- Extend2022Title + Ada2022_Wording => (Length => 29, Str => "Wording Changes from Ada 2022 "), -- DiffWord2022Title + Element_Ref => (Length => 19, Str => "Element Reference: "), -- Paragraph start. + Child_Ref => (Length => 28, Str => "Child Elements returned by: "), -- Paragraph start. + Usage_Note => (Length => 12, Str => "Usage Note: "), -- Paragraph start. + Reason => (Length => 8, Str => "Reason: "), -- Paragraph start. + Ramification => (Length => 14, Str => "Ramification: "), -- Paragraph start. + Proof => (Length => 7, Str => "Proof: "), -- Paragraph start. + Imp_Note => (Length => 21, Str => "Implementation Note: "), -- Paragraph start. + Corr_Change => (Length => 8, Str => "Change: "), -- Paragraph start. + Discussion => (Length => 12, Str => "Discussion: "), -- Paragraph start. + Honest => (Length => 14, Str => "To be honest: "), -- Paragraph start. + Glossary_Marker => (Length => 16, Str => "Glossary entry: "), -- Paragraph start. + Term_Marker => (Length => 12, Str => "Term entry: "), -- Paragraph start. + Bare_Annotation => (Length => 0, Str => (others => ' ')), -- Not used. + RM_Only => (Length => 0, Str => (others => ' ')), -- Not used. + AARM_Only => (Length => 0, Str => (others => ' ')), -- Not used. + ISO_Only => (Length => 0, Str => (others => ' ')), -- Not used. + Not_ISO => (Length => 0, Str => (others => ' ')), -- Not used. + Wide_Above => (Length => 0, Str => (others => ' ')), -- Not used. + Example_Text => (Length => 0, Str => (others => ' ')), -- Not used. + Child_Example_Text => (Length => 0, Str => (others => ' ')), -- Not used. + Indented_Example_Text=>(Length => 0, Str => (others => ' ')), -- Not used. + Code_Indented => (Length => 0, Str => (others => ' ')), -- Not used. + Indent => (Length => 0, Str => (others => ' ')), -- Not used. + Bulleted => (Length => 0, Str => (others => ' ')), -- Not used. + Nested_Bulleted => (Length => 0, Str => (others => ' ')), -- Not used. + Nested_X2_Bulleted=>(Length=> 0, Str => (others => ' ')), -- Not used. + Display => (Length => 0, Str => (others => ' ')), -- Not used. + Syntax_Display => (Length => 0, Str => (others => ' ')), -- Not used. + Syntax_Indented => (Length => 0, Str => (others => ' ')), -- Not used. + Syntax_Production=>(Length => 0, Str => (others => ' ')), -- Not used. + Enumerated => (Length => 0, Str => (others => ' ')), -- Not used. + Nested_Enumerated=>(Length => 0, Str => (others => ' ')), -- Not used. + Hanging_Indented_1=>(Length => 0, Str => (others => ' ')), -- Not used. + Hanging_Indented_2=>(Length => 0, Str => (others => ' ')), -- Not used. + Hanging_Indented_3=>(Length => 0, Str => (others => ' ')), -- Not used. + Hanging_Indented_4=>(Length => 0, Str => (others => ' ')), -- Not used. + Small => (Length => 0, Str => (others => ' ')), -- Not used. + Title => (Length => 0, Str => (others => ' ')), -- Not used. + In_Table => (Length => 0, Str => (others => ' '))); -- Not used. + + +end ARM_Paragraph; + +