XLParser  1.7.2
XLParser.ExcelFormulaGrammar Class Reference

Contains the XLParser grammar More...

Inheritance diagram for XLParser.ExcelFormulaGrammar:

Public Attributes

Terminal at => ToTerm("@")
 
Terminal comma => ToTerm(",")
 
Terminal colon => ToTerm(":")
 
Terminal hash => ToTerm("#")
 
Terminal semicolon => ToTerm(";")
 
Terminal OpenParen => ToTerm("(")
 
Terminal CloseParen => ToTerm(")")
 
Terminal CloseSquareParen => ToTerm("]")
 
Terminal OpenSquareParen => ToTerm("[")
 
Terminal exclamationMark => ToTerm("!")
 
Terminal CloseCurlyParen => ToTerm("}")
 
Terminal OpenCurlyParen => ToTerm("{")
 
Terminal QuoteS => ToTerm("'")
 
Terminal mulop => ToTerm("*")
 
Terminal plusop => ToTerm("+")
 
Terminal divop => ToTerm("/")
 
Terminal minop => ToTerm("-")
 
Terminal concatop => ToTerm("&")
 
Terminal expop => ToTerm("^")
 
Terminal percentop => ToTerm("%")
 
Terminal gtop => ToTerm(">")
 
Terminal eqop => ToTerm("=")
 
Terminal ltop => ToTerm("<")
 
Terminal neqop => ToTerm("<>")
 
Terminal gteop => ToTerm(">=")
 
Terminal lteop => ToTerm("<=")
 
Terminal RefErrorToken => ToTerm("#REF!", GrammarNames.TokenRefError)
 

Properties

Terminal intersectop = new ImpliedSymbolTerminal(GrammarNames.TokenIntersect) [get]
 
Terminal BoolToken [get]
 
Terminal NumberToken [get]
 
Terminal TextToken [get]
 
Terminal SingleQuotedStringToken [get]
 
Terminal ErrorToken = new RegexBasedTerminal(GrammarNames.TokenError, "#NULL!|#DIV/0!|#VALUE!|#NAME\\?|#NUM!|#N/A|#GETTING_DATA|#SPILL!", "#") [get]
 
Terminal UDFToken = new RegexBasedTerminal(GrammarNames.TokenUDF, UdfTokenRegex) { Priority = TerminalPriority.UDF } [get]
 
Terminal ExcelRefFunctionToken [get]
 
Terminal ExcelConditionalRefFunctionToken [get]
 
Terminal ExcelFunction [get]
 
Terminal EmptyArgumentToken = new ImpliedSymbolTerminal(GrammarNames.TokenEmptyArgument) [get]
 
Terminal VRangeToken = new RegexBasedTerminal(GrammarNames.TokenVRange, "[$]?" + ColumnPattern + ":[$]?" + ColumnPattern, ColumnPrefix) [get]
 
Terminal HRangeToken = new RegexBasedTerminal(GrammarNames.TokenHRange, "[$]?" + RowPattern + ":[$]?" + RowPattern, RowPrefix) [get]
 
Terminal CellToken [get]
 

Detailed Description

Contains the XLParser grammar

Property Documentation

◆ BoolToken

Terminal XLParser.ExcelFormulaGrammar.BoolToken
get
Initial value:
= new RegexBasedTerminal(GrammarNames.TokenBool, "TRUE|FALSE", "T", "F")
{
Priority = TerminalPriority.Bool
}

◆ CellToken

Terminal XLParser.ExcelFormulaGrammar.CellToken
get
Initial value:
= new RegexBasedTerminal(GrammarNames.TokenCell, CellTokenRegex, ColumnPrefix)
{ Priority = TerminalPriority.CellToken }

◆ ExcelConditionalRefFunctionToken

Terminal XLParser.ExcelFormulaGrammar.ExcelConditionalRefFunctionToken
get
Initial value:
= new RegexBasedTerminal(GrammarNames.TokenExcelConditionalRefFunction, "(IF|CHOOSE)\\(", "I", "C")
{ Priority = TerminalPriority.ExcelRefFunction }

◆ ExcelFunction

Terminal XLParser.ExcelFormulaGrammar.ExcelFunction
get
Initial value:
= new WordsTerminal(GrammarNames.ExcelFunction, excelFunctionList.Select(f => f + '('))
{ Priority = TerminalPriority.ExcelFunction }

◆ ExcelRefFunctionToken

Terminal XLParser.ExcelFormulaGrammar.ExcelRefFunctionToken
get
Initial value:
= new RegexBasedTerminal(GrammarNames.TokenExcelRefFunction, "(INDEX|OFFSET|INDIRECT)\\(", "I", "O")
{ Priority = TerminalPriority.ExcelRefFunction }

◆ NumberToken

Terminal XLParser.ExcelFormulaGrammar.NumberToken
get
Initial value:
= new NumberLiteral(GrammarNames.TokenNumber, NumberOptions.None)
{
DefaultIntTypes = new[] { TypeCode.Int32, TypeCode.Int64, NumberLiteral.TypeCodeBigInt }
}

◆ SingleQuotedStringToken

Terminal XLParser.ExcelFormulaGrammar.SingleQuotedStringToken
get
Initial value:
= new StringLiteral(GrammarNames.TokenSingleQuotedString, "'",
StringOptions.AllowsDoubledQuote | StringOptions.AllowsLineBreak | StringOptions.NoEscapes)
{ Priority = TerminalPriority.SingleQuotedString }

◆ TextToken

Terminal XLParser.ExcelFormulaGrammar.TextToken
get
Initial value:
= new StringLiteral(GrammarNames.TokenText, "\"",
StringOptions.AllowsDoubledQuote | StringOptions.AllowsLineBreak | StringOptions.NoEscapes)

The documentation for this class was generated from the following file: