递归下降到疯狂 疯狂是一种Swift μframework,用于解析简单的无上下文语法中的字符串。 组合来自简单Swift表达式的解析器并进行解析: let digit = % ( " 0 " ... " 9 " ) <|> % ( " a " ... " f " ) <|> % ( " A " ... " F " ) let hex = digit + |> map { strtol ( join ( " " , $0 ), nil , 16 ) } parse ( % " 0x " *> hex, " 0xdeadbeef " ) // => 3,735,928,559 您的解析器可以直接生成自己的模型对象,从而使Madness非常适合在例如游乐场中进行语法实验。 有关使用Madness进行解析的一些示例,请参见Madness.playground 。 采用 乐兴 Madness