Algorithm IBM研究论文中的未知语法
我正在读一篇研究论文《高性能动态无锁哈希表》 和基于列表的集合(Maged M.Michael),我不理解这个用于示例的伪代码语法 具体而言,这些部分: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表示运算符,它将操作结果赋值给变量。这有点奇怪,因为这篇论文比
〈pmark,cur,ptag〉: MarkPtrType;
〈cmark,next,ctag〉: MarkPtrType;
例(第5页,第3章)
更新:
似乎是一种Pascal符号,用于解引用指针和访问记录()中的变量ˆ。
arrow似乎是用于赋值的类似Haskell的do表示运算符,它将操作结果赋值给变量。这有点奇怪,因为这篇论文比哈斯克尔早了近十年。这可能是Haskell也借鉴的一些符号。()←
是一种数学向量表示法,表示向量()的内积〈a、 b〉
〈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〉)