token

package
v0.0.0-...-68482a3 Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2022 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Single-character tokens
	LeftParen        = "("
	RightParen       = ")"
	Comma            = ","
	Dot              = "."
	Minus            = "-"
	Plus             = "+"
	Colon            = ":"
	Semicolon        = ";"
	ForwardSlash     = "/"
	BackSlash        = "\\"
	Star             = "*"
	Exponential      = "^"
	LessThan         = "<"
	GreaterThan      = ">"
	Exclamation      = "!"
	Hash             = "#"
	Tilde            = "~"
	LeftSquareBrace  = "["
	RightSquareBrace = "]"
	LeftCurlyBrace   = "{"
	RightCurlyBrace  = "}"

	// Two-character tokens
	Assign              = ":="
	Inequality1         = "<>"
	Inequality2         = "><"
	LessThanEqualTo1    = "<="
	LessThanEqualTo2    = "=<"
	GreaterThanEqualTo1 = ">="
	GreaterThanEqualTo2 = "=>"
	InterestinglyEqual  = "=="
	Equal               = "="

	// Literals
	StringLiteral     = "StringLiteral"
	NumericLiteral    = "NumericLiteral"
	HexLiteral        = "HexLiteral"
	IdentifierLiteral = "IdentifierLiteral"
	Comment           = "Comment"
	Illegal           = "Illegal"
	NewLine           = "\n"

	// Keywords
	ABS        = "ABS"
	AND        = "AND"
	AREA       = "AREA"
	ASC        = "ASC"
	ASK        = "ASK"
	ATN        = "ATN"
	AUTO       = "AUTO"
	BLOCK      = "BLOCK"
	COPY       = "COPY"
	READ       = "READ"
	WRITE      = "WRITE"
	BORDER     = "BORDER"
	BOUNDS     = "BOUNDS"
	BRUSH      = "BRUSH"
	BUTTONS    = "BUTTONS"
	BYE        = "BYE"
	CHAROVER   = "CHAROVER"
	CHARSET    = "CHARSET"
	CHDIR      = "CHDIR"
	CHRstr     = "CHR$"
	CIRCLE     = "CIRCLE"
	CLEAR      = "CLEAR"
	CLG        = "CLG"
	CLL        = "CLL"
	CLOSE      = "CLOSE"
	CLS        = "CLS"
	COLOUR     = "COLOUR"
	CONTINUE   = "CONTINUE"
	COS        = "COS"
	CREATE     = "CREATE"
	MOVE       = "MOVE"
	CURPOS     = "CURPOS"
	CURSOR     = "CURSOR"
	DATA       = "DATA"
	DATE       = "DATE"
	DATEstr    = "DATE$"
	DEFINED    = "DEFINED"
	DEG        = "DEG"
	DELETE     = "DELETE"
	DIM        = "DIM"
	DIR        = "DIR"
	DRAWING    = "DRAWING"
	EDIT       = "EDIT"
	END        = "END"
	ENVELOPE   = "ENVELOPE"
	ERASE      = "ERASE"
	ERL        = "ERL"
	ERR        = "ERR"
	ERRstr     = "ERR$"
	EXP        = "EXP"
	FALSE      = "FALSE"
	FKEY       = "FKEY"
	FLOOD      = "FLOOD"
	EDGE       = "EDGE"
	FLUSH      = "FLUSH"
	FOR        = "FOR"
	NEXT       = "NEXT"
	FREE       = "FREE"
	FSPACE     = "FSPACE"
	FUNCTION   = "FUNCTION"
	ENDFUN     = "ENDFUN"
	GET        = "GET"
	GETstr     = "GET$"
	GLOBAL     = "GLOBAL"
	GOSUB      = "GOSUB"
	SUBROUTINE = "SUBROUTINE"
	GOTO       = "GOTO"
	HEXstr     = "HEX$"
	HOLD       = "HOLD"
	HOME       = "HOME"
	IF         = "IF"
	THEN       = "THEN"
	ELSE       = "ELSE"
	INPUT      = "INPUT"
	INSTR      = "INSTR"
	INT        = "INT"
	JOYSTICK   = "JOYSTICK"
	JOYX       = "JOYX"
	JOYY       = "JOYY"
	KEYREP     = "KEYREP"
	LEAVE      = "LEAVE"
	LEFTstr    = "LEFT$"
	LEN        = "LEN"
	LET        = "LET"
	LINE       = "LINE"
	LIST       = "LIST"
	LN         = "LN"
	LOAD       = "LOAD"
	LOADGO     = "LOADGO"
	LOG        = "LOG"
	LOOKUP     = "LOOKUP"
	LVAR       = "LVAR"
	MEM        = "MEM"
	MERGE      = "MERGE"
	MERGEGO    = "MEREGO"
	MIDstr     = "MID$"
	MIX        = "MIX"
	MKDIR      = "MKDIR"
	MOD        = "MOD"
	MODE       = "MODE"
	MOUSE      = "MOUSE"
	NEW        = "NEW"
	NOISE      = "NOISE"
	NOT        = "NOT"
	NOTE       = "NOTE"
	ON         = "ON"
	BREAK      = "BREAK"
	EOF        = "EOF"
	ERROR      = "ERROR"
	OPEN       = "OPEN"
	OR         = "OR"
	ORIGIN     = "ORIGIN"
	OVER       = "OVER"
	PAPER      = "PAPER"
	PATHstr    = "PATH$"
	PATTERN    = "PATTERN"
	PEN        = "PEN"
	PI         = "PI"
	PITCH      = "PITCH"
	PLOT       = "PLOT"
	DIRECTION  = "DIRECTION"
	FONT       = "FONT"
	CHAR       = "CHAR"
	SIZE       = "SIZE"
	POINTS     = "POINTS"
	POS        = "POS"
	POSX       = "POSX"
	POSY       = "POSY"
	PRINT      = "PRINT"
	PROCEDURE  = "PROCEDURE"
	ENDPROC    = "ENDPROC"
	PROCS      = "PROCS"
	PSAVE      = "PSAVE"
	PUT        = "PUT"
	QUEUE      = "QUEUE"
	RAD        = "RAD"
	REM        = "REM"
	RENAME     = "RENAME"
	TO         = "TO"
	RENUMBER   = "RENUMBER"
	REPEAT     = "REPEAT"
	UNTIL      = "UNTIL"
	RESTORE    = "RESTORE"
	RESULT     = "RESULT"
	RESUME     = "RESUME"
	RETURN     = "RETURN"
	RIGHTstr   = "RIGHT$"
	RMDIR      = "RMDIR"
	RND        = "RND"
	RPOINT     = "RPOINT"
	RUN        = "RUN"
	SAVE       = "SAVE"
	SGN        = "SGN"
	SIN        = "SIN"
	SLICE      = "SLICE"
	SOUND      = "SOUND"
	SPC        = "SPC"
	SQR        = "SQR"
	STOP       = "STOP"
	STRINGstr  = "STRING$"
	STRstr     = "STR$"
	STYLE      = "STYLE"
	TAB        = "TAB"
	TAN        = "TAN"
	TIME       = "TIME"
	TIMEstr    = "TIME$"
	TONE       = "TONE"
	TRACE      = "TRACE"
	TRUE       = "TRUE"
	UNDERLINE  = "UNDERLINE"
	VAL        = "VAL"
	VERSION    = "VERSION"
	VOICE      = "VOICE"
	WARN       = "WARN"
	WIDTH      = "WIDTH"
	WRITING    = "WRITING"
	XOR        = "XOR"
	SET        = "SET"
	STEP       = "STEP"
	CONFIG     = "CONFIG"
	BOOT       = "BOOT"
	FETCH      = "FETCH"
	WRITEBLOCK = "WRITEBLOCK"
	SQUASH     = "SQUASH"
	CLEARBLOCK = "CLEARBLOCK"
	DELBLOCK   = "DELBLOCK"
	KEEP       = "KEEP"
	READBLOCK  = "READBLOCK"
	COPYBLOCK  = "COPYBLOCK"
	BLOCKSIZE  = "BLOCKSIZE"
	FILL       = "FILL"
	RECEIVE    = "RECEIVE"
)

Token types are defined here

Variables

This section is empty.

Functions

func IsKeyword

func IsKeyword(testString string) bool

IsKeyword returns true if a TokenType represents a keyword

func IsOperator

func IsOperator(t Token) bool

IsOperator receives a token and returns true if the token represents an operator otherwise false

func PrintToken

func PrintToken(thisToken Token)

PrintToken prints a token in the console

Types

type Token

type Token struct {
	TokenType string
	Literal   string
	Index     int
}

Token defines the actual token generated by the scanner

Jump to

Keyboard shortcuts

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