From 123301881ebaaf04f211bf2c0cc963dcde6be2c4 Mon Sep 17 00:00:00 2001 From: Aidan Hahn Date: Tue, 12 Nov 2019 13:09:31 -0800 Subject: [PATCH] better skel for lex --- pkg/shsh/token.go | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/pkg/shsh/token.go b/pkg/shsh/token.go index 63654ce..ed13203 100644 --- a/pkg/shsh/token.go +++ b/pkg/shsh/token.go @@ -16,8 +16,35 @@ func lex(string input) string { ret := new(Token) iter := &ret // buffered reader via new or make i dunno + bool buff_is_dirty = false; for pos, char := range input { - // switch + switch char { + case ' ', '\t', '\n', '\f', '\r': + // parse new token + case '\'', '\"', '`': + // parse new token + case '(': + // match paren + // parse list + case ')': + // SHOULDNT HAPPEN + default: + // add to buffer + buf_is_dirty = true + } + + if buf_is_dirty { + // clear buffer + buf_is_dirty = false + } } } + +func parse(Token *arg) { + +} + +func eval(Token *tree) Token* { + +}