XLParser  1.3.10
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 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)
 
Terminal ReservedNameToken
 
Terminal SRColumnToken
 
Terminal SheetToken
 
Terminal SheetQuotedToken
 
Terminal MultipleSheetsToken
 
Terminal MultipleSheetsQuotedToken
 
Terminal FileToken
 

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") [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) [get]
 
Terminal HRangeToken = new RegexBasedTerminal(GrammarNames.TokenHRange, "[$]?[1-9][0-9]*:[$]?[1-9][0-9]*") [get]
 
Terminal CellToken [get]
 
Terminal NameToken [get]
 
Terminal NamedRangeCombinationToken [get]
 
Terminal EnclosedInBracketsToken [get]
 
Terminal FilePathWindowsToken = new RegexBasedTerminal(GrammarNames.TokenFilePathWindows, filePathRegex) [get]
 
NonTerminal Argument = new NonTerminal(GrammarNames.Argument) [get]
 
NonTerminal Arguments = new NonTerminal(GrammarNames.Arguments) [get]
 
NonTerminal ArrayColumns = new NonTerminal(GrammarNames.ArrayColumns) [get]
 
NonTerminal ArrayConstant = new NonTerminal(GrammarNames.ArrayConstant) [get]
 
NonTerminal ArrayFormula = new NonTerminal(GrammarNames.ArrayFormula) [get]
 
NonTerminal ArrayRows = new NonTerminal(GrammarNames.ArrayRows) [get]
 
NonTerminal Bool = new NonTerminal(GrammarNames.Bool) [get]
 
NonTerminal Cell = new NonTerminal(GrammarNames.Cell) [get]
 
NonTerminal Constant = new NonTerminal(GrammarNames.Constant) [get]
 
NonTerminal ConstantArray = new NonTerminal(GrammarNames.ConstantArray) [get]
 
NonTerminal DynamicDataExchange = new NonTerminal(GrammarNames.DynamicDataExchange) [get]
 
NonTerminal EmptyArgument = new NonTerminal(GrammarNames.EmptyArgument) [get]
 
NonTerminal Error = new NonTerminal(GrammarNames.Error) [get]
 
NonTerminal File = new NonTerminal(GrammarNames.File) [get]
 
NonTerminal Formula = new NonTerminal(GrammarNames.Formula) [get]
 
NonTerminal FormulaWithEq = new NonTerminal(GrammarNames.FormulaWithEq) [get]
 
NonTerminal FunctionCall = new NonTerminal(GrammarNames.FunctionCall) [get]
 
NonTerminal FunctionName = new NonTerminal(GrammarNames.FunctionName) [get]
 
NonTerminal HRange = new NonTerminal(GrammarNames.HorizontalRange) [get]
 
NonTerminal InfixOp = new NonTerminal(GrammarNames.TransientInfixOp) [get]
 
NonTerminal NamedRange = new NonTerminal(GrammarNames.NamedRange) [get]
 
NonTerminal Number = new NonTerminal(GrammarNames.Number) [get]
 
NonTerminal PostfixOp = new NonTerminal(GrammarNames.TransientPostfixOp) [get]
 
NonTerminal Prefix = new NonTerminal(GrammarNames.Prefix) [get]
 
NonTerminal PrefixOp = new NonTerminal(GrammarNames.TransientPrefixOp) [get]
 
NonTerminal QuotedFileSheet = new NonTerminal(GrammarNames.QuotedFileSheet) [get]
 
NonTerminal Reference = new NonTerminal(GrammarNames.Reference) [get]
 
NonTerminal ReferenceItem = new NonTerminal(GrammarNames.TransientReferenceItem) [get]
 
NonTerminal ReferenceFunctionCall = new NonTerminal(GrammarNames.ReferenceFunctionCall) [get]
 
NonTerminal RefError = new NonTerminal(GrammarNames.RefError) [get]
 
NonTerminal RefFunctionName = new NonTerminal(GrammarNames.RefFunctionName) [get]
 
NonTerminal ReservedName = new NonTerminal(GrammarNames.ReservedName) [get]
 
NonTerminal Sheet = new NonTerminal(GrammarNames.Sheet) [get]
 
NonTerminal Start = new NonTerminal(GrammarNames.TransientStart) [get]
 
NonTerminal StructuredReference = new NonTerminal(GrammarNames.StructuredReference) [get]
 
