我很难为树结构实现Read.我想要一个左关联字符串(与parens)喜欢ABC(DE)F并将其转换为树.该特定示例对应于树
.
这是我正在使用的数据类型(虽然我愿意接受建议):
data Tree = Branch Tree Tree | Leaf Char deriving (Eq)
Run Code Online (Sandbox Code Playgroud)
那个特定的树将在Haskell中:
example = Branch (Branch (Branch (Branch (Leaf 'A')
(Leaf 'B'))
(Leaf 'C'))
(Branch (Leaf 'D')
(Leaf 'E')))
(Leaf 'F')
Run Code Online (Sandbox Code Playgroud)
我的show功能如下:
instance Show Tree where
show (Branch l r@(Branch _ _)) = show l ++ "(" ++ show r ++ ")"
show (Branch l r) = show l ++ show r
show (Leaf x) = [x]
Run Code Online (Sandbox Code Playgroud)
我想做一个read功能
read …Run Code Online (Sandbox Code Playgroud) haskell ×1