Algorithm IBM研究论文中的未知语法

Algorithm IBM研究论文中的未知语法,algorithm,data-structures,syntax,hashmap,pseudocode,Algorithm,Data Structures,Syntax,Hashmap,Pseudocode,我正在读一篇研究论文《高性能动态无锁哈希表》 和基于列表的集合(Maged M.Michael),我不理解这个用于示例的伪代码语法 具体而言,这些部分: 〈pmark,cur,ptag〉: MarkPtrType; 〈cmark,next,ctag〉: MarkPtrType; 例(第5页,第3章) 更新: ˆ。似乎是一种Pascal符号,用于解引用指针和访问记录()中的变量 ←arrow似乎是用于赋值的类似Haskell的do表示运算符,它将操作结果赋值给变量。这有点奇怪,因为这篇论文比

我正在读一篇研究论文《高性能动态无锁哈希表》 和基于列表的集合(Maged M.Michael),我不理解这个用于示例的伪代码语法

具体而言,这些部分:

〈pmark,cur,ptag〉: MarkPtrType;
〈cmark,next,ctag〉: MarkPtrType;
例(第5页,第3章)

更新:

  • ˆ。
    似乎是一种Pascal符号,用于解引用指针和访问记录()中的变量
  • arrow似乎是用于赋值的类似Haskell的do表示运算符,它将操作结果赋值给变量。这有点奇怪,因为这篇论文比哈斯克尔早了近十年。这可能是Haskell也借鉴的一些符号。()
  • 〈a、 b〉
    是一种数学向量表示法,表示向量()的内积

广角括号表示法似乎是一种特殊的列表表示法,或者是在一行上操纵多个变量(感谢@graybeard指出这一点)。它甚至可能是某种元组

这就是
〈pmark,cur,ptag>:MarkPtrType在类似C的语言中看起来像:

markptrtypepmark;
标记类型cur;
标记型ptag;
//或者一些列表赋值符号
//还是元组
ˆ。
似乎是一种Pascal符号,用于解引用指针和访问记录()中的变量


箭头是一种赋值符号,也类似于赋值的do符号运算符。

欢迎您回答自己的问题。我支持伪代码和(大约四分之一个世纪后,Haskell)之间的“借用方向”。我怀疑内部产品是有意的;我认为它是一种特殊的列表表示法,类似于Python,其中大括号可以像
low,high=2,8
@greybeard-nice-find中那样,在APL与
的关系中更频繁地被删除←操作员。关于点积语法,它似乎不太可能实际上是点积,因为向量中有两个以上的元素。我不确定我是否理解你的特别列表符号。你能给我举一个Python的例子吗?嗯,
low,high=2,8
就是这个例子,和
low,high=[2,8]
[low,high]=[2,8]
差不多,和
low,high=(2,8)
一样(谁拥有60年代的记忆,谁都没去过那里。)
nodeˆ.〈Mark,Next〉←〈0,cur〉;
if CAS(prev,〈0,cur,ptag〉,〈0,node,ptag+1〉)