<> <> <> <<>> <<(need to use sequence, not vector, of polynomials since we may add and delete polynomials whose signatures we are recording).>> <<>> DIRECTORY AlgebraClasses, ASAtomicFormulaOps, ASFormulaStructure; QESignatureStructure: CEDAR DEFINITIONS ~ BEGIN <> Signature: TYPE = AlgebraClasses.Object; SignatureData: TYPE = AlgebraClasses.Object; -- sequence of ASAtomicFormulaOps.Operator's, of the same length as the sequence of polynomials which defines the signature's Structure. <> SignatureStructureData: TYPE = REF SignatureStructureDataRec; SignatureStructureDataRec: TYPE = RECORD [ polynomials: AlgebraClasses.Object -- sequence of polynomials whose signatures will be represented by elements of this structure ]; <> MakeSignatureStructure: PROC [polynomials: AlgebraClasses.Object] RETURNS [structure: AlgebraClasses.Object]; <> PrintName: AlgebraClasses.ToRopeOp; <> <<>> ShortPrintName: AlgebraClasses.ToRopeOp; IsSignatureStructure: AlgebraClasses.UnaryPredicate; Polynomials: AlgebraClasses.UnaryOp; <> <<>> StructureData: AlgebraClasses.UnaryToListOp; <> <> Recast: AlgebraClasses.BinaryOp; CanRecast: AlgebraClasses.BinaryPredicate; ToExpr: AlgebraClasses.ToExprOp; LegalFirstChar: AlgebraClasses.LegalFirstCharOp; Read: AlgebraClasses.ReadOp; FromRope: AlgebraClasses.FromRopeOp; ToRope: AlgebraClasses.ToRopeOp; Write: AlgebraClasses.WriteOp; <> MakeSignature: AlgebraClasses.ListImbedOp; <> <> SignaturesToFormula: AlgebraClasses.NaryOp; <> <<>> END.