token

package
v0.0.0-...-3085ebc Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 10, 2022 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Position

type Position struct {
	Filename string
	Offset   int //offset relative to entire file
	Line     int
	Col      int //offset relative to each line
}

Position is the location of a code point in the source

func (Position) Sline

func (p Position) Sline() string

We could not use `Line()` as function name, because `Line` is the struct's field

func (Position) String

func (p Position) String() string

Stringer method for Position

type Token

type Token struct {
	Pos     Position
	Type    TokenType
	Literal string
}

func (Token) String

func (t Token) String() string

Stringer method for Token

type TokenType

type TokenType int

token

const (
	TOKEN_ILLEGAL TokenType = (iota - 1) // Illegal token
	TOKEN_EOF                            //End Of File

	TOKEN_PLUS     // +
	TOKEN_MINUS    // -
	TOKEN_MULTIPLY // *
	TOKEN_DIVIDE   // '/'
	TOKEN_MOD      // '%'
	TOKEN_POWER    // **

	TOKEN_LPAREN    // (
	TOKEN_RPAREN    // )
	TOKEN_ASSIGN    // =
	TOKEN_SEMICOLON //;
	TOKEN_LBRACE    // {
	TOKEN_RBRACE    // }

	TOKEN_NUMBER     //10 or 10.1
	TOKEN_IDENTIFIER //identifier

	//reserved keywords
	TOKEN_TRUE   //true
	TOKEN_FALSE  //false
	TOKEN_NIL    // nil
	TOKEN_LET    //let
	TOKEN_RETURN //return
)

func LookupIdent

func LookupIdent(ident string) TokenType

func (TokenType) String

func (tt TokenType) String() string

for debug & testing

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL