Home > Class Reference > ENSLIB namespace > Ens.DTL.Compiler
Private  Storage   


class Ens.DTL.Compiler extends %RegisteredObject

This is the DTL Compiler. It it called primarily during the compilation process of subclasses of Ens.DataTransformDTL that define a DTL XDATA block. However, it can be called to directly compile a file or a stream containing DTL These debug flags affect the diagnostic output of the compiler:- ^Ens.Debug("ShowGeneratedXML") - Displays xml reconstructed from the parse tree to the current device


Parameters Properties Methods Queries Indices ForeignKeys Triggers
5 7


ClassName Implementation Indent Language Transform

%AddToSaveSet %ClassIsLatestVersion %ClassName %ConstructClone
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Extends
%GetParameter %IsA %IsModified %New
%NormalizeObject %ObjectModified %OriginalNamespace %PackageName
%RemoveFromSaveSet %SerializeObject %SetModified %ValidateObject
AddIndent CompileStream GenerateCode GenerateXML
LanguageGet ParseStream RemoveIndent


• property ClassName as %String;
This holds the name of the data transform class
• property Implementation as %RawString [ Transient ];
This holds the method implementation stream
• property Indent as %String [ InitialExpression = $char(9) ];
• property Language as %String;
This holds the language of the current compilation
• property Transform as Ens.DTL.Transform;
This holds the root of the Parse Tree


• method AddIndent()
• classmethod CompileStream(pStream As %BinaryStream, pClass As %Dictionary.ClassDefinition, pMethod As %Stream.MethodGenerator) as %Status
Parse the DTL contained in the supplied stream and generate a stream containing the implementation of the Transform method
• classmethod GenerateCode(pTransform As Ens.DTL.Transform, pClass As %Dictionary.ClassDefinition, pMethod As %Stream.MethodGenerator) as %Status
• classmethod GenerateXML(pTransform As Ens.DTL.Transform) as %Status
• method LanguageGet() as %String
Accesor for Language
• classmethod ParseStream(Output pTransform As Ens.DTL.Transform, pStream As %BinaryStream) as %Status
• method RemoveIndent()