【发布时间】:2011-07-22 03:21:08
【问题描述】:
我想知道 C 或 C++ 是否有更简单或更强大的语法。我已经遇到过SPECS。这是 C++ 的另一种语法。但是还有其他的吗?C 呢?
它也可以是一种代码生成器,以便可以不那么冗长地定义函子之类的东西。我想它可以作为一个代码生成器来编译成 C 或 C++ 代码,这与你在替代语法中编写的代码非常相似。
Mirah 是为 Java 执行此操作的示例。
理想情况下,我想用类似 Go 的语法编写 C。我喜欢他们修复 switch-case 的方式,并且总的来说让一切变得不那么冗长。
【问题讨论】:
-
在编译语言的世界里,这并没有多大意义;您所需要的只是一种对 C/C++ 运行时系统具有绑定支持的语言。 (请注意,MSVC C++ 代码无论如何都不会直接在 Linux 上运行;重要的是运行时。)因此,从这个角度来看,FORTRAN 是一种“替代语法”,或 Modula II,或任何您可以编译为可链接到的对象的东西所需的运行时间。
-
这不是真的。 C++ 的许多复杂性和强大功能来自于模板,它是一种编译时语言。
-
仅从您发布的链接中,我看到他们声称拥有
switch声明而不会失败,并且在另一端具有相同的语义。这不在一起。 -
根据您提供的链接,Mirah 是一种完全独立的语言,可以编译到与 Java 相同的 JVM,而不是 Java 的替代语法。
-
我在这个页面上寻找像 Scala 或 Python 这样的语法,用于完全强大的 C++。不幸的是,SPECS 根本没有开始回答这个问题,我担心完全改变的声明语法会吓跑太多人。使一门编程语言成功的关键是尽可能使用与其他语言相似的语法,同时仍然改变最烦人的部分(即,尽管有一些重大变化,但本质上仍然基于 C 语法的 Python)。
标签: c++ c compiler-construction syntax code-generation