felise/globals.go

53 lines
1.3 KiB
Go

/*
Copyright (C) 2023 Brian Evans (aka sloum). All rights reserved.
This source code is available under the terms of the ffsl, or,
Floodgap Free Software License. A copy of the license has been
provided as the file 'LICENSE' in the same folder as this source
code file. If for some reason it is not present, you can find the
terms of version 1 of the FFSL at the following URL:
https://www.floodgap.com/software/ffsl/license.html
*/
package main
const (
STACK_SIZE int = 256
stackFormat string = "[ %-6s | %-15s ]\n"
// Begin types exposed to the user
INT int = iota
FLOAT
STRING
BOOL
TYPE
LIST
DICT
// Here for demarcating a range in type casting
MAXTYPE // Not used except in one function
// Begin unexposed types
PROC // A procedure (handles both proc and proc!)
WHILE // A while block
IF // An if block
SYMBOL // Symbols represent variables
KEYWORD // Keywords are procs implemented in Go
END // End closes a block for if, when, proc, and proc!
DOCSTRING // Used in proc, essentially a string type
LBRACKET // List delimiter, start
RBRACKET // List delimiter, end
TRY // Try/catch block
LCURLY // Dict delimiter, start
RCURLY // Dict delimiter, end
)
var (
debug bool = false
// This is the main stack for the language
globalStack stack = NewStack()
globalRetStack stack = NewStack()
)