我很感兴趣,喜欢Razor视图引擎解析器如何解析两种不同的语言,如C#和JavaScript。使用哪些技术来编写在语言之间切换的解析器?
这是非常酷的,下面的作品,例如:
$("#fm_duedate").val('@DateTime.Now.AddMonths(1).ToString("MM/dd/yyyy")');
我要去尝试,并期待在源代码,但我很好奇,如果有一个某种理论基础的像一个解析器这或者更像是采取两种语言的联合并解析它的蛮力吗?
试图为自己推理它,我说“你从每种语言的解析器开始,然后你为每一种语言添加一组产品,将它切换到另一种产品”,但我怀疑它如此简单。
我想完美的答案是讨论Razor引擎是如何实现的,或者是源代码的漫步(我实际上并没有真正Google因为害怕掉下兔子洞而讨论这个问题)。或者,对于如何解析两种语言的问题,一些见解将会很棒。