Browse Source

add environment token parsing to scanner

pull/19/head
Brett Langdon 11 years ago
parent
commit
55628256b1
1 changed files with 14 additions and 0 deletions
  1. +14
    -0
      scanner.go

+ 14
- 0
scanner.go View File

@ -166,6 +166,18 @@ func (scanner *Scanner) parseComment() {
scanner.readRune()
}
func (scanner *Scanner) parseEnvironment() {
scanner.curTok.ID = token.ENVIRONMENT
scanner.curTok.Literal = ""
for {
scanner.readRune()
if !isLetter(scanner.curCh) && scanner.curCh != '_' {
break
}
scanner.curTok.Literal += string(scanner.curCh)
}
}
func (scanner *Scanner) skipWhitespace() {
for {
scanner.readRune()
@ -195,6 +207,8 @@ func (scanner *Scanner) NextToken() token.Token {
scanner.parseNumber(false)
case ch == '#':
scanner.parseComment()
case ch == '$':
scanner.parseEnvironment()
case ch == eof:
scanner.curTok.ID = token.EOF
scanner.curTok.Literal = "EOF"


Loading…
Cancel
Save