|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T V
Length: 4262 (0x10a6)
Types: TextFile
Names: »V«
└─⟦d10a02448⟧ Bits:30000409 8mm tape, Rational 1000, ENVIRONMENT, D_12_7_3
└─⟦fc9b38f02⟧ »DATA«
└─⟦9b46a407a⟧
└─⟦12c68c704⟧
└─⟦this⟧
└─⟦5f3412b64⟧ Bits:30000745 8mm tape, Rational 1000, ENVIRONMENT 12_6_5 TOOLS
└─⟦91c658230⟧ »DATA«
└─⟦458657fb6⟧
└─⟦220843204⟧
└─⟦this⟧
with System;
with Diana;
package Error_Messages is
type Errors is private;
type Annotation is private;
type Annotations is private;
type Annotation_Id is new Natural;
type Severity is (Note, Warning, Error, Internal_Error, Exception_Handled);
function Append (Prefix : Errors;
Kind : Severity;
Tree_1 : Diana.Tree;
Message : String;
Tree_2 : Diana.Tree;
Heap : System.Segment;
Tree_1a : Diana.Tree := Diana.Empty;
Tree_2a : Diana.Tree := Diana.Empty) return Errors;
function Kind (Result : Errors) return Severity;
function Tree_1 (Result : Errors) return Diana.Tree;
function Tree_1a (Result : Errors) return Diana.Tree;
function Message (Result : Errors) return String;
function Tree_2 (Result : Errors) return Diana.Tree;
function Tree_2a (Result : Errors) return Diana.Tree;
function Next (Result : Errors) return Errors;
function Is_Empty (Result : Errors) return Boolean;
function Empty return Errors;
-- use to build and interrogate messages when they cannot be attached to
-- a tree.
procedure Fault_Nodes (Root : Diana.Tree; Some_Errors : Errors);
-- Any tree referenced as a TREE_1 is a 'faulty node'. The procedure
-- FAULT_NODES converts the list of ERRORS from semantics and/or
-- directory-ops to a sequence of tree nodes with the error messages
-- attached to each. The sequence becomes the value of SM_FAULTY_NODES
-- (ROOT). Update access is required for ROOT. TREE_1A and TREE_2A are
-- ignored. Any annotations on the tree are removed prior to converting
-- the new error list
procedure Sm_Faulty_Nodes (Root : Diana.Tree;
Faulty_Nodes : Diana.Sequence);
procedure Remove_Faulty_Nodes (Root : Diana.Tree);
function Has_Sm_Faulty_Nodes (Root : Diana.Tree) return Boolean;
function Sm_Faulty_Nodes (Root : Diana.Tree) return Diana.Sequence;
function Sm_Annotations (Faulty_Node : Diana.Tree) return Annotations;
function Has_Sm_Annotations (Any_Node : Diana.Tree) return Boolean;
procedure Append (Any_Node : Diana.Tree; Msg : Annotation);
-- permanent semantic attributes tying messages to faulty nodes.
function Make (Kind : Severity; Text : String) return Annotation;
function Make (Kind : Severity; Text : String; Tree_2 : Diana.Tree)
return Annotation;
-- TREE_1 of each message is the faulty node it is attached to.
function Head (Msgs : Annotations) return Annotation;
function Tail (Msgs : Annotations) return Annotations;
function Not_Empty (Msgs : Annotations) return Boolean;
function Nil return Annotations;
-- Several messages can be associated with each faulty node.
-- Use these operators to move through the list of messages.
function Kind (Msg : Annotation) return Severity;
function Text (Msg : Annotation) return String;
function Tree_2 (Msg : Annotation) return Diana.Tree;
-- TREE_1 of each message is the (faulty) node it is attached to.
function Id (Msg : Annotation) return Annotation_Id;
function Has_Id (Msg : Annotation) return Boolean;
function Nil return Annotation_Id;
-- The ID of a message uniquely identifies the place within the
-- the semanticist where the message originated. It is often more
-- specific in defining the nature of the error than the text
-- portion of the message.
function Annotated_Message (Msg : Error_Messages.Errors) return String;
function Annotated_Message
(Node : Diana.Tree; Msg : Annotation) return String;
function Annotated_Node (Node : Diana.Tree) return String;
pragma Subsystem (Ada_Management);
pragma Module_Name (4, 1121);
private
type Error_Data (Length : Natural);
type Errors is access Error_Data;
pragma Segmented_Heap (Errors);
type Annotation is new Diana.Attr_List;
type Annotations is new Diana.Attr_List;
end Error_Messages;