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 に答える