<?xml version="1.0" encoding="Windows-1255" ?><Class name="DynExpParser" inherit="core.gml:Object" id="core.dev:DynExpParser" sort="21" urn="core.dev:dynexp.DynExpParser.gs" toc="\Dynamic Expressions"><Summary>Implements a predictive parser for dynamic expressions.</Summary><Inherit>&lt;q ref=&quot;core.gml:Object&quot;&gt;Object&lt;/q&gt;</Inherit><Copyright>(c) SAP AG 2003-2006. All rights reserved.</Copyright>
<Topics>
<Property name="ARG_TYPE_STRING" access="RO" type="String" default="'s'" sortGroup="true" scope="public" id="core.dev:DynExpParser!ARG_TYPE_STRING" sort="34" group="Properties" seq="0000"><Summary>constants of data type - arguments of function and return type.</Summary></Property>
<Property name="bIsExpr" access="RO" type="Boolean" default="false" sortGroup="true" scope="public" id="core.dev:DynExpParser!bIsExpr" sort="34" group="Properties" seq="0001"><Summary>Indicates whether the value is an expression that starts with '='.</Summary></Property>
<Property name="dependencies" access="RO" type="Object" default="{}" sortGroup="true" scope="public" id="core.dev:DynExpParser!dependencies" sort="34" group="Properties" seq="0002"><Summary>Gets the list of dependencies found in the expression.</Summary></Property>
<Property name="error" access="RO" type="String" default="''" sortGroup="true" scope="public" id="core.dev:DynExpParser!error" sort="34" group="Properties" seq="0003"><Summary>Gets the last parsing error, if any.</Summary></Property>
<Property name="isComplex" access="RO" type="Boolean" default="false" sortGroup="true" scope="public" id="core.dev:DynExpParser!isComplex" sort="34" group="Properties" seq="0004"><Summary>Indicates whether the expression is a more complex expression.</Summary></Property>
<Property name="isEmpty" access="RO" type="Boolean" default="true" sortGroup="true" scope="public" id="core.dev:DynExpParser!isEmpty" sort="34" group="Properties" seq="0005"><Summary>Indicates whether the expression is empty.</Summary></Property>
<Property name="isField" access="RO" type="Boolean" default="false" sortGroup="true" scope="public" id="core.dev:DynExpParser!isField" sort="34" group="Properties" seq="0006"><Summary>Indicates whether the expression is a simple field reference.</Summary></Property>
<Property name="isForeignField" access="RO" type="Boolean" default="false" sortGroup="true" scope="public" id="core.dev:DynExpParser!isForeignField" sort="34" group="Properties" seq="0007"><Summary>Indicates whether the expression is a foreign field reference.</Summary></Property>
<Property name="isLiteral" access="RO" type="Boolean" default="false" sortGroup="true" scope="public" id="core.dev:DynExpParser!isLiteral" sort="34" group="Properties" seq="0008"><Summary>Indicates whether the expression is a simple literal.</Summary></Property>
<Property name="prepareForUI" access="RO" type="Boolean" default="false" sortGroup="true" scope="public" id="core.dev:DynExpParser!prepareForUI" sort="34" group="Properties" seq="0009"><Summary>Indicates whether the expression need parse for UI (for displaying it).</Summary></Property>
<Property name="source" access="RO" type="String" default="''" sortGroup="true" scope="public" id="core.dev:DynExpParser!source" sort="34" group="Properties" seq="0010"><Summary>Gets the source expression string.</Summary></Property>
<Property name="TOKEN_FUNC" access="RO" type="String" default="'FUNC'" sortGroup="true" scope="public" id="core.dev:DynExpParser!TOKEN_FUNC" sort="34" group="Properties" seq="0011"><Summary>consts of function type.</Summary></Property>
<Property name="warning" access="RO" type="String" default="''" sortGroup="true" scope="public" id="core.dev:DynExpParser!warning" sort="34" group="Properties" seq="0012"><Summary>Gets the last parsing error, if any.</Summary></Property>
<Method name="addRecentDE" scope="public" sortGroup="true" id="core.dev:DynExpParser!addRecentDE" sort="35" group="Methods" seq="0013"><Summary>add a function/operator to the list of recently used function in dynamic expr editor.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;addRecentDE&lt;/b&gt;(&lt;i&gt;elem&lt;/i&gt;) &amp;rarr; void"><Param name="elem" type="String">function/operator.</Param></Parameters><Return></Return></Method>
<Method name="clearContextNode" scope="public" sortGroup="true" id="core.dev:DynExpParser!clearContextNode" sort="35" group="Methods" seq="0014"><Summary>Clears the parser's context node.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;clearContextNode&lt;/b&gt;() &amp;rarr; void"></Parameters><Return></Return></Method>
<Method name="clearExprComments" scope="public" sortGroup="true" id="core.dev:DynExpParser!clearExprComments" sort="35" group="Methods" seq="0015"><Summary>gets the expression only without comments
   Return: the expression.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;clearExprComments&lt;/b&gt;(&lt;i&gt;expr&lt;/i&gt;) &amp;rarr; void"><Param name="expr" type="String">expression to be devided to expression and comments.</Param></Parameters><Return></Return></Method>
