【问题标题】:Writing a compiler in HTML+CSS [closed]用 HTML+CSS 编写编译器 [关闭]
【发布时间】:2023-03-09 03:08:01
【问题描述】:

是否可以用 HTML+CSS 编写编译器?我知道他们(一起)应该是图灵完备的,至少是 HTML5/CSS3 组合。所以应该可以为Java编写一个编译器,对吧?还是我对图灵完备性的含义有某种基本的误解?由于 HTML+CSS 本身不是编译语言,这是否意味着不可能用它们编写编译器? (你也可以为 HTML/CSS 编写一个编译器吗?)

【问题讨论】:

    标签: css html compiler-construction turing-complete


    【解决方案1】:

    虽然可以单独在 HTML 和 CSS 中实现一些与图灵等效的系统(例如 Rule 110 - http://eli.fox-epste.in/rule110-full.html),但最终的实现在任何有用的意义上都不能用作计算机。它具有极高的开销,并且需要一个绝对巨大的网页来执行甚至非常简单的计算(例如,将小数相加)。 Java 编译器是完全不可能的。

    这里的带回家的教训:并非所有“图灵完备”系统都是平等的。他们完成工作的效率存在巨大差异。

    【讨论】:

    • 我明白这一点。我可能不清楚,但我想知道这在理论上是否可行。
    • 理论上可行?是的 - 如果您有一个可以处理包含数十亿个元素的页面的 Web 浏览器。 (不存在。)
    • 根据这条评论,它不是:stackoverflow.com/questions/2497146/…。该评论似乎表明它并不是真正的图灵完备,这表明它无法做诸如构建编译器之类的事情,即使在理论上也是如此。
    • 是的,但是[理论上] 你将如何使用该方法编写 java 编译器?我确实看到了链接,但用户仍然需要手动泵送系统,而我所知道的任何图灵完备语言都是以编程方式完成的。是否可以让用户在文本框中输入程序,然后必须单击一堆按钮?或者你甚至不能这样做,因为每次计算都需要按下按钮?
    • 图灵完备性是系统的属性,而不是其用户界面。必须通过按键在网页上“转动曲柄”根本不属于失格,就像在机械计算机上必须转动字面上的曲柄一样。
    猜你喜欢
    • 2010-09-05
    • 2016-07-30
    • 2010-11-12
    • 2012-12-27
    • 1970-01-01
    • 2015-11-05
    • 1970-01-01
    • 2012-09-20
    • 1970-01-01
    相关资源
    最近更新 更多