|
|
@@ -9,7 +9,7 @@ import (
|
|
|
)
|
|
|
|
|
|
const (
|
|
|
- _name = `([A-Za-z_]\w*)`
|
|
|
+ _name = `([A-Za-z_](\w|\.)*)`
|
|
|
_nameOrInt = "(" + _name + `|\d+)`
|
|
|
_index = "(" + _nameOrInt + "|:|" + _nameOrInt + ":|:" + _nameOrInt + "|" + _nameOrInt + ":" + _nameOrInt + ")"
|
|
|
)
|
|
|
@@ -256,15 +256,15 @@ func toValue(val value, envs []environ) value {
|
|
|
s := val.String()
|
|
|
if isNumber(val) {
|
|
|
if isWord(val) {
|
|
|
- return &_number{num: toNumber(val), word: s[1:]}
|
|
|
+ s = s[1:]
|
|
|
}
|
|
|
- return &_number{num: toNumber(val)}
|
|
|
+ return &_number{num: toNumber(val), word: s}
|
|
|
}
|
|
|
if isBool(val) {
|
|
|
if isWord(val) {
|
|
|
- return &_bool{b: toBool(val), word: s[1:]}
|
|
|
+ s = s[1:]
|
|
|
}
|
|
|
- return &_bool{b: toBool(val)}
|
|
|
+ return &_bool{b: toBool(val), word: s}
|
|
|
}
|
|
|
if isWord(val) {
|
|
|
return parseWord(s)
|