<Method name="genTranslationKey" sortGroup="true" scope="public" id="core.dev:DynExpParser!genTranslationKey" sort="35" group="Methods" seq="0016"><Summary>Add  the text and its tType into the translation map.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;genTranslationKey&lt;/b&gt;(&lt;i&gt;text&lt;/i&gt;, &lt;i&gt;tType&lt;/i&gt;) &amp;rarr; String"><Param name="text" type="String">The text to be added into the translation map.</Param><Param name="tType" type="String">The tType of the text.</Param></Parameters><Return type="String">The text key.</Return></Method>
<Method name="getDependenciesColl" scope="public" sortGroup="true" id="core.dev:DynExpParser!getDependenciesColl" sort="35" group="Methods" seq="0017"><Summary>Get the DE dependencies and return in a collection:
	{
		[infosetID1][fid1]=true
						[fid2]=true
						[fid3]=true
		[infosetID2][fid5]=true
						[fid8]=true
						[fid9]=true

	 	...
	}.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;getDependenciesColl&lt;/b&gt;() &amp;rarr; void"></Parameters><Return></Return></Method>
<Method name="getExprComments" scope="public" sortGroup="true" id="core.dev:DynExpParser!getExprComments" sort="35" group="Methods" seq="0018"><Summary>gets the comments from an expression
   Return: the comments.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;getExprComments&lt;/b&gt;(&lt;i&gt;expr&lt;/i&gt;) &amp;rarr; void"><Param name="expr" type="String">expression to be devided to expression and comments.</Param></Parameters><Return></Return></Method>
<Method name="getRecentDE" scope="public" sortGroup="true" id="core.dev:DynExpParser!getRecentDE" sort="35" group="Methods" seq="0019"><Summary>return the list of recently used functions in dynamic expr editor.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;getRecentDE&lt;/b&gt;() &amp;rarr; void"></Parameters><Return></Return></Method>
<Method name="handleExprComments" scope="public" sortGroup="true" id="core.dev:DynExpParser!handleExprComments" sort="35" group="Methods" seq="0020"><Summary>clear the comments within  from the expression
   Return: array of the expression itself and its comments.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;handleExprComments&lt;/b&gt;(&lt;i&gt;expr&lt;/i&gt;) &amp;rarr; void"><Param name="expr" type="String">expression to be devided to expression and comments.</Param></Parameters><Return></Return></Method>