NonTerminal StructuredReferenceElement = new NonTerminal(GrammarNames.StructuredReferenceElement) [get]
 
NonTerminal StructuredReferenceExpression = new NonTerminal(GrammarNames.StructuredReferenceExpression) [get]
 
NonTerminal StructuredReferenceTable = new NonTerminal(GrammarNames.StructuredReferenceTable) [get]
 
NonTerminal Text = new NonTerminal(GrammarNames.Text) [get]
 
NonTerminal UDFName = new NonTerminal(GrammarNames.UDFName) [get]
 
NonTerminal UDFunctionCall = new NonTerminal(GrammarNames.UDFunctionCall) [get]
 
NonTerminal Union = new NonTerminal(GrammarNames.Union) [get]
 
NonTerminal VRange = new NonTerminal(GrammarNames.VerticalRange) [get]
 

Detailed Description

Contains the XLParser grammar

Member Data Documentation

◆ FileToken

Terminal XLParser.ExcelFormulaGrammar.FileToken
Initial value:
= new RegexBasedTerminal(GrammarNames.TokenFileNameNumeric, fileNameNumericRegex)
{ Priority = TerminalPriority.FileNameNumericToken }

◆ MultipleSheetsQuotedToken

Terminal XLParser.ExcelFormulaGrammar.MultipleSheetsQuotedToken
Initial value:
= new RegexBasedTerminal(GrammarNames.TokenMultipleSheetsQuoted, multiSheetQuotedRegex)
{ Priority = TerminalPriority.MultipleSheetsToken }

◆ MultipleSheetsToken

Terminal XLParser.ExcelFormulaGrammar.MultipleSheetsToken
Initial value:
= new RegexBasedTerminal(GrammarNames.TokenMultipleSheets, multiSheetRegex)
{ Priority = TerminalPriority.MultipleSheetsToken }

◆ ReservedNameToken

Terminal XLParser.ExcelFormulaGrammar.ReservedNameToken
Initial value:
= new RegexBasedTerminal(GrammarNames.TokenReservedName, @"_xlnm\.[a-zA-Z_]+")
{ Priority = TerminalPriority.ReservedName }

◆ SheetQuotedToken

Terminal XLParser.ExcelFormulaGrammar.SheetQuotedToken
Initial value:
= new RegexBasedTerminal(GrammarNames.TokenSheetQuoted, $"{quotedSheetName}'!")
{ Priority = TerminalPriority.SheetQuotedToken }

◆ SheetToken

Terminal XLParser.ExcelFormulaGrammar.SheetToken
Initial value:
= new RegexBasedTerminal(GrammarNames.TokenSheet, $"{normalSheetName}!")
{ Priority = TerminalPriority.SheetToken }

◆ SRColumnToken

Terminal XLParser.ExcelFormulaGrammar.SRColumnToken
Initial value:
= new RegexBasedTerminal(GrammarNames.TokenSRColumn, @"[\w\\.]+")
{ Priority = TerminalPriority.SRColumn }

Property Documentation

◆ BoolToken

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

◆ CellToken

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

◆ EnclosedInBracketsToken

Terminal XLParser.ExcelFormulaGrammar.EnclosedInBracketsToken
get
Initial value:
= new RegexBasedTerminal(GrammarNames.TokenEnclosedInBrackets, fileNameRegex)
{ Priority = TerminalPriority.FileName }

◆ ExcelConditionalRefFunctionToken

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

◆ ExcelFunction

Terminal XLParser.ExcelFormulaGrammar.ExcelFunction
get
Initial value:
= new RegexBasedTerminal(GrammarNames.ExcelFunction, "(" + string.Join("|", excelFunctionList) + ")\\(")
{ Priority = TerminalPriority.ExcelFunction }

◆ ExcelRefFunctionToken

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

◆ NamedRangeCombinationToken

Terminal XLParser.ExcelFormulaGrammar.NamedRangeCombinationToken
get
Initial value:
= new RegexBasedTerminal(GrammarNames.TokenNamedRangeCombination, NameInvalidWordsRegex + NameValidCharacterRegex + "+")
{ Priority = TerminalPriority.NamedRangeCombination }

◆ NameToken

Terminal XLParser.ExcelFormulaGrammar.NameToken
get
Initial value:
= new RegexBasedTerminal(GrammarNames.TokenName, NameStartCharRegex + NameValidCharacterRegex + "*")
{ Priority = TerminalPriority.Name }

◆ 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: