0

我正在实现一个具有如下规则的语法:

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 定义字符文字。任何想法?

4

1 回答 1

1

您可以查看 Irony 示例,默认情况下包含它们。

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

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

实现看起来像这样:

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

于 2014-12-21T00:13:47.630 回答