mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-24 03:52:50 -06:00
add the missing GF.Grammar.Predef module
This commit is contained in:
177
src-3.0/GF/Grammar/Predef.hs
Normal file
177
src-3.0/GF/Grammar/Predef.hs
Normal file
@@ -0,0 +1,177 @@
|
|||||||
|
----------------------------------------------------------------------
|
||||||
|
-- |
|
||||||
|
-- Module : GF.Grammar.Predef
|
||||||
|
-- Maintainer : kr.angelov
|
||||||
|
-- Stability : (stable)
|
||||||
|
-- Portability : (portable)
|
||||||
|
--
|
||||||
|
-- Predefined identifiers and labels which the compiler knows
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
module GF.Grammar.Predef
|
||||||
|
( cType
|
||||||
|
, cPType
|
||||||
|
, cTok
|
||||||
|
, cStr
|
||||||
|
, cStrs
|
||||||
|
, cPredefAbs, cPredef
|
||||||
|
, cInt
|
||||||
|
, cFloat
|
||||||
|
, cString
|
||||||
|
, cInts
|
||||||
|
, cPBool
|
||||||
|
, cErrorType
|
||||||
|
, cOverload
|
||||||
|
, cUndefinedType
|
||||||
|
, isPredefCat
|
||||||
|
|
||||||
|
, cPTrue, cPFalse
|
||||||
|
|
||||||
|
, cLength, cDrop, cTake, cTk, cDp, cEqStr, cOccur
|
||||||
|
, cOccurs, cEqInt, cLessInt, cPlus, cShow, cRead
|
||||||
|
, cToStr, cMapStr, cError
|
||||||
|
|
||||||
|
-- hacks
|
||||||
|
, cMeta, cAs, cChar, cChars, cSeq, cAlt, cRep
|
||||||
|
, cNeg, cCNC, cConflict
|
||||||
|
) where
|
||||||
|
|
||||||
|
import GF.Infra.Ident
|
||||||
|
import qualified Data.ByteString.Char8 as BS
|
||||||
|
|
||||||
|
cType :: Ident
|
||||||
|
cType = identC (BS.pack "Type")
|
||||||
|
|
||||||
|
cPType :: Ident
|
||||||
|
cPType = identC (BS.pack "PType")
|
||||||
|
|
||||||
|
cTok :: Ident
|
||||||
|
cTok = identC (BS.pack "Tok")
|
||||||
|
|
||||||
|
cStr :: Ident
|
||||||
|
cStr = identC (BS.pack "Str")
|
||||||
|
|
||||||
|
cStrs :: Ident
|
||||||
|
cStrs = identC (BS.pack "Strs")
|
||||||
|
|
||||||
|
cPredefAbs :: Ident
|
||||||
|
cPredefAbs = identC (BS.pack "PredefAbs")
|
||||||
|
|
||||||
|
cPredef :: Ident
|
||||||
|
cPredef = identC (BS.pack "Predef")
|
||||||
|
|
||||||
|
cInt :: Ident
|
||||||
|
cInt = identC (BS.pack "Int")
|
||||||
|
|
||||||
|
cFloat :: Ident
|
||||||
|
cFloat = identC (BS.pack "Float")
|
||||||
|
|
||||||
|
cString :: Ident
|
||||||
|
cString = identC (BS.pack "String")
|
||||||
|
|
||||||
|
cInts :: Ident
|
||||||
|
cInts = identC (BS.pack "Ints")
|
||||||
|
|
||||||
|
cPBool :: Ident
|
||||||
|
cPBool = identC (BS.pack "PBool")
|
||||||
|
|
||||||
|
cErrorType :: Ident
|
||||||
|
cErrorType = identC (BS.pack "Error")
|
||||||
|
|
||||||
|
cOverload :: Ident
|
||||||
|
cOverload = identC (BS.pack "overload")
|
||||||
|
|
||||||
|
cUndefinedType :: Ident
|
||||||
|
cUndefinedType = identC (BS.pack "UndefinedType")
|
||||||
|
|
||||||
|
isPredefCat :: Ident -> Bool
|
||||||
|
isPredefCat c = elem c [cInt,cString,cFloat]
|
||||||
|
|
||||||
|
cPTrue :: Ident
|
||||||
|
cPTrue = identC (BS.pack "PTrue")
|
||||||
|
|
||||||
|
cPFalse :: Ident
|
||||||
|
cPFalse = identC (BS.pack "PFalse")
|
||||||
|
|
||||||
|
cLength :: Ident
|
||||||
|
cLength = identC (BS.pack "length")
|
||||||
|
|
||||||
|
cDrop :: Ident
|
||||||
|
cDrop = identC (BS.pack "drop")
|
||||||
|
|
||||||
|
cTake :: Ident
|
||||||
|
cTake = identC (BS.pack "take")
|
||||||
|
|
||||||
|
cTk :: Ident
|
||||||
|
cTk = identC (BS.pack "tk")
|
||||||
|
|
||||||
|
cDp :: Ident
|
||||||
|
cDp = identC (BS.pack "dp")
|
||||||
|
|
||||||
|
cEqStr :: Ident
|
||||||
|
cEqStr = identC (BS.pack "eqStr")
|
||||||
|
|
||||||
|
cOccur :: Ident
|
||||||
|
cOccur = identC (BS.pack "occur")
|
||||||
|
|
||||||
|
cOccurs :: Ident
|
||||||
|
cOccurs = identC (BS.pack "occurs")
|
||||||
|
|
||||||
|
cEqInt :: Ident
|
||||||
|
cEqInt = identC (BS.pack "eqInt")
|
||||||
|
|
||||||
|
cLessInt :: Ident
|
||||||
|
cLessInt = identC (BS.pack "lessInt")
|
||||||
|
|
||||||
|
cPlus :: Ident
|
||||||
|
cPlus = identC (BS.pack "plus")
|
||||||
|
|
||||||
|
cShow :: Ident
|
||||||
|
cShow = identC (BS.pack "show")
|
||||||
|
|
||||||
|
cRead :: Ident
|
||||||
|
cRead = identC (BS.pack "read")
|
||||||
|
|
||||||
|
cToStr :: Ident
|
||||||
|
cToStr = identC (BS.pack "toStr")
|
||||||
|
|
||||||
|
cMapStr :: Ident
|
||||||
|
cMapStr = identC (BS.pack "mapStr")
|
||||||
|
|
||||||
|
cError :: Ident
|
||||||
|
cError = identC (BS.pack "error")
|
||||||
|
|
||||||
|
|
||||||
|
--- hacks: dummy identifiers used in various places
|
||||||
|
--- Not very nice!
|
||||||
|
|
||||||
|
cMeta :: Ident
|
||||||
|
cMeta = identC (BS.singleton '?')
|
||||||
|
|
||||||
|
cAs :: Ident
|
||||||
|
cAs = identC (BS.singleton '@')
|
||||||
|
|
||||||
|
cChar :: Ident
|
||||||
|
cChar = identC (BS.singleton '?')
|
||||||
|
|
||||||
|
cChars :: Ident
|
||||||
|
cChars = identC (BS.pack "[]")
|
||||||
|
|
||||||
|
cSeq :: Ident
|
||||||
|
cSeq = identC (BS.pack "+")
|
||||||
|
|
||||||
|
cAlt :: Ident
|
||||||
|
cAlt = identC (BS.pack "|")
|
||||||
|
|
||||||
|
cRep :: Ident
|
||||||
|
cRep = identC (BS.pack "*")
|
||||||
|
|
||||||
|
cNeg :: Ident
|
||||||
|
cNeg = identC (BS.pack "-")
|
||||||
|
|
||||||
|
cCNC :: Ident
|
||||||
|
cCNC = identC (BS.pack "CNC")
|
||||||
|
|
||||||
|
cConflict :: Ident
|
||||||
|
cConflict = IC (BS.pack "#conflict")
|
||||||
Reference in New Issue
Block a user