forked from GitHub/gf-core
"Committed_by_peb"
This commit is contained in:
@@ -4,9 +4,9 @@
|
|||||||
-- Stability : (stable)
|
-- Stability : (stable)
|
||||||
-- Portability : (portable)
|
-- Portability : (portable)
|
||||||
--
|
--
|
||||||
-- > CVS $Date: 2005/05/13 12:40:19 $
|
-- > CVS $Date: 2005/08/17 08:27:29 $
|
||||||
-- > CVS $Author: peb $
|
-- > CVS $Author: peb $
|
||||||
-- > CVS $Revision: 1.6 $
|
-- > CVS $Revision: 1.7 $
|
||||||
--
|
--
|
||||||
-- Converting SimpleGFC grammars to MCFG grammars, nondeterministically.
|
-- Converting SimpleGFC grammars to MCFG grammars, nondeterministically.
|
||||||
-- Afterwards, the grammar has to be extended with coercion functions,
|
-- Afterwards, the grammar has to be extended with coercion functions,
|
||||||
@@ -48,7 +48,7 @@ type LinRec = [Lin SCat MLabel Token]
|
|||||||
-- main conversion function
|
-- main conversion function
|
||||||
|
|
||||||
maxNrRules :: Int
|
maxNrRules :: Int
|
||||||
maxNrRules = 1000
|
maxNrRules = 5000
|
||||||
|
|
||||||
convertGrammar :: SGrammar -> EGrammar
|
convertGrammar :: SGrammar -> EGrammar
|
||||||
convertGrammar rules = traceCalcFirst rules' $
|
convertGrammar rules = traceCalcFirst rules' $
|
||||||
@@ -196,6 +196,8 @@ pat =?= Arg nr _ path = updateArg nr (path, pat)
|
|||||||
Rec precord =?= Rec record = sequence_ [ maybe mzero (pat =?=) mterm |
|
Rec precord =?= Rec record = sequence_ [ maybe mzero (pat =?=) mterm |
|
||||||
(lbl, pat) <- precord,
|
(lbl, pat) <- precord,
|
||||||
let mterm = lookup lbl record ]
|
let mterm = lookup lbl record ]
|
||||||
|
-- variants are not allowed in patterns, but in selection terms:
|
||||||
|
term =?= Variants terms = member terms >>= (term =?=)
|
||||||
pat =?= term = error $ "(=?=): " ++ prt pat ++ " =?= " ++ prt term
|
pat =?= term = error $ "(=?=): " ++ prt pat ++ " =?= " ++ prt term
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user