kicad-data-0.5.0: Data/Kicad/SExpr/SExpr.hs
module Data.Kicad.SExpr.SExpr
( SExpr(..)
, SExpressable(..)
, getPos
)
where
import Text.Parsec (SourcePos)
data SExpr = Atom SourcePos String
| List SourcePos [SExpr]
deriving (Show, Eq)
class SExpressable a where
toSExpr :: a -> SExpr
{-| Get s-expression source code position (filename, line-number and
- column-number) -}
getPos :: SExpr -> SourcePos
getPos (Atom pos _) = pos
getPos (List pos _) = pos