XLParser  1.2.0
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 FileToken
 

Properties

Terminal intersectop [get]
 
Terminal BoolToken [get]
 
Terminal NumberToken [get]
 
Terminal TextToken [get]
 
Terminal SingleQuotedStringToken [get]
 
Terminal ErrorToken [get]
 
Terminal UDFToken [get]
 
Terminal ExcelRefFunctionToken [get]
 
Terminal ExcelConditionalRefFunctionToken [get]
 
Terminal ExcelFunction [get]
 
Terminal EmptyArgumentToken [get]
 
Terminal VRangeToken = new ImpliedSymbolTerminal(GrammarNames.TokenEmptyArgument) [get]
 
Terminal HRangeToken = new RegexBasedTerminal(GrammarNames.TokenVRange, "[$]?[A-Z]{1,4}:[$]?[A-Z]{1,4}") [get]
 
Terminal CellToken [get]
 
Terminal NameToken [get]
 
Terminal NamedRangeCombinationToken [get]
 
Terminal EnclosedInBracketsToken [get]
 
Terminal FilePathWindowsToken [get]
 
NonTerminal Argument = new RegexBasedTerminal(GrammarNames.TokenFilePathWindows, filePathRegex) [get]
 
NonTerminal Arguments = new NonTerminal(GrammarNames.Argument) [get]
 
NonTerminal ArrayColumns = new NonTerminal(GrammarNames.Arguments) [get]
 
NonTerminal ArrayConstant = new NonTerminal(GrammarNames.ArrayColumns) [get]
 
NonTerminal ArrayFormula = new NonTerminal(GrammarNames.ArrayConstant) [get]
 
NonTerminal ArrayRows = new NonTerminal(GrammarNames.ArrayFormula) [get]
 
NonTerminal Bool = new NonTerminal(GrammarNames.ArrayRows) [get]
 
NonTerminal Cell = new NonTerminal(GrammarNames.Bool) [get]
 
NonTerminal Constant = new NonTerminal(GrammarNames.Cell) [get]
 
NonTerminal ConstantArray = new NonTerminal(GrammarNames.Constant) [get]
 
NonTerminal DynamicDataExchange = new NonTerminal(GrammarNames.ConstantArray) [get]
 
NonTerminal EmptyArgument = new NonTerminal(GrammarNames.DynamicDataExchange) [get]
 
NonTerminal Error = new NonTerminal(GrammarNames.EmptyArgument) [get]
 
NonTerminal File = new NonTerminal(GrammarNames.Error) [get]
 
NonTerminal Formula = new NonTerminal(GrammarNames.File) [get]
 
NonTerminal FormulaWithEq = new NonTerminal(GrammarNames.Formula) [get]
 
NonTerminal FunctionCall = new NonTerminal(GrammarNames.FormulaWithEq) [get]
 
NonTerminal FunctionName = new NonTerminal(GrammarNames.FunctionCall) [get]
 
NonTerminal HRange = new NonTerminal(GrammarNames.FunctionName) [get]
 
NonTerminal InfixOp = new NonTerminal(GrammarNames.HorizontalRange) [get]
 
NonTerminal NamedRange = new NonTerminal(GrammarNames.TransientInfixOp) [get]
 
NonTerminal Number = new NonTerminal(GrammarNames.NamedRange) [get]
 
NonTerminal PostfixOp = new NonTerminal(GrammarNames.Number) [get]
 
NonTerminal Prefix = new NonTerminal(GrammarNames.TransientPostfixOp) [get]
 
NonTerminal PrefixOp = new NonTerminal(GrammarNames.Prefix) [get]
 
NonTerminal QuotedFileSheet = new NonTerminal(GrammarNames.TransientPrefixOp) [get]
 
NonTerminal Reference = new NonTerminal(GrammarNames.QuotedFileSheet) [get]
 
NonTerminal ReferenceItem = new NonTerminal(GrammarNames.Reference) [get]
 
NonTerminal ReferenceFunctionCall = new NonTerminal(GrammarNames.TransientReferenceItem) [get]
 
NonTerminal RefError = new NonTerminal(GrammarNames.ReferenceFunctionCall) [get]
 
NonTerminal RefFunctionName = new NonTerminal(GrammarNames.RefError) [get]
 
NonTerminal ReservedName = new NonTerminal(GrammarNames.RefFunctionName) [get]
 
NonTerminal Sheet = new NonTerminal(GrammarNames.ReservedName) [get]
 
NonTerminal Start = new NonTerminal(GrammarNames.Sheet) [get]
 
NonTerminal StructureReference = new NonTerminal(GrammarNames.TransientStart) [get]
 
NonTerminal StructureReferenceColumnOrKeyword = new NonTerminal(GrammarNames.StructureReference) [get]
 
NonTerminal StructureReferenceExpression = new NonTerminal(GrammarNames.StructureReferenceColumnOrKeyword) [get]
 
