热门问题
时间线
聊天
视角
抽象句法
来自维基百科,自由的百科全书
Remove ads
在计算机科学中,数据的抽象句法(英语:abstract syntax)是将其结构描述为数据类型(可能但不一定是抽象数据类型),独立于任何特定的表示或编码。 这特别用于计算机语言中文本的表示,这些语言通常存储在树结构中作为抽象语法树。对比仅由数据结构组成的抽象语法与具体句法,具体语法还包括有关表示的信息。 例如,具体句法包括括号(用于分组)或逗号(用于列表)等功能,这些功能不包含在抽象句法中,因为它们已经隐含在结构中。
此条目没有列出任何参考或来源。 (2023年2月3日) |
如果结构是抽象的但名字(标识符)仍然是具体的(因此需要名字解析),则抽象语法被分类为一阶抽象句法(FOAS);如果名字本身是抽象的,则抽象语法被分类为高阶抽象句法。
用途
为了实现计算或通信,必须定义从抽象句法到特定机器表示和编码的映射; 这些可能被称为“具体句法”(在语言实现中)或“传输句法”(在通信中)。
程序的编译器的内部表示,通常由抽象句法根据类别(例如“语句”、“表达式”和“标识符”)来指定。 这与正在编译的语言的源语法(具体句法)无关(尽管它们通常非常相似)。 解析树类似于抽象句法树,但它通常还包含诸如括号之类的特征,这些特征在句法上很重要,但隐含在抽象句法树的结构中。
代数数据类型特别适合抽象语法的实现。
参见
- 高阶抽象句法
- ASN.1
参考文献
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads