That statement doesn't make much sense.
In solidity 0.5 gas is the remaining gas. With sub(gas, 34710) it would seem they want to send all the remaining gas minus 34710 to the called contract, but from the comment it appear they want to send at least 34710.
The error is trying to say that in solidity 0.6 you have to use gas() as it were a function.
I will ...
It is also possible with go-ethereum. Tested with a simulated blockchain backend.
As of right now (March 2020), I'm not aware of any clear documentation, and have heard from others that there is not. I seem to recall that one of the goals of Trinity was to serve as an easier-to-parse implementation. In any event Py-EVM, their EVM implementation, should be more up-to-date than pyethereum. If you're specifically interested in the EVM, I ...