对于语法,有EBNF ISO 14977 标准。
对于运行时,我们有CLI ISO 23271 标准
,
另见“语义”的简单定义,因为它通常与编程语言/API 相关?
但是如何以声明的方式描述从 EBNF 到 CLI 规范的过渡?即使用S 属性语法是否足够?哪个标准定义了这种语法的语法?
对于语法,有EBNF ISO 14977 标准。
对于运行时,我们有CLI ISO 23271 标准
,
另见“语义”的简单定义,因为它通常与编程语言/API 相关?
但是如何以声明的方式描述从 EBNF 到 CLI 规范的过渡?即使用S 属性语法是否足够?哪个标准定义了这种语法的语法?
定义语言语义的方法有很多种。它们都必须以某种方式表达程序文本与“它计算的内容”之间的关系。
一个简短但不完整的基本技术列表:
本质上,这些是在程序实例的源文本上定义的计算。
您可以通过许多不同的方式实现这些计算。 实现它们的一种方法可能是“S-attributed”语法,尽管为什么您希望将自己限制为仅使用 S-attributes 而不是具有继承属性的标准属性语法,这超出了我的理解。
鉴于有很多方法可以做到这一点,我怀疑你会找到一个标准的. 当然,编程语言委员会没有使用一个。哎呀,他们甚至不会使用 BNF 的标准。