Add importing, lists and objects, and add basic functions (global and on values)

This commit is contained in:
Neemek 2025-03-10 16:23:16 +01:00
parent 449f7cd815
commit 634a4a2b61
Signed by: neemek
GPG key ID: 28360A8951CD0E9B
11 changed files with 919 additions and 60 deletions

View file

@ -34,6 +34,8 @@ const (
TokenOpenParenthesis
TokenCloseParenthesis
TokenOpenBracket
TokenCloseBracket
TokenOpenBrace
TokenCloseBrace
@ -47,6 +49,7 @@ const (
TokenVar
TokenIf
TokenElse
TokenImport
TokenComma
TokenDot
@ -144,6 +147,10 @@ func (t TokenType) String() string {
return "double ampersand"
case TokenDoublePipe:
return "double pipe"
case TokenOpenBracket:
return "open bracket"
case TokenCloseBracket:
return "close bracket"
}
return "UNDEFINED TOKENTYPE STRING CONVERSION"
@ -210,6 +217,10 @@ func (l *Lexer) NextToken() (Token, error) {
return l.makeToken(TokenOpenParenthesis), nil
case ')':
return l.makeToken(TokenCloseParenthesis), nil
case '[':
return l.makeToken(TokenOpenBracket), nil
case ']':
return l.makeToken(TokenCloseBracket), nil
case '{':
return l.makeToken(TokenOpenBrace), nil
case '}':
@ -309,6 +320,8 @@ func (l *Lexer) NextToken() (Token, error) {
return l.makeToken(TokenBreakpoint), nil
case "return":
return l.makeToken(TokenReturn), nil
case "import":
return l.makeToken(TokenImport), nil
default:
return l.makeToken(TokenName), nil
}