12345678910111213141516171819202122 |
- module Drzewo (Nazwa, Wyrażenie(..), Typ(..), OpisaneWyrażenie(..)) where
- type Nazwa = String
- data Wyrażenie = Funkcja Nazwa Wyrażenie
- | Wywołanie Wyrażenie Wyrażenie
- | Zmienna Nazwa
- deriving (Eq, Show, Read)
- data Typ = TZmiennej Nazwa
- | Strzałka Typ Typ
- deriving (Eq)
- instance Show Typ where
- show (TZmiennej x) = '\'':x
- show (Strzałka s@(Strzałka _ _) t) = "("++(show s)++") -> "++(show t)
- show (Strzałka x y) = (show x)++" -> "++(show y)
- data OpisaneWyrażenie = OFunkcja Nazwa OpisaneWyrażenie Typ
- | OWywołanie OpisaneWyrażenie OpisaneWyrażenie Typ
- | OZmienna Nazwa Typ
- deriving (Eq, Show)
|