Commit Graph

9 Commits

Author SHA1 Message Date
kr.angelov
efa4bc4d62 a major refactoring in the C and the Haskell runtimes. Note incompatible change in the PGF format!!!
The following are the outcomes:

   - Predef.nonExist is fully supported by both the Haskell and the C runtimes

   - Predef.BIND is now an internal compiler defined token. For now
     it behaves just as usual for the Haskell runtime, i.e. it generates &+.
     However, the special treatment will let us to handle it properly in 
     the C runtime.

   - This required a major change in the PGF format since both 
     nonExist and BIND may appear inside 'pre' and this was not supported
     before.
2013-09-27 15:09:48 +00:00
hallgren
38fe30c610 Make Ident abstract; imports of Data.ByteString.Char8 down from 29 to 16 modules
Most of the explicit uses of ByteStrings were eliminated by using identS,

	identS = identC . BS.pack 

which was found in GF.Grammar.CF and moved to GF.Infra.Ident. The function

	prefixIdent :: String -> Ident -> Ident

allowed one additional import of ByteString to be eliminated. The functions

	isArgIdent :: Ident -> Bool
	getArgIndex :: Ident -> Maybe Int

were needed to eliminate explicit pattern matching on Ident from two modules.
2013-09-19 18:23:47 +00:00
kr.angelov
288bcafb79 nonExist now does the expected thing 2013-08-23 13:17:45 +00:00
aarne
a777481313 the Predef function eqVal to compare equality of parameter values 2012-02-24 10:00:27 +00:00
aarne
7d3949a270 Predef functions toUpper, toLower, isUpper 2011-06-02 16:10:46 +00:00
krasimir
e92151caf8 redesign the open-literals API 2010-07-01 08:51:59 +00:00
krasimir
2069d9c9eb Yay!! Direct generation of PMCFG from GF grammar 2010-06-18 12:55:58 +00:00
krasimir
b9b19b6334 rename GF.Grammar.Predef.isPredefCat to isLiteralCat 2010-06-17 15:08:12 +00:00
krasimir
c92f9d1c0c reorganize the directories under src, and rescue the JavaScript interpreter from deprecated 2009-12-13 18:50:29 +00:00