TMQL语义与Toma语言详解
1. TMQL形式语义
1.1 FLWR表达式语义
在简化表示中,通过元组表达式生成内容,这通常是路径表达式解释的最后一步。在此之前,需要生成变量绑定,并使用布尔表达式进行过滤,过滤后的结果会应用到转换后的元组表达式中。即使没有显式的 WHERE 子句,也会默认使用 WHERE True 。
所有在变量关联中引入的变量及其对应的路径表达式,会按出现的词法顺序用于变量消除。FLWR表达式的整体语义如下:
[[ flwr-expression ]] = [[
{ ’for’ < variable-association > }
’where’ boolean-expression
’return’ tuple-expression ]]
= ([[ boolean-expression ]] [[ tuple-expression ]]) | v1 => e1
...
| vn => en
1.2 SELECT表达式语义
一个完整的 SELECT 表达式包含多个子句,这里主要关注 SELECT 和 WHERE 子句的机制。直观地说, WHERE 子句用于生成变量绑定集,这些绑定集受 WHERE 子句中的布尔表达式约束,只有当评估结果为 True
超级会员免费看
订阅专栏 解锁全文
501

被折叠的 条评论
为什么被折叠?



