From be3749d9f77e1410c11d0e8b7158a13e51faa41c Mon Sep 17 00:00:00 2001 From: Silvan Jegen Date: Sun, 25 Dec 2016 14:45:13 +0100 Subject: Implement lexer based on Scanner We also add the skeleton of a recursive descent parser. --- conf/parser.go | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 conf/parser.go (limited to 'conf/parser.go') diff --git a/conf/parser.go b/conf/parser.go new file mode 100644 index 0000000..21bc604 --- /dev/null +++ b/conf/parser.go @@ -0,0 +1,28 @@ +package conf + +import ( + "fmt" + "io" + "os" +) + +// Having a Config to Manager function could be nice? +// Or we could just return a Manager from here. +type Config struct { +} + +type parser struct { + scanner +} + +func NewConfig(r io.Reader) *Config { + s := newScanner(r) + tt, tok, err := s.Next() + for err == nil { + fmt.Fprintf(os.Stderr, "tokentype: %d, token: %q, err: %v\n", tt, tok, err) + tt, tok, err = s.Next() + } + fmt.Fprintf(os.Stderr, "Error: tokentype: %d, token: %q, err: %v\n", tt, tok, err) + + return &Config{} +} -- cgit v1.2.3