I am trying to study the vocabulary and parser of Ruby ( whitequark parser ) to learn more about the procedure, to further generate machine code from a Ruby script.
When parsing the next line of Ruby code.
def add(a, b)
return a + b
end
puts add 1, 2
This leads to the following notation for the S-expression.
s(:begin,
s(:def, :add,
s(:args,
s(:arg, :a),
s(:arg, :b)),
s(:return,
s(:send,
s(:lvar, :a), :+,
s(:lvar, :b)))),
s(:send, nil, :puts,
s(:send, nil, :add,
s(:int, 1),
s(:int, 3))))
Can someone explain to me the definition of a keyword : send in the resulting notation S-expressions?