小编iIl*_*ion的帖子

Haskell解析表达式

嗨,我得到了这样的代码:

data Digit = Zero | One | Two | Three | Four | Five | Six | Seven | Eight | 
             Nine 
             deriving (Eq, Show)

data Number = Single Digit | Many Digit Number deriving (Eq, Show)

data Expr = Lit Number
          | Sub Expr   
          | Sum Expr Expr 
          | Mul Expr Expr
          deriving (Eq, Show)
Run Code Online (Sandbox Code Playgroud)

因此,使用此代码的想法是使用一个字符串,例如* + 2 3 * 2 + 6 - 2,将表示为((2 + 3) * (2 * (6 - 2))),然后使用它将字符串的部分放在那里的类型中.当然最后找到结果,在这种情况下40.问题是我对解析知之甚少,所以我真的不知道如何解析这样的表达式.我已经看到了一些简单的解析,其中字符串被解析为类型,如人或类似的东西.但我认为这有点复杂.如果有人有任何建议,我会非常感兴趣.

parsing haskell expression

0
推荐指数
1
解决办法
494
查看次数

标签 统计

expression ×1

haskell ×1

parsing ×1