Razor ビュー エンジンのようなパーサーが、C# と JavaScript のような 2 つの異なる言語をどのように解析できるかに興味があります。
たとえば、次のように動作することは非常にクールです。
$("#fm_duedate").val('@DateTime.Now.AddMonths(1).ToString("MM/dd/yyyy")');
ソースを調べてみますが、このようなパーサーにある種の理論的基盤があるのか 、それとも2つの言語の結合を取り、それを解析するようなより力強いものなのか興味がありますか?
私は自分でそれを推論しようとして、「各言語のパーサーから始めて、それを別のパーサーに切り替える一連のプロダクションをそれぞれに追加する」と言いますが、それがそれほど単純であるとは思えません。
完璧な答えは、Razor エンジンがどのように実装されているか、またはソースのウォークスルーに関する議論へのポインタになると思います (うさぎの穴に落ちるのを恐れて、実際にはこれを Google で検索していません)。あるいは、2 つの言語を解析するという問題にどのようにアプローチするかについての洞察だけでも素晴らしいでしょう。