Skip to content

Go library for parsing mathematical expression to tokens

License

Notifications You must be signed in to change notification settings

darylnwk/mathtoken

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

mathtoken

-- import "github.com/darylnwk/mathtoken"

Usage

type Associativity

type Associativity uint

Associativity defines token associativity data type

const (
	// AssociativityNone defines a token has no associativity
	AssociativityNone Associativity = iota
	// AssociativityLeft defines a token is left associative
	AssociativityLeft
	// AssociativityRight defines a token is right associative
	AssociativityRight
)

type Token

type Token struct {
	Type          Type
	Value         string
	Associativity Associativity
	Precedence    uint
}

Token defines a mathematical expression token

type Tokens

type Tokens []Token

Tokens defines a list of Token

func Parse

func Parse(s string) (tokens Tokens, err error)

Parse mathematical expression in infix format to Tokens and returns error if unknown token found

type Type

type Type uint

Type defines token type data type

const (
	TypeUnknown Type = iota
	TypeSpace
	TypeLParent
	TypeRParent
	TypeConstant
	TypeVariable
	TypeOperator
)

List of token types

About

Go library for parsing mathematical expression to tokens

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages