c# - 创建用于创建网页的脚本语言

标签 c# wsh scripting-language

我正在创建一种用于创建网页的脚本语言,但不知道从哪里开始。

我有一个看起来像这样的文件:


mylanguagename(main) {
       OnLoad(protected) {
              Display(img, text, link);
       }

       Canvas(public) {
              Image img: "Images\my_image.png";
                    img.Name: "img";
                    img.Border: "None";
                    img.BackgroundColor: "Transparent";
                    img.Position: 10, 10;

              Text text: "This is a multiline str#ning. The #n creates a new line.";
                   text.Name: text;
                   text.Position: 10, 25;

              Link link: "Click here to enlarge img.";
                   link.Name: "link";
                   link.Position: 10, 60;

                   link.Event: link.Clicked;
       }

       link.Clicked(sender, link, protected) {
              Image img: from Canvas.FindElement(img);
                    img.Size: 300, 300;
       }
}

...我需要能够使上面的文本以 Windows 脚本宿主为目标。我知道这是可以做到的,因为前段时间网上曾经有很多关于它的文档,但我现在似乎找不到它们了。

有人可以帮忙,或者让我朝着正确的方向开始吗?

谢谢

最佳答案

您正在制作一种不存在的特定于领域的语言。你想翻译成另一种语言。您将需要一个合适的扫描仪和解析器。您可能被告知要查看 antlr。 yacc/野牛,或黄金。哪里出了问题?

作为一个 FYI,创建新语言是一个有趣的练习,但在你做这样的事情之前,你可能会问一个很好的“为什么?我的新语言提供了什么我无法获得任何其他语言(合理的)方式?”

关于c# - 创建用于创建网页的脚本语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2438179/

相关文章:

java - 犀牛怎么了?它仍在积极开发中吗?

c# - 如何从数据库中获取最接近的日期时间?

c# - 无限范围变量将分配在哪里?

javascript - 如何使用 WScript.Shell 打开 pdf

vbscript - 如果存在则退出 VBS

javascript - 如何将一组元素锚定到 InDesign CS5 javascript 中的特定文本框架

php - PHP 中的算法基准测试毫无意义吗?

c# - 如何在 Visual Studio 2015 中获取部分类型的所有部分定义?

c# - 这两种声明 self 绑定(bind)的方式有什么区别?

java - 如何使用 Wscript Exec 运行 Java 文件