code: function() {
      var node = this.primary();
      if (node) {
        while (this.accept('.')) {
          var id = new nodes.Ident(this.expect('ident').val.string);
          node = new nodes.Member(node, id);
        }
        this.skipSpaces();
        if (this.accept('=')) {
          node.val = this.list();
          // @block support
          if (node.val.isEmpty) this.assignAtblock(node.val);
        }
      }
      return node;
    }
docs: primary ('.' id)+ '='?
  | primary