对于语法,有EBNF ISO 14977标准。
对于运行时,我们有CLI ISO 23271标准
另见Simple definition of "semantics" as it is commonly used in relation to programming languages/APIs?
但是如何用声明的方式描述从EBNF到CLI规范的转换? 即是否足以使用S-attributed grammar?哪个标准定义了这种语法的语法?
答案 0 :(得分:2)
有许多方法可以定义语言的语义。所有这些都必须以某种方式表达程序文本与"它计算的内容之间的关系"。
简短但不完整的基本技术清单:
基本上,这些是在程序实例的源文本上定义的计算。
您可以通过多种方式实现这些计算。 实现它们的一种方式可能是" S-referenced"语法,虽然为什么你想限制自己只使用S-属性而不是带有继承属性的标准属性语法超出我的范围。
鉴于有很多方法可以做到这一点,我怀疑你会找到一个标准。当然,编程语言委员会并没有使用它。哎呀,他们甚至不会使用BNF的标准。