可能用JavaScript编写一个编译器?

前端之家收集整理的这篇文章主要介绍了可能用JavaScript编写一个编译器?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
可以使用 Javascript编写可以支持其他类型的语言作为脚本的编译器吗?

假设我有一块HTML.

@H_502_4@<script language="cpp" id="cppScriptBlock" EntryPoint="main"> int main() { cout << "<h1>CPPHeader</h1>"; } </script> <script language="java" id="javaScriptBlock" EntryPoint="MyJavaClass"> public class MyJavaClass { public final void main() { java.lang.System.out.println("<h1>JavaHeader</h1>"); } } </script> <script language="csharp" id="csharpScriptBlock" EntryPoint="MyCSharpClass "> public class MyCSharpClass { public static void Main() { System.Console.WriteLine("<h1>CSharpHeader</h1>"); } } </script> <script language="javascript"> $("#cppScriptBlock").compileAndRun(); $("#javaScriptBlock").compileAndRun(); $("#csharpScriptBlock").compileAndRun(); </script>

最后生成以下HTML

@H_502_4@<h1>CPPHeader</h1> <h1>JavaHeader</h1> <h1>CSharpHeader</h1>

可能吗?

亚历克斯

解决方法

是的,这很可能使用 Jison.

它基于您定义的语言结构生成JavaScript解析器.

Jison takes a context-free grammar as input and outputs a JavaScript
file capable of parsing the language described by that grammar. You
can then use the generated script to parse inputs and accept,reject,
or perform actions based on the input.

– 从documentation

PS:CoffeeScript!也是使用这个创建的.

猜你在找的JavaScript相关文章