Categorygithub.com/llqgit/efp
modulepackage
1.0.0
Repository: https://github.com/llqgit/efp.git
Documentation: pkg.go.dev

# README

EFP (Excel Formula Parser)

Build Status Code Coverage Go Report Card go.dev Licenses FOSSA Status

Using EFP (Excel Formula Parser) you can get an Abstract Syntax Tree (AST) from Excel formula.

Installation

go get github.com/xuri/efp

Example

package main

import "github.com/xuri/efp"

func main() {
    ps := efp.ExcelParser()
    ps.Parse("=SUM(A3+B9*2)/2")
    println(ps.PrettyPrint())
}

Get AST

SUM <Function> <Start>
    A3 <Operand> <Range>
    + <OperatorInfix> <Math>
    B9 <Operand> <Range>
    * <OperatorInfix> <Math>
    2 <Operand> <Number>
 <Function> <Stop>
/ <OperatorInfix> <Math>
2 <Operand> <Number>

Contributing

Contributions are welcome! Open a pull request to fix a bug, or open an issue to discuss a new feature or change.

Credits

EFP (Excel Formula Parser) is a Golang port of E. W. Bachtal's Excel formula parser.

Licenses

This program is under the terms of the BSD 3-Clause License. See https://opensource.org/licenses/BSD-3-Clause.

FOSSA Status

# Functions

ExcelParser provides function to parse an Excel formula into a stream of tokens.

# Constants

QuoteDouble, QuoteSingle and other's constants are token definitions.
QuoteDouble, QuoteSingle and other's constants are token definitions.
QuoteDouble, QuoteSingle and other's constants are token definitions.
QuoteDouble, QuoteSingle and other's constants are token definitions.
QuoteDouble, QuoteSingle and other's constants are token definitions.
QuoteDouble, QuoteSingle and other's constants are token definitions.
QuoteDouble, QuoteSingle and other's constants are token definitions.
QuoteDouble, QuoteSingle and other's constants are token definitions.
QuoteDouble, QuoteSingle and other's constants are token definitions.
QuoteDouble, QuoteSingle and other's constants are token definitions.
QuoteDouble, QuoteSingle and other's constants are token definitions.
Character constants.
QuoteDouble, QuoteSingle and other's constants are token definitions.
QuoteDouble, QuoteSingle and other's constants are token definitions.
QuoteDouble, QuoteSingle and other's constants are token definitions.
QuoteDouble, QuoteSingle and other's constants are token definitions.
QuoteDouble, QuoteSingle and other's constants are token definitions.
QuoteDouble, QuoteSingle and other's constants are token definitions.
QuoteDouble, QuoteSingle and other's constants are token definitions.
Token subtypes.
QuoteDouble, QuoteSingle and other's constants are token definitions.
QuoteDouble, QuoteSingle and other's constants are token definitions.
QuoteDouble, QuoteSingle and other's constants are token definitions.
QuoteDouble, QuoteSingle and other's constants are token definitions.
QuoteDouble, QuoteSingle and other's constants are token definitions.
QuoteDouble, QuoteSingle and other's constants are token definitions.
QuoteDouble, QuoteSingle and other's constants are token definitions.
QuoteDouble, QuoteSingle and other's constants are token definitions.
Token type.
QuoteDouble, QuoteSingle and other's constants are token definitions.
QuoteDouble, QuoteSingle and other's constants are token definitions.
QuoteDouble, QuoteSingle and other's constants are token definitions.
QuoteDouble, QuoteSingle and other's constants are token definitions.
QuoteDouble, QuoteSingle and other's constants are token definitions.
QuoteDouble, QuoteSingle and other's constants are token definitions.
QuoteDouble, QuoteSingle and other's constants are token definitions.
QuoteDouble, QuoteSingle and other's constants are token definitions.

# Structs

Parser inheritable container.
Token encapsulate a formula token.
Tokens directly maps the ordered list of tokens.