11.8 预定义的迭代器表达式

本节定义标准的OCL迭代器表达式。在抽象语法中这些都是IteratorExp的实例。这些迭代器表达式总是有一个做为源的集合表达式,正如在第8章(抽象语法)中良构规则中定义的那样。这些预定义的迭代器表达式按照不同的集合类型来展示。每个迭代器表达式的语义通过跌倒器到‘iterate’构造的映射来定义。这意味这这些迭代器表达式的语义不需要在ygie单独的语义子章节中来定义。

在如下所有的OCL表达式中,等号左边是要定义的IteratorExp,等号右边是等同的IterateExp。名称source, bodyiterator分别指示抽象语法中相应的角色:

source IteratorExp的source表达式
body IteratorExp的body表达式
iterator IteratorExp的iterator变量
result IteratorExp的result 变量

11.8.1 使用Iterator表达式扩展标准库

可以在标准库中添加新的迭代器表达式。如果这么做,那么新迭代器的语义需要通过将迭代器映射到现有的构造来定义,与预定义的迭代器的语义相同的处理方式来实现(参见11.9)。

results matching ""

    No results matching ""