Show/Hide Toolbars

XSharp

 

X# 中的标识符出现在语言的许多地方。它们由一个字符和一个或多个字符、数字或位数组成。标识符的 lexer 定义如下。正如你所看到的,我们也允许使用 “特殊字符” 和 “unicode 字符”,但一般不建议使用。

 

Vulcan 和 X# 中引入的新关键字(见关键字列表)也可用作标识符。

当必须使用与关键字具有相同值的标识符时,可以在标识符前加上双 @@ 符号,如下例所示。

不建议这样做。但如果外部 DLL 中的代码的属性或方法名称与 X# 中的关键字相同,这种情况也有可能发生。在这种情况下,使用 @@ 前缀也是可行的。

 

LOCAL @@Class as STRING
LOCAL @@Local as LOGIC

ID                        : IDStartChar IDChar*
                       ;
 
fragment IDStartChar: 'A'..'Z' | 'a'..'z'
                       | '_'
                       | '\u00C0'..'\u00D6'
                       | '\u00D8'..'\u00F6'
                       | '\u00F8'..'\u02FF'
                       | '\u0370'..'\u037D'
                       | '\u037F'..'\u1FFF'
                       | '\u200C'..'\u200D'
                       ;
 
fragment IDChar          : IDStartChar
                       | '0'..'9'
                       | '\u00B7'
                       | '\u0300'..'\u036F'
                       | '\u203F'..'\u2040'
                       ;