module Test.Tasty.Patterns.Types where
data Expr
= IntLit !Int
| NF
| Add Expr Expr
| Sub Expr Expr
| Neg Expr
| Not Expr
| And Expr Expr
| LT Expr Expr
| GT Expr Expr
| LE Expr Expr
| GE Expr Expr
| EQ Expr Expr
| NE Expr Expr
| Or Expr Expr
| Concat Expr Expr
| Match Expr String
| NoMatch Expr String
| Field Expr
| StringLit String
| If Expr Expr Expr
| ERE String
| ToUpperFn Expr
| ToLowerFn Expr
| LengthFn (Maybe Expr)
| MatchFn Expr String
| SubstrFn Expr Expr (Maybe Expr)
deriving (Show, Eq)