Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var AdditiveOperators = []string{"-", "+"}
View Source
var BinaryOperators = append(AdditiveOperators, MultiplicativeOperators...)
View Source
var MultiplicativeOperators = []string{"*", "/", "&"}
Functions ¶
This section is empty.
Types ¶
type BinaryExpression ¶
type BinaryExpression struct { Left Expression Right Expression Operator string }
func (*BinaryExpression) Kind ¶
func (e *BinaryExpression) Kind() NodeKind
type Expression ¶
type Expression interface {
Kind() NodeKind
}
type Identifier ¶
type Identifier struct {
Symbol string
}
func (*Identifier) Kind ¶
func (e *Identifier) Kind() NodeKind
type NilLiteral ¶
type NilLiteral struct{}
func (*NilLiteral) Kind ¶
func (e *NilLiteral) Kind() NodeKind
type NumericLiteral ¶
type NumericLiteral struct {
Value float64
}
func (*NumericLiteral) Kind ¶
func (e *NumericLiteral) Kind() NodeKind
type Program ¶
type Program struct {
Body []Expression
}
type TokenKind ¶
type TokenKind string
const ( TokenKind_Nil TokenKind = "Nil" TokenKind_Number TokenKind = "Number" TokenKind_Indentifier TokenKind = "Identifier" TokenKind_Let TokenKind = "Let" TokenKind_BinaryOperator TokenKind = "BinaryOperator" TokenKind_Equals TokenKind = "Equals" TokenKind_OpenParen TokenKind = "OpenParen" TokenKind_CloseParen TokenKind = "CloseParen" TokenKind_EOF TokenKind = "EOF" )
Click to show internal directories.
Click to hide internal directories.