我对像 Razor 视图引擎这样的解析器如何解析两种不同的语言(如 C# 和 JavaScript)很感兴趣。
例如,以下工作非常酷:
$("#fm_duedate").val('@DateTime.Now.AddMonths(1).ToString("MM/dd/yyyy")');
我将尝试查看源代码,但我很好奇这样的解析器是否有某种理论基础,或者是否像结合两种语言并解析它那样更暴力?
试图为自己推理,我说“您从每种语言的解析器开始,然后为每种语言添加一组将其切换到另一种语言的产品”,但我怀疑它是否如此简单。
我想完美的答案将是关于如何实现 Razor 引擎的讨论或源代码的演练的指针(我实际上并没有在谷歌上搜索过这个,因为害怕掉进兔子洞)。或者,只是对如何解决两种语言的解析问题有一些了解会很棒。