Skip to main content

%DeepSee.SQL.Parser

class %DeepSee.SQL.Parser extends %Library.RegisteredObject

Include %qaqplex

Property Inventory

Method Inventory

Properties

property %CurrentToken as %String;
Accumulator for the current token
Property methods: %CurrentTokenDisplayToLogical(), %CurrentTokenGet(), %CurrentTokenIsValid(), %CurrentTokenLogicalToDisplay(), %CurrentTokenLogicalToOdbc(), %CurrentTokenNormalize(), %CurrentTokenSet()
property %Input as %String [ MultiDimensional ];
Property methods: %InputDisplayToLogical(), %InputGet(), %InputIsValid(), %InputLogicalToDisplay(), %InputLogicalToOdbc(), %InputNormalize(), %InputSet()
property %InputPart as %Integer [ InitialExpression = 0 ];
Current part of the input being processed
Property methods: %InputPartDisplayToLogical(), %InputPartGet(), %InputPartIsValid(), %InputPartLogicalToDisplay(), %InputPartNormalize(), %InputPartSet()
property %LastToken as %String;
Container for the last complete token. This is used for looking back when there are multiple tokens in a succession.
Property methods: %LastTokenDisplayToLogical(), %LastTokenGet(), %LastTokenIsValid(), %LastTokenLogicalToDisplay(), %LastTokenLogicalToOdbc(), %LastTokenNormalize(), %LastTokenSet()
property %Position as %Integer [ InitialExpression = 0 ];
Current position in the string
Property methods: %PositionDisplayToLogical(), %PositionGet(), %PositionIsValid(), %PositionLogicalToDisplay(), %PositionNormalize(), %PositionSet()
property %TokenList as %DynamicArray;
The ordered list of complete tokens
Property methods: %TokenListGet(), %TokenListGetObject(), %TokenListGetObjectId(), %TokenListGetSwizzled(), %TokenListIsValid(), %TokenListNewObject(), %TokenListSet(), %TokenListSetObject(), %TokenListSetObjectId(), %TokenListUnSwizzle()
property stack as %DynamicArray;
Stack for changing state
Property methods: stackGet(), stackGetObject(), stackGetObjectId(), stackGetSwizzled(), stackIsValid(), stackNewObject(), stackSet(), stackSetObject(), stackSetObjectId(), stackUnSwizzle()
property state as %DynamicObject;
Any state information can be packed into this object, which can be pushed or popped from a stack if needed.
Property methods: stateGet(), stateGetObject(), stateGetObjectId(), stateGetSwizzled(), stateIsValid(), stateNewObject(), stateSet(), stateSetObject(), stateSetObjectId(), stateUnSwizzle()

Methods

method %GetTokenList() as %DynamicArray
Returns the current %TokenList array
method %InitializeState() as %Status
Initialize the state object.
method %IsOperatorChar(pChar As %String = "", Output pOpLength) as %Boolean
Test for a single-character operator
method %IsOperatorToken(pToken As %String = "") as %Boolean
Test for an opertor token of arbitrary length
method %IsUserFunction(pFunction, pLastToken=..%LastToken) as %Boolean
method %OnNew(pInput As %String) as %Status
Optionally set the input as the object is created.
classmethod %ParseSelect(pSelectTokens As %DynamicArray, Output pParsedTree, Output pSpecialTokens) as %Status
Parse SELECT list for a DeepSee listing. The output pParsedTree is a %DynamicArray containing the individual select terms.
method %PrintInput(pVerbose=1) as %String
Print the current inputas set by %SetInput(). If pVerbose = 1, print the string to the current device.
method %PrintTokenList(pVerbose=1) as %String
method %ProcessDsTEXT(pTextMacroTokens As %DynamicArray, pDomain As %String = "", Output pStatus, pLocalize As %Boolean = 0) as %String
Extract the display header from the $$$TEXT macro. The parameter pLocalize allows the caller to request translation of the header string to the current locale. A default domain for this translation can be supplied via pDomain. When defined, this default is used if there is no domain explicitly declared as the second argument of $$$TEXT.
method %ProcessSelectItem(pSelectItemTokens As %DynamicArray, pHeaderPos, pDomain As %String = "", Output pSelectItemPair, pLocalize As %Boolean = 0) as %Status
Reassemble the select Item in both the logical and display versions. The parameter pLocalize allows the caller to request translation of the header string to the current locale. A default domain for this translation can be supplied via pDomain. When defined, this default is used if there is no domain explicitly declared as the second argument of $$$TEXT.
method %SetInput(pInput) as %Status
Set the current input to be analyzed.
method %Tokenize() as %Status
Walk through the string per character and tokenize.

Inherited Members

Inherited Methods

FeedbackOpens in a new tab