Skip to content

Latest commit

 

History

History
75 lines (57 loc) · 1.1 KB

README.md

File metadata and controls

75 lines (57 loc) · 1.1 KB

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