{-# OPTIONS_HADDOCK hide #-}
module SMCDEL.Internal.Token where

data Token a -- == AlexPn
  = TokenVARS              {forall a. Token a -> a
apn :: a}
  | TokenLAW               {apn :: a}
  | TokenOBS               {apn :: a}
  | TokenTRUEQ             {apn :: a}
  | TokenVALIDQ            {apn :: a}
  | TokenWHEREQ            {apn :: a}
  | TokenColon             {apn :: a}
  | TokenComma             {apn :: a}
  | TokenStr {forall a. Token a -> String
fooS::String, apn :: a}
  | TokenInt {forall a. Token a -> Int
fooI::Int,    apn :: a}
  | TokenTop               {apn :: a}
  | TokenBot               {apn :: a}
  | TokenPrp               {apn :: a}
  | TokenNeg               {apn :: a}
  | TokenOB                {apn :: a}
  | TokenCB                {apn :: a}
  | TokenCOB               {apn :: a}
  | TokenCCB               {apn :: a}
  | TokenSOB               {apn :: a}
  | TokenSCB               {apn :: a}
  | TokenLA                {apn :: a}
  | TokenRA                {apn :: a}
  | TokenExclam            {apn :: a}
  | TokenQuestm            {apn :: a}
  | TokenBinCon            {apn :: a}
  | TokenBinDis            {apn :: a}
  | TokenCon               {apn :: a}
  | TokenDis               {apn :: a}
  | TokenXor               {apn :: a}
  | TokenOneOf             {apn :: a}
  | TokenImpl              {apn :: a}
  | TokenEqui              {apn :: a}
  | TokenForall            {apn :: a}
  | TokenExists            {apn :: a}
  | TokenPrefixK           {apn :: a}
  | TokenPrefixKw          {apn :: a}
  | TokenInfixKnowWhether  {apn :: a}
  | TokenInfixKnowThat     {apn :: a}
  | TokenInfixCKnowWhether {apn :: a}
  | TokenInfixCKnowThat    {apn :: a}
  | TokenInfixDKnowWhether {apn :: a}
  | TokenInfixDKnowThat    {apn :: a}
  deriving (Token a -> Token a -> Bool
(Token a -> Token a -> Bool)
-> (Token a -> Token a -> Bool) -> Eq (Token a)
forall a. Eq a => Token a -> Token a -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: forall a. Eq a => Token a -> Token a -> Bool
== :: Token a -> Token a -> Bool
$c/= :: forall a. Eq a => Token a -> Token a -> Bool
/= :: Token a -> Token a -> Bool
Eq,Int -> Token a -> ShowS
[Token a] -> ShowS
Token a -> String
(Int -> Token a -> ShowS)
-> (Token a -> String) -> ([Token a] -> ShowS) -> Show (Token a)
forall a. Show a => Int -> Token a -> ShowS
forall a. Show a => [Token a] -> ShowS
forall a. Show a => Token a -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: forall a. Show a => Int -> Token a -> ShowS
showsPrec :: Int -> Token a -> ShowS
$cshow :: forall a. Show a => Token a -> String
show :: Token a -> String
$cshowList :: forall a. Show a => [Token a] -> ShowS
showList :: [Token a] -> ShowS
Show)