Mat*_*ted 7 compiler-construction syntax nlp language-design
我正在寻找编写一个编译器,在我完成一个"C"风格的东西后,我正在寻找适应其他模型.您期望在"自然"编程语言中看到哪些语法结构?
这个编译器的目标平台将是CLR,我目前正在使用Oslo + MGrammar作为词法分析器/解析器(你可能会说这真的只是一个借口)
我的项目的目标之一是让编程更像是一个对话,而不是结构化的语法和要求.
我猜我应该把它扩展一点.我正在使用的一个想法是将类声明读成段落.
A Dog is a mammal. It may Bark and Run. To Run it
uses its feet to move forward. It does Lay.
Run Code Online (Sandbox Code Playgroud)
......也会翻译......
public class Dog : Mammal{
public Feet Feet { get; set;}
public virtual void Bark() {}
public virtual void Run() {
this.Feet.MoveForward();
}
public void Lay(){}
}
Run Code Online (Sandbox Code Playgroud)
Nor*_*sey 13
如果你希望你的设计能够被一种在"自然"方向上走向极端的东西所吸引,那么格雷厄姆·尼尔森就一种基于自然语言的特定领域编程语言做了一些非常令人惊叹的新工作.该系统被称为Inform 7,在我看来将充分回报分析.
Inform 7的一个问题是演示文稿完全面向非程序员.即使语法是什么也不容易发现!但是我对结果印象非常深刻,我相信有一些新颖的绑定结构可以提供真正的新想法 - 它不仅仅是一个非常有吸引力的包中的旧东西.非常值得一试!
真的,我认为让代码更像自然语言并不是一个好主意.它会变得过于冗长.有没有人使用COBOL的原因很少有人愿意使用COBOL :)
提出一种更加标准的大声发音代码的方法可能是一个更好的主意(如果你试图向某人解释代码但是无法向他们展示代码,那将会有很大帮助).
| 归档时间: |
|
| 查看次数: |
3121 次 |
| 最近记录: |