|
|
@ -87,7 +87,7 @@ func (parser *Parser) parseSetting(name string) error { |
|
|
var value Value |
|
|
var value Value |
|
|
parser.readToken() |
|
|
parser.readToken() |
|
|
|
|
|
|
|
|
read_next := true |
|
|
|
|
|
|
|
|
readNext := true |
|
|
switch parser.curTok.ID { |
|
|
switch parser.curTok.ID { |
|
|
case token.STRING: |
|
|
case token.STRING: |
|
|
value = NewString(parser.curTok.Literal) |
|
|
value = NewString(parser.curTok.Literal) |
|
|
@ -117,21 +117,21 @@ func (parser *Parser) parseSetting(name string) error { |
|
|
return err |
|
|
return err |
|
|
} |
|
|
} |
|
|
value = reference |
|
|
value = reference |
|
|
read_next = false |
|
|
|
|
|
|
|
|
readNext = false |
|
|
case token.IDENTIFIER: |
|
|
case token.IDENTIFIER: |
|
|
reference, err := parser.parseReference(parser.settings, false) |
|
|
reference, err := parser.parseReference(parser.settings, false) |
|
|
if err != nil { |
|
|
if err != nil { |
|
|
return err |
|
|
return err |
|
|
} |
|
|
} |
|
|
value = reference |
|
|
value = reference |
|
|
read_next = false |
|
|
|
|
|
|
|
|
readNext = false |
|
|
default: |
|
|
default: |
|
|
return parser.syntaxError( |
|
|
return parser.syntaxError( |
|
|
fmt.Sprintf("expected STRING, INTEGER, FLOAT, BOOLEAN or IDENTIFIER, instead found %s", parser.curTok.ID), |
|
|
fmt.Sprintf("expected STRING, INTEGER, FLOAT, BOOLEAN or IDENTIFIER, instead found %s", parser.curTok.ID), |
|
|
) |
|
|
) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if read_next { |
|
|
|
|
|
|
|
|
if readNext { |
|
|
parser.readToken() |
|
|
parser.readToken() |
|
|
} |
|
|
} |
|
|
if parser.curTok.ID != token.SEMICOLON { |
|
|
if parser.curTok.ID != token.SEMICOLON { |
|
|
|