Skip to main content

%ZEN.Report.Display.COSChart.dsFormulaParser

class %ZEN.Report.Display.COSChart.dsFormulaParser extends %Library.RegisteredObject

Property Inventory

Method Inventory

Properties

property dsFormulaLastError as %String;
Property methods: dsFormulaLastErrorDisplayToLogical(), dsFormulaLastErrorGet(), dsFormulaLastErrorIsValid(), dsFormulaLastErrorLogicalToDisplay(), dsFormulaLastErrorLogicalToOdbc(), dsFormulaLastErrorNormalize(), dsFormulaLastErrorSet()
property engine as dsFormulaEngine;
Property methods: engineGet(), engineGetSwizzled(), engineIsValid(), engineNewObject(), engineSet()
property errorHTML as %String;
Property methods: errorHTMLDisplayToLogical(), errorHTMLGet(), errorHTMLIsValid(), errorHTMLLogicalToDisplay(), errorHTMLLogicalToOdbc(), errorHTMLNormalize(), errorHTMLSet()
property funcSet as list of function;
Property methods: funcSetBuildValueArray(), funcSetCollectionToDisplay(), funcSetCollectionToOdbc(), funcSetDisplayToCollection(), funcSetGet(), funcSetGetObject(), funcSetGetObjectId(), funcSetGetSwizzled(), funcSetIsValid(), funcSetOdbcToCollection(), funcSetSet(), funcSetSetObject(), funcSetSetObjectId()
property lookupTable as %String [ MultiDimensional ];
Property methods: lookupTableDisplayToLogical(), lookupTableGet(), lookupTableIsValid(), lookupTableLogicalToDisplay(), lookupTableLogicalToOdbc(), lookupTableNormalize(), lookupTableSet()
property parseTree as parseTreeNode;
Property methods: parseTreeGet(), parseTreeGetSwizzled(), parseTreeIsValid(), parseTreeNewObject(), parseTreeSet()

Methods

method %OnNew() as %Status
Inherited description: This callback method is invoked by the %New() method to provide notification that a new instance of an object is being created.

If this method returns an error then the object will not be created.

It is passed the arguments provided in the %New call. When customizing this method, override the arguments with whatever variables and types you expect to receive from %New(). For example, if you're going to call %New, passing 2 arguments, %OnNew's signature could be:

Method %OnNew(dob as %Date = "", name as %Name = "") as %Status If instead of returning a %Status code this returns an oref and this oref is a subclass of the current class then this oref will be the one returned to the caller of %New method.

classmethod Insert(array, obj)
method dsGetErrorHTML(code, msg, expr, start, end)
Return error HTML.
method eval(lookupFunc)
Evaluate a DeepSee formula. lookupFunc is a function used to lookup ident values.
method evalNode(node, lookupFunc)
Evaluate a node within a parse tree
method findFunctionInFunctionSet(func)
classmethod get(arg, defvalue)
method getPrecedence(op)
Return the precedence value for the given operator.
method getTree()
Get the parse tree.
method isBinaryOperator(ch)
method isExpressionBalanced(expr)
Make a pass over expression and make sure parens and quotes are balanced
method isFunction(token)
test if token is a supported function name
method isIdentChar(ch, start)
method isOperatorChar(ch)
method isSpecialChar(ch)
method isUnaryOperator(ch)
method isUnaryOperatorChar(ch)
classmethod isValidClassName(token)
test if token is a valid class name
classmethod isValidIdent(token)
test if complete token is a valid identifier
method isWhiteSpace(ch)
classmethod lastIndexOf(string, substring)
method parse(expr)
Parse a DeepSee formula.
method reduceFunction(tokens, offset, expr)
Reduce a function within a token list. Return index of next token.
method reduceTokens(tokens, expr)
Reduce the token list (tokens) into a parse tree (expr) and return the top node of it.
method setFunctionSet(funcSet)
Connect a function set to the parser.
method setTree(tree)
Set the parse tree directly.
method testPrecedence(op1, op2)
Test if op1 has precendence over op2
method tokenize(expr)
tokenize a DeepSee formula; return a list of tokens. each token is of the form: {type:ident|func|,|(|)|unary|op|string|number , value:value} In ObjectScript the tokenList is a list of parseTreeNodes.

Inherited Members

Inherited Methods

FeedbackOpens in a new tab