是否有可能在php / html风格的情况下正确完成嵌套?

时间:2010-11-02 18:43:49

标签: php html haml erb formal-languages

我怀疑甚至可能有一个数学证明,答案是“不”,但是,问题:是否可以发明一种类似php的语言(即用一些线来评估幕后的代码,以及一些评估显示html的行,它总是可以正确嵌套?举一个我正在谈论的例子,在rails / haml

%table
  %tr
    %th Title
    %th Content
    %th Owner
    %th Categories
  - @posts.each do |post|
    %tr
      %td

第二个%tr应该与第一个垂直对齐(因为它们是输出html中的兄弟),但是从每个块开始的行会导致它缩进一行。是否有可能某人可以开发某种html元语言,其中缩进可以反映控制结构和适当的嵌套,而不会每个都与另一个发生冲突?如果是的话,这样的事情是否存在?

1 个答案:

答案 0 :(得分:0)

我可以想办法。编译器/解释器只需要做出一些仔细和明确概述的假设。

例如,假设控制结构的缩进被删除以解释页面结构,那么上面的代码会将数据%tr置于与%td相同的缩进级别。请注意,这会使一些页面结构难以阅读。

另一个例子,使控制结构语法与给定缩进级别的页面结构共存。控制结构可以单独存在,也可以在页面结构语句之后存在。这样做的优点是在代码和页面结构方面都具有可读性。

%table  
  %tr  
    %th Title  
    %th Content  
    %th Owner  
    %th Categories  
  %tr @posts.each do |post|     
    %td