{-# LANGUAGE DeriveGeneric #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}

-- UUAGC 0.9.55 (src/GLua/AG/Token.ag)
module GLua.AG.Token where

{-# LINE 9 "src/GLua/AG/Token.ag" #-}

import GHC.Generics
import Text.ParserCombinators.UU.BasicInstances hiding (pos)
{-# LINE 13 "src/GLua/AG/Token.hs" #-}
-- MToken ------------------------------------------------------
data MToken = MToken !(Region) !(Token)

-- MTokenList --------------------------------------------------
type MTokenList = [MToken]

-- Region ------------------------------------------------------
data Region = Region !(LineColPos) !(LineColPos)
  deriving (forall x. Rep Region x -> Region
forall x. Region -> Rep Region x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep Region x -> Region
$cfrom :: forall x. Region -> Rep Region x
Generic, Int -> Region -> ShowS
[Region] -> ShowS
Region -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Region] -> ShowS
$cshowList :: [Region] -> ShowS
show :: Region -> String
$cshow :: Region -> String
showsPrec :: Int -> Region -> ShowS
$cshowsPrec :: Int -> Region -> ShowS
Show)

-- Token -------------------------------------------------------
data Token
  = Whitespace !(String)
  | DashComment !(String)
  | DashBlockComment !(Int) !(String)
  | SlashComment !(String)
  | SlashBlockComment !(String)
  | Semicolon
  | TNumber !(String)
  | DQString !(String)
  | SQString !(String)
  | MLString !(String)
  | TTrue
  | TFalse
  | Nil
  | VarArg
  | Plus
  | Minus
  | Multiply
  | Divide
  | Modulus
  | Power
  | TEq
  | TNEq
  | TCNEq
  | TLEQ
  | TGEQ
  | TLT
  | TGT
  | Equals
  | Concatenate
  | Colon
  | Dot
  | Comma
  | Hash
  | Not
  | CNot
  | And
  | CAnd
  | Or
  | COr
  | Function
  | Local
  | If
  | Then
  | Elseif
  | Else
  | For
  | In
  | Do
  | While
  | Until
  | Repeat
  | Continue
  | Break
  | Return
  | End
  | LRound
  | RRound
  | LCurly
  | RCurly
  | LSquare
  | RSquare
  | Label !(String) !(String) !(String)
  | Identifier !(String)
  deriving (Token -> Token -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Token -> Token -> Bool
$c/= :: Token -> Token -> Bool
== :: Token -> Token -> Bool
$c== :: Token -> Token -> Bool
Eq, forall x. Rep Token x -> Token
forall x. Token -> Rep Token x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep Token x -> Token
$cfrom :: forall x. Token -> Rep Token x
Generic, Eq Token
Token -> Token -> Bool
Token -> Token -> Ordering
Token -> Token -> Token
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: Token -> Token -> Token
$cmin :: Token -> Token -> Token
max :: Token -> Token -> Token
$cmax :: Token -> Token -> Token
>= :: Token -> Token -> Bool
$c>= :: Token -> Token -> Bool
> :: Token -> Token -> Bool
$c> :: Token -> Token -> Bool
<= :: Token -> Token -> Bool
$c<= :: Token -> Token -> Bool
< :: Token -> Token -> Bool
$c< :: Token -> Token -> Bool
compare :: Token -> Token -> Ordering
$ccompare :: Token -> Token -> Ordering
Ord)

-- TokenList ---------------------------------------------------
type TokenList = [Token]