Documentation ¶
Overview ¶
Package efp (Excel Formula Parser) tokenise an Excel formula using an implementation of E. W. Bachtal's algorithm, found here: https://ewbi.blogs.com/develops/2004/12/excel_formula_p.html
Go language version by Ri Xu: https://xuri.me
Index ¶
Constants ¶
View Source
const ( // Character constants QuoteDouble = "\"" QuoteSingle = "'" BracketClose = "]" BracketOpen = "[" BraceOpen = "{" BraceClose = "}" ParenOpen = "(" ParenClose = ")" Semicolon = ";" Whitespace = " " Comma = "," ErrorStart = "#" OperatorsSN = "+-" OperatorsInfix = "+-*/^&=><" OperatorsPostfix = "%" // Token type TokenTypeNoop = "Noop" TokenTypeOperand = "Operand" TokenTypeFunction = "Function" TokenTypeSubexpression = "Subexpression" TokenTypeArgument = "Argument" TokenTypeOperatorPrefix = "OperatorPrefix" TokenTypeOperatorInfix = "OperatorInfix" TokenTypeOperatorPostfix = "OperatorPostfix" TokenTypeWhitespace = "Whitespace" TokenTypeUnknown = "Unknown" // Token subtypes TokenSubTypeNothing = "Nothing" TokenSubTypeStart = "Start" TokenSubTypeStop = "Stop" TokenSubTypeText = "Text" TokenSubTypeNumber = "Number" TokenSubTypeLogical = "Logical" TokenSubTypeError = "Error" TokenSubTypeRange = "Range" TokenSubTypeMath = "Math" TokenSubTypeConcatenation = "Concatenation" TokenSubTypeIntersection = "Intersection" TokenSubTypeUnion = "Union" )
QuoteDouble, QuoteSingle and other's constants are token definitions.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Parser ¶
type Parser struct { Formula string Tokens Tokens TokenStack Tokens Offset int Token string InString bool InPath bool InRange bool InError bool }
Parser inheritable container. TokenStack directly maps a LIFO stack of tokens.
func ExcelParser ¶
func ExcelParser() Parser
ExcelParser provides function to parse an Excel formula into a stream of tokens.
func (*Parser) PrettyPrint ¶
PrettyPrint provides function to pretty the parsed result with the indented format.
Click to show internal directories.
Click to hide internal directories.