diff options
Diffstat (limited to 'vendor/github.com/homemade/scl/token.go')
-rw-r--r-- | vendor/github.com/homemade/scl/token.go | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/vendor/github.com/homemade/scl/token.go b/vendor/github.com/homemade/scl/token.go new file mode 100644 index 0000000..77d5ab2 --- /dev/null +++ b/vendor/github.com/homemade/scl/token.go @@ -0,0 +1,39 @@ +package scl + +//go:generate stringer -type=tokenKind -output=token_string.go +type tokenKind int + +const ( + tokenLineComment tokenKind = iota + tokenMixinDeclaration + tokenVariable + tokenVariableAssignment + tokenFunctionCall + tokenLiteral + tokenVariableDeclaration + tokenConditionalVariableAssignment + tokenCommentStart + tokenCommentEnd +) + +var tokenKindsByString = map[tokenKind]string{ + tokenLineComment: "line comment", + tokenMixinDeclaration: "mixin declaration", + tokenVariableAssignment: "variable assignment", + tokenVariableDeclaration: "variable declaration", + tokenConditionalVariableAssignment: "conditional variable declaration", + tokenFunctionCall: "function call", + tokenLiteral: "literal", + tokenCommentStart: "comment start", + tokenCommentEnd: "comment end", +} + +type token struct { + kind tokenKind + content string + line *scannerLine +} + +func (t token) String() string { + return tokenKindsByString[t.kind] +} |