我正在编写一个我用OCaml设计的函数式语言的编译器。我希望我的小语言具有模式匹配的功能,但是,我不得不想出一个算法来实现它。当我深入研究这个问题时,这似乎很复杂。我无法通过谷歌找到有关相应算法的更多有用信息。如果有人能给我一些提示或指出我的资源,我将不胜感激。或者是否有任何技巧可以利用OCaml的模式匹配功能来解决这个问题,以便我不需要实现它?谢谢!
答案 0 :(得分:10)
有一些关于编译OCaml背后的人的模式匹配的好文章。请特别注明Compiling Pattern Matching to Good Decision Trees和Optimizing Pattern Matching。回顾this stackoverflow post可能也很有用。