Slide 91
Slide 91 text
// ruby/parse.y
method_call : // ...
| primary_value tINCOP
{
// ...
VALUE v = QUOTE_ID($1->u1.id);
NODE *receiver = NEW_LIT(v, &NULL_LOC);
NODE *binding = NEW_VCALL(rb_intern("binding"), &@$);
NODE *args = NEW_LIST(receiver, &NULL_LOC);
args = list_append(p, args, binding);
ID plusplus = rb_intern("__plusplus__");
$$ = new_qcall(p, $2, $1, plusplus, args, &@2, &@$);
.PEJGZUIFBDUJPOUPDBMM*OUFHFS@@QMVTQMVT@@
5IFOQBTTJUUPOFX@RDBMM
BTJUT
fi
GUIBSHVNFOU
5IJTDPNQMFUFTUIFWJUBMQBSUPGUIFJNQMFNFOUBUJPO
/PUFUIFEF
fi
OJUJPOPGBDUJPOTJTTMJHIUMZTJNQMJ
fi
FEJOUIJTTMJEF