我实现的语法有这样的规则:
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定义字符文字。有什么想法吗?
答案 0 :(得分:1)
你可以看看一个反复的样本,它们默认包含在内。
C#Irony语法已经有了一个例子:
StringLiteral CharLiteral = TerminalFactory.CreateCSharpChar("CharLiteral");
实现看起来像这样:
public static StringLiteral CreateCSharpChar(string name) {
StringLiteral term = new StringLiteral(name, "'", StringOptions.IsChar);
return term;
}