implement-modules #43
@ -1,6 +1,7 @@
|
|||||||
package lexer
|
package lexer
|
||||||
|
|
||||||
import "io"
|
import "io"
|
||||||
|
import "fmt"
|
||||||
import "bufio"
|
import "bufio"
|
||||||
import "unicode"
|
import "unicode"
|
||||||
import "git.tebibyte.media/sashakoshka/fspl/errors"
|
import "git.tebibyte.media/sashakoshka/fspl/errors"
|
||||||
@ -27,6 +28,28 @@ type TokenKind int; const (
|
|||||||
Star // \*
|
Star // \*
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func (kind TokenKind) String () string {
|
||||||
|
switch kind {
|
||||||
|
case EOF: return "EOF"
|
||||||
|
case Ident: return "Ident"
|
||||||
|
case TypeIdent: return "TypeIdent"
|
||||||
|
case Int: return "Int"
|
||||||
|
case Float: return "Float"
|
||||||
|
case String: return "String"
|
||||||
|
case Symbol: return "Symbol"
|
||||||
|
case LParen: return "LParen"
|
||||||
|
case LBrace: return "LBrace"
|
||||||
|
case LBracket: return "LBracket"
|
||||||
|
case RParen: return "RParen"
|
||||||
|
case RBrace: return "RBrace"
|
||||||
|
case RBracket: return "RBracket"
|
||||||
|
case Colon: return "Colon"
|
||||||
|
case DoubleColon: return "DoubleColon"
|
||||||
|
case Star: return "Star"
|
||||||
|
default: return fmt.Sprintf("TokenKind(%d)", kind)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func Symbols () map[string] TokenKind {
|
func Symbols () map[string] TokenKind {
|
||||||
return map[string] TokenKind {
|
return map[string] TokenKind {
|
||||||
"EOF": EOF,
|
"EOF": EOF,
|
||||||
|
Loading…
Reference in New Issue
Block a user