code: func (t *tree) parseCase(token item) *ast.SwitchCaseNode {
  	var values []ast.Node
  	for {
  		if token.typ != itemDefault {
  			values = append(values, t.parseExpr(0))
  		}
  		switch tok := t.next(); tok.typ {
  		case itemComma:
  			continue
  		case itemRightDelim:
  			var body = t.itemList(itemCase, itemDefault, itemSwitchEnd, itemPluralEnd)
  			t.backup()
  			return &ast.SwitchCaseNode{token.pos, values, body}
  		default:
  			t.unexpected(tok, "switch case")
  		}
  	}
  }
docs: // "case" has just been read.