mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-22 17:42:51 -06:00
ditt o datt
This commit is contained in:
@@ -30,12 +30,12 @@ prCFFun :: CFFun -> String
|
|||||||
prCFFun = prCFFun' True ---- False -- print profiles for debug
|
prCFFun = prCFFun' True ---- False -- print profiles for debug
|
||||||
|
|
||||||
prCFFun' :: Bool -> CFFun -> String
|
prCFFun' :: Bool -> CFFun -> String
|
||||||
prCFFun' profs (CFFun (t, p)) = prt t ++ pp p where
|
prCFFun' profs (CFFun (t, p)) = prt_ t ++ pp p where
|
||||||
pp p = if (not profs || normal p) then "" else "_" ++ concat (map show p)
|
pp p = if (not profs || normal p) then "" else "_" ++ concat (map show p)
|
||||||
normal p = and [x==y && null b | ((b,x),y) <- zip p (map (:[]) [0..])]
|
normal p = and [x==y && null b | ((b,x),y) <- zip p (map (:[]) [0..])]
|
||||||
|
|
||||||
prCFCat :: CFCat -> String
|
prCFCat :: CFCat -> String
|
||||||
prCFCat (CFCat (c,l)) = prt c ++ "-" ++ prt l ----
|
prCFCat (CFCat (c,l)) = prt_ c ++ "-" ++ prt_ l ----
|
||||||
|
|
||||||
prCFItem (CFNonterm c) = prCFCat c
|
prCFItem (CFNonterm c) = prCFCat c
|
||||||
prCFItem (CFTerm a) = prRegExp a
|
prCFItem (CFTerm a) = prRegExp a
|
||||||
|
|||||||
@@ -56,6 +56,8 @@ stripTerm t = case t of
|
|||||||
TComp ty -> TComp $ stripTerm ty
|
TComp ty -> TComp $ stripTerm ty
|
||||||
TWild ty -> TWild $ stripTerm ty
|
TWild ty -> TWild $ stripTerm ty
|
||||||
_ -> ti
|
_ -> ti
|
||||||
|
R [] -> EInt 8 --- GF 1.2 parser doesn't accept empty records
|
||||||
|
RecType [] -> Cn "Int" ---
|
||||||
_ -> composSafeOp stripTerm t
|
_ -> composSafeOp stripTerm t
|
||||||
|
|
||||||
stripPattern p = case p of
|
stripPattern p = case p of
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ instance Print Char where
|
|||||||
prtList s = ["\"" ++ concatMap mkEsc s ++ "\""]
|
prtList s = ["\"" ++ concatMap mkEsc s ++ "\""]
|
||||||
|
|
||||||
mkEsc s = case s of
|
mkEsc s = case s of
|
||||||
_ | elem s "\\\"'" -> '\\':[s]
|
_ | elem s "\\\"" -> '\\':[s]
|
||||||
'\n' -> "\\n"
|
'\n' -> "\\n"
|
||||||
'\t' -> "\\t"
|
'\t' -> "\\t"
|
||||||
_ -> [s]
|
_ -> [s]
|
||||||
|
|||||||
@@ -191,7 +191,9 @@ customTermCommand =
|
|||||||
(exp2termCommand gr (computeAbsTerm gr) t))
|
(exp2termCommand gr (computeAbsTerm gr) t))
|
||||||
,(strCI "paraphrase", \g t -> let gr = grammar g in
|
,(strCI "paraphrase", \g t -> let gr = grammar g in
|
||||||
exp2termlistCommand gr (mkParaphrases gr) t)
|
exp2termlistCommand gr (mkParaphrases gr) t)
|
||||||
---- ,(strCI "typecheck", \g t -> err (const []) return (checkIfValidExp g t))
|
,(strCI "typecheck", \g t -> let gr = grammar g in
|
||||||
|
err (const []) (return . const t)
|
||||||
|
(checkIfValidExp gr (tree2exp t)))
|
||||||
,(strCI "solve", \g t -> err (const [t]) (return . loc2tree)
|
,(strCI "solve", \g t -> err (const [t]) (return . loc2tree)
|
||||||
(uniqueRefinements (grammar g) (tree2loc t)))
|
(uniqueRefinements (grammar g) (tree2loc t)))
|
||||||
,(strCI "context", \g t -> err (const [t]) (return . loc2tree)
|
,(strCI "context", \g t -> err (const [t]) (return . loc2tree)
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
module Today where today = "Mon Apr 19 17:59:02 CEST 2004"
|
module Today where today = "Wed Apr 21 17:20:17 CEST 2004"
|
||||||
|
|||||||
Reference in New Issue
Block a user