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;
+
+