如何使用Irony定义转义序列和字符文字?

时间:2014-12-08 19:44:22

标签: c# grammar irony

我实现的语法有这样的规则:

char-literal    ::= ' regular-char '  
    ∣    ' escape-sequence '  

escape-sequence ::= \ ( \ ∣  " ∣  ' ∣  n ∣  t ∣  b ∣  r ∣  space )  
    ∣    \ (0…9) (0…9) (0…9)  
    ∣    \x (0…9∣ A…F∣ a…f) (0…9∣ A…F∣ a…f) 

关键在于,我不知道如何使用Irony定义字符文字。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

你可以看看一个反复的样本,它们默认包含在内。

C#Irony语法已经有了一个例子:

StringLiteral CharLiteral = TerminalFactory.CreateCSharpChar("CharLiteral");

实现看起来像这样:

public static StringLiteral CreateCSharpChar(string name) { StringLiteral term = new StringLiteral(name, "'", StringOptions.IsChar); return term; }