parent
5d0dfcde79
commit
5e2028e943
16
parse.go
16
parse.go
@ -134,19 +134,31 @@ func (p *Parser) parseExpr() Expr {
|
|||||||
|
|
||||||
result = &SetExpr{opt, val}
|
result = &SetExpr{opt, val}
|
||||||
case "map":
|
case "map":
|
||||||
|
var expr Expr
|
||||||
|
|
||||||
s.scan()
|
s.scan()
|
||||||
keys := s.tok
|
keys := s.tok
|
||||||
|
|
||||||
s.scan()
|
s.scan()
|
||||||
expr := p.parseExpr()
|
if s.typ != TokenSemicolon {
|
||||||
|
expr = p.parseExpr()
|
||||||
|
} else {
|
||||||
|
s.scan()
|
||||||
|
}
|
||||||
|
|
||||||
result = &MapExpr{keys, expr}
|
result = &MapExpr{keys, expr}
|
||||||
case "cmd":
|
case "cmd":
|
||||||
|
var expr Expr
|
||||||
|
|
||||||
s.scan()
|
s.scan()
|
||||||
name := s.tok
|
name := s.tok
|
||||||
|
|
||||||
s.scan()
|
s.scan()
|
||||||
expr := p.parseExpr()
|
if s.typ != TokenSemicolon {
|
||||||
|
expr = p.parseExpr()
|
||||||
|
} else {
|
||||||
|
s.scan()
|
||||||
|
}
|
||||||
|
|
||||||
result = &CmdExpr{name, expr}
|
result = &CmdExpr{name, expr}
|
||||||
default:
|
default:
|
||||||
|
Loading…
Reference in New Issue
Block a user