在ADT替代方案开始时,“ \”是什么意思?

提姆

来自http://tutor.rascal-mpl.org/Rascal/Libraries/lang/java/m3/TypeSymbol/Bound/Bound.html

data Bound 
   = \super(list[TypeSymbol] bound)
   | \extends(list[TypeSymbol] bound)
   | \unbounded()
   ;

所有替代项都以a开头的原因有什么具体原因\吗?这是什么意思?这是某种约定还是特殊的Rascal语法?

戴维·兰德曼

这是一种转义标识符的方法。

假设您要命名一个构造函数(或函数)if,这将与该if语句重叠(因此保留)。

如果\在标识符前面放置,则会忽略该名称。就像\"内部字符串文字一样。

现在,对于Java AST,已经选择了对齐方式。代替:

| method(...)
| \if(...)
| variable(...)

\在每个替代项之前添加一个

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章