module DDC.Build.Language.Tetra
( language
, bundle
, fragment)
where
import DDC.Build.Language.Base
import DDC.Core.Simplifier
import DDC.Core.Transform.Namify
import DDC.Core.Fragment hiding (Error(..))
import qualified DDC.Core.Tetra as E
import qualified Data.Map as Map
language :: Language
language = Language bundle
bundle :: Bundle Int E.Name E.Error
bundle
= Bundle
{ bundleFragment = fragment
, bundleModules = Map.empty
, bundleStateInit = 0 :: Int
, bundleSimplifier = Trans Id
, bundleMakeNamifierT = makeNamifier E.freshT
, bundleMakeNamifierX = makeNamifier E.freshX
, bundleRewriteRules = Map.empty }
fragment :: Fragment E.Name E.Error
fragment
= Fragment
{ fragmentProfile = E.profile
, fragmentExtension = "dct"
, fragmentReadName = E.readName
, fragmentLexModule = E.lexModuleString
, fragmentLexExp = E.lexExpString
, fragmentCheckModule = E.checkModule
, fragmentCheckExp = const Nothing }