多くの検索の後、Ruby がGeneral Delimited Inputsをどのように実装しているかわかりません。
私が見つけることができるのは、によって使用されるKernel#`%x{...}
だけです。
どんな助けでも大歓迎です。ありがとう
多くの検索の後、Ruby がGeneral Delimited Inputsをどのように実装しているかわかりません。
私が見つけることができるのは、によって使用されるKernel#`%x{...}
だけです。
どんな助けでも大歓迎です。ありがとう
これは、YACCと Cで記述された解析コードで処理されます。GitHub でソース コードを確認してください。tQWORDS_BEG
具体的には、このタイプの引用を処理するトークンは(search within )で始まりますparse.y
。
YACC 実装の詳細な説明は長くなりますが、開始したい場合は、それがコード内に存在する場所です。
上記のリンクは MRI Ruby 用であることに注意してください。他の Ruby インタープリターがそれをどのように処理するかはわかりませんが、それらはすべてどこかのパーサーで処理し、それらのほとんどは C で記述されており、YACC を使用して解析している可能性があります。注目すべき例外は、Java で記述された JRuby と、OCaml で記述された druby です。