实现JavaScript或其他语言的自定义语法

时间:2018-02-16 15:16:43

标签: javascript syntax

我正在研究如何为JavaScript等语言创建自定义语法,而这些语言似乎无法让您这样做。

作为一个基本的例子,如果我想为JavaScript创建这种语法怎么办?

cout <<< "Text";

此自定义语法将转换为:

cout("Text");

据我所知,你无法在JavaScript中实现它。因此,我一直在考虑的解决方案是,我将在文本文件中键入所有JavaScript代码,然后运行一个程序;

  • 将文本文件作为输入
  • 浏览所有文字,搜索有&#39; cout&#39;在他们里面
  • 以某种方式确保文本实际上不是字符串或其他内容,也许只是检查&#39; cout&#39;在行的开头 - 这部分不太确定。
  • 拆分文本,找到正确的部分,并用函数替换自定义语法部分。
  • 完成后,创建一个新的.js文件,其中包含&#34;编译的#34;正常的语法代码。

我相信这也是CSS扩展Sass的作用吗?我问这个问题是因为我想知道是否有一些更好的甚至是内置的方法来做我想要实现的目标。我尝试创建的实际自定义语法比我提供的示例更复杂。

1 个答案:

答案 0 :(得分:1)

这样做的一种方法是编写一个&#34;转换器&#34;。这只是一个编译器,它读取用您自己的语法编写的代码,并输出执行相同任务的合法JavaScript代码。

要遵循这种方法,您不必浏览代码,找到您用自己语言定义的部分。相反,您解析整个文件并发出等效的JavaScript代码。对于标准JavaScript,您只需直接发出它。对于自定义代码,您将发出等效的JavaScript代码。