From 9c6f27bcc5de3c9bdc949161b2b34d1f687d8e89 Mon Sep 17 00:00:00 2001 From: Gregory Eremin Date: Thu, 12 Feb 2015 18:15:27 +0700 Subject: [PATCH] Split lexer into two files for now --- lexer/lexer.go | 46 ---------------------------------------------- lexer/state.go | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 46 deletions(-) create mode 100644 lexer/state.go diff --git a/lexer/lexer.go b/lexer/lexer.go index b8f643a..79e3b6f 100644 --- a/lexer/lexer.go +++ b/lexer/lexer.go @@ -86,52 +86,6 @@ func (l *Lexer) Run() { } } -// -// States -// - -func lexInitial(l *Lexer) stateFn { - for { - switch l.next() { - case EOF: - break - default: - panic("Unexpected symbol!") - } - } - - // Correctly reached EOF. - l.emit(itemEOF) - - return nil -} - -func lexNumber(l *Lexer) stateFn { - return lexInitial -} - -func lexString(l *Lexer) stateFn { - return lexInitial -} - -func lexArray(l *Lexer) stateFn { - return lexInitial -} - -func lexObject(l *Lexer) stateFn { - return lexInitial -} - -// lexSpace scans a run of space characters. -// One space has already been seen. -func lexSpace(l *Lexer) stateFn { - for isSpace(l.peek()) { - l.next() - } - l.emit(itemSpace) - return lexInitial -} - // // Lexer stuff // diff --git a/lexer/state.go b/lexer/state.go new file mode 100644 index 0000000..710b8fb --- /dev/null +++ b/lexer/state.go @@ -0,0 +1,43 @@ +package lexer + +func lexInitial(l *Lexer) stateFn { + for { + switch l.next() { + case EOF: + break + default: + panic("Unexpected symbol!") + } + } + + // Correctly reached EOF. + l.emit(itemEOF) + + return nil +} + +func lexNumber(l *Lexer) stateFn { + return lexInitial +} + +func lexString(l *Lexer) stateFn { + return lexInitial +} + +func lexArray(l *Lexer) stateFn { + return lexInitial +} + +func lexObject(l *Lexer) stateFn { + return lexInitial +} + +// lexSpace scans a run of space characters. +// One space has already been seen. +func lexSpace(l *Lexer) stateFn { + for isSpace(l.peek()) { + l.next() + } + l.emit(itemSpace) + return lexInitial +}