<Method name="handleReservedChar" scope="public" sortGroup="true" id="core.dev:DynExpParser!handleReservedChar" sort="35" group="Methods" seq="0021"><Summary>handle names with special chars:
	for [ . @ chars - add \ before them and also add [] around the name
	throw error when must have [] wraping the text

	Return:		string - the altered name,.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;handleReservedChar&lt;/b&gt;(&lt;i&gt;name&lt;/i&gt;, &lt;i&gt;bExtract&lt;/i&gt;) &amp;rarr; void"><Param name="name" type="String">string to check.</Param><Param name="bExtract" type="Boolean">if to extract the name from [].</Param></Parameters><Return></Return></Method>
<Method name="isValidType" scope="public" sortGroup="true" id="core.dev:DynExpParser!isValidType" sort="35" group="Methods" seq="0022"><Summary>Validates a literal expression according to the expected type.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;isValidType&lt;/b&gt;(&lt;i&gt;expr&lt;/i&gt;, &lt;i&gt;expectedType&lt;/i&gt;) &amp;rarr; Boolean"><Param name="expr" type="String">The source expression string.</Param><Param name="expectedType" default="" type="String">The expected expression type.</Param></Parameters><Return type="Boolean">Returns true expected type is the literal type.</Return></Method>
<Method name="nexttoken" scope="public" sortGroup="true" id="core.dev:DynExpParser!nexttoken" sort="35" group="Methods" seq="0023"><Summary>Parses the nest token in the expression, check what is the next token in the expression.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;nexttoken&lt;/b&gt;() &amp;rarr; void"></Parameters><Return></Return></Method>
<Method name="parse" scope="public" sortGroup="true" id="core.dev:DynExpParser!parse" sort="35" group="Methods" seq="0024"><Summary>Parses a given expression.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;parse&lt;/b&gt;(&lt;i&gt;source&lt;/i&gt;) &amp;rarr; void"><Param name="source" type="String">The source expression string.</Param></Parameters><Return></Return><Remarks>The method invokes the predictive parser and updates the parser properties according to the results.</Remarks></Method>
<Method name="resetRecentDE" scope="public" sortGroup="true" id="core.dev:DynExpParser!resetRecentDE" sort="35" group="Methods" seq="0025"><Summary>clear the list of recently used functions in dynamic expr editor.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;resetRecentDE&lt;/b&gt;() &amp;rarr; void"></Parameters><Return></Return></Method>
<Method name="setContext" scope="public" sortGroup="true" id="core.dev:DynExpParser!setContext" sort="35" group="Methods" seq="0026"><Summary>Sets the parser context
   Notice! If you'll call the setParseById method - call it after setContext (or the setDynExpContext rule)
   because setContext will override the parseById flag.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;setContext&lt;/b&gt;(&lt;i&gt;infosetEnum&lt;/i&gt;, &lt;i&gt;infoset&lt;/i&gt;, &lt;i&gt;field&lt;/i&gt;, &lt;i&gt;parseByID&lt;/i&gt;) &amp;rarr; void"><Param name="infosetEnum" type="dev:IInfosetEnumerator" typeRef="&lt;q ref=&quot;core.dev:IInfosetEnumerator&quot;&gt;IInfosetEnumerator&lt;/q&gt;">The context infoset enumerator.</Param><Param name="infoset" type="dev:IInfoset" typeRef="&lt;q ref=&quot;core.dev:IInfoset&quot;&gt;IInfoset&lt;/q&gt;">The context infoset.</Param><Param name="field" type="dev:IField" typeRef="&lt;q ref=&quot;core.dev:IField&quot;&gt;IField&lt;/q&gt;">The context field.</Param><Param name="parseByID" type="Boolean">optional - true by default - if the expression is by field ID.</Param></Parameters><Return></Return></Method>
<Method name="setContextDescriptor" scope="public" sortGroup="true" id="core.dev:DynExpParser!setContextDescriptor" sort="35" group="Methods" seq="0027"><Summary>Sets the parser's context descriptor, which is used to help generate language-specific context references.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;setContextDescriptor&lt;/b&gt;(&lt;i&gt;descriptor&lt;/i&gt;) &amp;rarr; void"><Param name="descriptor" type="String">The context descriptor name.</Param></Parameters><Return></Return></Method>
<Method name="setContextField" scope="public" sortGroup="true" id="core.dev:DynExpParser!setContextField" sort="35" group="Methods" seq="0028"><Summary>Sets the parser's context field.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;setContextField&lt;/b&gt;(&lt;i&gt;field&lt;/i&gt;) &amp;rarr; void"><Param name="field" type="dev:IField" typeRef="&lt;q ref=&quot;core.dev:IField&quot;&gt;IField&lt;/q&gt;">The context field.</Param></Parameters><Return></Return></Method>
<Method name="setContextInfoset" scope="public" sortGroup="true" id="core.dev:DynExpParser!setContextInfoset" sort="35" group="Methods" seq="0029"><Summary>Sets the parser's context fields from an infoset.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;setContextInfoset&lt;/b&gt;(&lt;i&gt;infoset&lt;/i&gt;) &amp;rarr; void"><Param name="infoset" type="dev:IInfoset" typeRef="&lt;q ref=&quot;core.dev:IInfoset&quot;&gt;IInfoset&lt;/q&gt;">The context infoset.</Param></Parameters><Return></Return></Method>
<Method name="setContextInfosetEnum" scope="public" sortGroup="true" id="core.dev:DynExpParser!setContextInfosetEnum" sort="35" group="Methods" seq="0030"><Summary>Sets the parser's context infoset enumerator.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;setContextInfosetEnum&lt;/b&gt;(&lt;i&gt;infosetEnum&lt;/i&gt;) &amp;rarr; void"><Param name="infosetEnum" type="dev:IInfosetEnumerator" typeRef="&lt;q ref=&quot;core.dev:IInfosetEnumerator&quot;&gt;IInfosetEnumerator&lt;/q&gt;">The context infoset enumerator.</Param></Parameters><Return></Return></Method>
<Method name="setContextNode" scope="public" sortGroup="true" id="core.dev:DynExpParser!setContextNode" sort="35" group="Methods" seq="0031"><Summary>Sets the parser's context node.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;setContextNode&lt;/b&gt;(&lt;i&gt;nodeFullName&lt;/i&gt;) &amp;rarr; void"><Param name="nodeFullName" type="String">The context node full name.</Param></Parameters><Return></Return></Method>
<Method name="setContextTranslation" scope="public" sortGroup="true" id="core.dev:DynExpParser!setContextTranslation" sort="35" group="Methods" seq="0032"><Summary>Sets the property name and the translation type for the property that holds the expression.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;setContextTranslation&lt;/b&gt;(&lt;i&gt;element&lt;/i&gt;, &lt;i&gt;propName&lt;/i&gt;, &lt;i&gt;transType&lt;/i&gt;) &amp;rarr; void"><Param name="element">A GML element that contains the property.</Param><Param name="propName">The propertyName.</Param><Param name="transType">The type (XTIT,XBTN...).</Param></Parameters><Return></Return></Method>
<Method name="setDynExpContext" scope="public" sortGroup="true" id="core.dev:DynExpParser!setDynExpContext" sort="35" group="Methods" seq="0033"><Summary>Sets the parser context object.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;setDynExpContext&lt;/b&gt;(&lt;i&gt;contextObj&lt;/i&gt;) &amp;rarr; void"><Param name="contextObj" type="core.dev:DynExpContext" typeRef="&lt;q ref=&quot;core.dev:DynExpContext&quot;&gt;DynExpContext&lt;/q&gt;">The Dynamic Expressions context object.</Param></Parameters><Return></Return></Method>
<Method name="setExpectedType" scope="public" sortGroup="true" id="core.dev:DynExpParser!setExpectedType" sort="35" group="Methods" seq="0034"><Summary>Sets expected expression type (affects validation during parsing).</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;setExpectedType&lt;/b&gt;(&lt;i&gt;expectedType&lt;/i&gt;) &amp;rarr; void"><Param name="expectedType" type="String">One of supported data types.</Param></Parameters><Return></Return></Method>
<Method name="setExprComments" scope="public" sortGroup="true" id="core.dev:DynExpParser!setExprComments" sort="35" group="Methods" seq="0035"><Summary>add to the comments 
   Return: the comments.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;setExprComments&lt;/b&gt;(&lt;i&gt;expr&lt;/i&gt;) &amp;rarr; void"><Param name="expr" type="String">comments string.</Param></Parameters><Return></Return></Method>
<Method name="setFormatTranslatable" scope="public" sortGroup="true" id="core.dev:DynExpParser!setFormatTranslatable" sort="35" group="Methods" seq="0036"><Summary>determines whether FORMAT macro is translatable, meaning replaces its text with a translate key.
   For freestyle - it will be false, for pattern - it will be true (default).</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;setFormatTranslatable&lt;/b&gt;(&lt;i&gt;isTranslatable&lt;/i&gt;) &amp;rarr; void"><Param name="isTranslatable" type="Boolean">if FORMAT macro is translatable.</Param></Parameters><Return></Return></Method>
<Method name="setGIFLocation" scope="public" sortGroup="true" id="core.dev:DynExpParser!setGIFLocation" sort="35" group="Methods" seq="0037"><Summary>Sets the GIF files location, needed by the editor that uses this class.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;setGIFLocation&lt;/b&gt;(&lt;i&gt;GIFLocations&lt;/i&gt;) &amp;rarr; void"><Param name="GIFLocations">The Dynmaic Expressions icons location.</Param></Parameters><Return></Return></Method>
<Method name="setParsingByID" scope="public" sortGroup="true" id="core.dev:DynExpParser!setParsingByID" sort="35" group="Methods" seq="0038"><Summary>parse the expression by the field id and not name
   Notice! call this method only after setContext, because setContext (or the setDynExpContext rule) will override the flag.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;setParsingByID&lt;/b&gt;(&lt;i&gt;bParseID&lt;/i&gt;) &amp;rarr; void"><Param name="bParseID" type="Boolean">parse by name or by id.</Param></Parameters><Return></Return></Method>
<Method name="split" scope="public" sortGroup="true" id="core.dev:DynExpParser!split" sort="35" group="Methods" seq="0039"><Summary>split the string by the given seperator.</Summary><Parameters signature="method:: &lt;i&gt;this&lt;/i&gt;.&lt;b&gt;split&lt;/b&gt;(&lt;i&gt;name&lt;/i&gt;, &lt;i&gt;seperator&lt;/i&gt;, &lt;i&gt;names&lt;/i&gt;, &lt;i&gt;bBreak&lt;/i&gt;) &amp;rarr; void"><Param name="name" type="String">string to split.</Param><Param name="seperator" type="String">seperator char.</Param><Param name="names" type="array">array which will hold the seperated names.</Param><Param name="bBreak" type="Boolean">if to break the loop after first found.</Param></Parameters><Return></Return></Method>
</Topics>
</Class>