Slice support.

This commit is contained in:
Alec Thomas
2018-05-17 10:40:46 +10:00
parent 1d00dfef7b
commit 8f26b13088
6 changed files with 69 additions and 27 deletions
+5 -2
View File
@@ -60,18 +60,21 @@ func (t Token) IsValue() bool {
}
type Scanner struct {
raw []string
args []Token
}
func Scan(args ...string) *Scanner {
s := &Scanner{raw: args}
s := &Scanner{}
for _, arg := range args {
s.args = append(s.args, Token{Value: arg})
}
return s
}
func (s *Scanner) Len() int {
return len(s.args)
}
func (s *Scanner) Pop() Token {
if len(s.args) == 0 {
return Token{Type: EOLToken}