NonTerminal StructureReferenceTable = new NonTerminal(GrammarNames.StructureReferenceExpression) [get]
 
NonTerminal Text = new NonTerminal(GrammarNames.StructureReferenceTable) [get]
 
NonTerminal UDFName = new NonTerminal(GrammarNames.Text) [get]
 
NonTerminal UDFunctionCall = new NonTerminal(GrammarNames.UDFName) [get]
 
NonTerminal Union = new NonTerminal(GrammarNames.UDFunctionCall) [get]
 
NonTerminal VRange = new NonTerminal(GrammarNames.Union) [get]
 

Detailed Description

Contains the XLParser grammar

Member Data Documentation

Terminal XLParser.ExcelFormulaGrammar.FileToken
Initial value:
= new RegexBasedTerminal(GrammarNames.TokenFileNameNumeric, fileNameNumericRegex)
{ Priority = TerminalPriority.FileNameNumericToken }
Terminal XLParser.ExcelFormulaGrammar.MultipleSheetsToken
Initial value:
= new RegexBasedTerminal(GrammarNames.TokenMultipleSheets, multiSheetRegex)
{ Priority = TerminalPriority.MultipleSheetsToken }
Terminal XLParser.ExcelFormulaGrammar.ReservedNameToken
Initial value:
= new RegexBasedTerminal(GrammarNames.TokenReservedName, @"_xlnm\.[a-zA-Z_]+")
{ Priority = TerminalPriority.ReservedName }
Terminal XLParser.ExcelFormulaGrammar.SheetQuotedToken
Initial value:
= new RegexBasedTerminal(GrammarNames.TokenSheetQuoted, $"{quotedSheetName}'!")
{ Priority = TerminalPriority.SheetQuotedToken }
Terminal XLParser.ExcelFormulaGrammar.SheetToken
Initial value:
= new RegexBasedTerminal(GrammarNames.TokenSheet, $"{normalSheetName}!")
{ Priority = TerminalPriority.SheetToken }
Terminal XLParser.ExcelFormulaGrammar.SRColumnToken
Initial value:
= new RegexBasedTerminal(GrammarNames.TokenSRColumn, @"[\w\\.]+")
{ Priority = TerminalPriority.SRColumn }

Property Documentation

Terminal XLParser.ExcelFormulaGrammar.EmptyArgumentToken
get
Initial value:
= new RegexBasedTerminal(GrammarNames.ExcelFunction, "(" + string.Join("|", excelFunctionList) + ")\\(")
{ Priority = TerminalPriority.ExcelFunction }
Terminal XLParser.ExcelFormulaGrammar.ErrorToken
get
Initial value:
= new StringLiteral(GrammarNames.TokenSingleQuotedString, "'",
StringOptions.AllowsDoubledQuote | StringOptions.AllowsLineBreak)
{ Priority = TerminalPriority.SingleQuotedString }
Terminal XLParser.ExcelFormulaGrammar.ExcelConditionalRefFunctionToken
get
Initial value:
= new RegexBasedTerminal(GrammarNames.TokenExcelRefFunction, "(INDEX|OFFSET|INDIRECT)\\(")
{ Priority = TerminalPriority.ExcelRefFunction }
Terminal XLParser.ExcelFormulaGrammar.ExcelFunction
get
Initial value:
= new RegexBasedTerminal(GrammarNames.TokenExcelConditionalRefFunction, "(IF|CHOOSE)\\(")
{ Priority = TerminalPriority.ExcelRefFunction }
Terminal XLParser.ExcelFormulaGrammar.ExcelRefFunctionToken
get
Initial value:
= new RegexBasedTerminal(GrammarNames.TokenUDF, @"(_xll\.)?[\w\\.]+\(")
{ Priority = TerminalPriority.UDF }
Terminal XLParser.ExcelFormulaGrammar.NamedRangeCombinationToken
get
Initial value:
= new RegexBasedTerminal(GrammarNames.TokenName, NamedRangeRegex)
{ Priority = TerminalPriority.Name }
Terminal XLParser.ExcelFormulaGrammar.NumberToken
get
Initial value:
= new RegexBasedTerminal(GrammarNames.TokenBool, "TRUE|FALSE")
{
Priority = TerminalPriority.Bool
}
Terminal XLParser.ExcelFormulaGrammar.SingleQuotedStringToken
get
Initial value:
= new StringLiteral(GrammarNames.TokenText, "\"",
StringOptions.AllowsDoubledQuote | StringOptions.AllowsLineBreak)
Terminal XLParser.ExcelFormulaGrammar.TextToken
get
Initial value:
= new NumberLiteral(GrammarNames.TokenNumber, NumberOptions.None)
{
DefaultIntTypes = new[] {TypeCode.Int32, TypeCode.Int64, NumberLiteral.TypeCodeBigInt}
}

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