StrategoPattern

Plain source file: hs2stratego/AST/StrategoPattern.hs (2003-11-14)

StrategoPattern is imported by: StrategoAST2, StrategoProp, StrategoTerm, TiBase2Stratego2.

module StrategoPattern where
import Parentheses

data Literal
  = HInt (P Integer)
  | HChar (P String) -- character literals in Stratego?
  | HString (P String) -- desugar into list of characters?
  | HFrac (P Rational)
  deriving (Show{-,Read-})

hInt = HInt. P
hChar = HChar . P
hString = HString . P
hFrac = HFrac . P

data Pattern
  = NoPattern
  | NewPattern (P String)
  | WildCard
  | VarPat (P String)
  | ConstrPat (String, [Pattern])
  | AsPattern (String, Pattern)
  | TuplePat (P [Pattern])
  | LitPat (P Literal) -- new
{- old
  | LitPat (P Integer)
  | CharLitPat (P Char)
  | StringLitPat (P String)
-}
  | TwiddlePat (P Pattern)

  | FunPat (String, [Pattern])
  deriving (Show{-,Read-})

varPat = VarPat . P
tuplePat = TuplePat . P
litPat = LitPat . P
--charLitPat = CharLitPat . P
--stringLitPat = StringLitPat . P
twiddlePat = TwiddlePat . P

pcons x xs = ConstrPat (":", [x,xs])
pnil = ConstrPat ("[]", [])
plist = foldr pcons pnil

Index

(HTML for this module was generated on 2006-08-12. About the conversion tool.)