Class Reference
IRIS for UNIX 2024.1.2
InterSystems: The power behind what matters   
Documentation  Search
  [USER] >  [%ZEN] >  [Report] >  [Display] >  [COSChart] >  [dsFormulaParser]
Private  Storage   

deprecatedclass %ZEN.Report.Display.COSChart.dsFormulaParser extends %RegisteredObject

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
6 28


Summary

Properties
dsFormulaLastError engine errorHTML funcSet
lookupTable parseTree

Methods
%AddToSaveSet %ClassIsLatestVersion %ClassName %ConstructClone
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Extends
%GetParameter %IsA %IsModified %New
%NormalizeObject %ObjectModified %OnNew %OriginalNamespace
%PackageName %RemoveFromSaveSet %SerializeObject %SetModified
%ValidateObject Insert dsGetErrorHTML eval
evalNode findFunctionInFunctionSet get getPrecedence
getTree isBinaryOperator isExpressionBalanced isFunction
isIdentChar isOperatorChar isSpecialChar isUnaryOperator
isUnaryOperatorChar isValidClassName isValidIdent isWhiteSpace
lastIndexOf parse reduceFunction reduceTokens
setFunctionSet setTree testPrecedence tokenize


Properties

• property dsFormulaLastError as %String;
• property engine as dsFormulaEngine;
• property errorHTML as %String;
• property funcSet as list of function;
• property lookupTable as %String [ MultiDimensional ];
• property parseTree as parseTreeNode;

Methods

• method %OnNew() as %Status
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)
findFunctionInFunction
• 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.


Copyright (c) 2025 by InterSystems Corporation. Cambridge, Massachusetts, U.S.A. All rights reserved. Confidential property of InterSystems Corporation.