mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-25 10:48:54 -06:00
type check cc command
This commit is contained in:
@@ -44,6 +44,7 @@ def
|
|||||||
(LtNat one n)
|
(LtNat one n)
|
||||||
(Univ Nat (\x -> Impl (Conj (LtNat one x) (Div n x)) (EqNat x n))) ;
|
(Univ Nat (\x -> Impl (Conj (LtNat one x) (Div n x)) (EqNat x n))) ;
|
||||||
|
|
||||||
|
Abs = Abs ;
|
||||||
--- data Elem = zero | succ ;
|
--- data Elem = zero | succ ;
|
||||||
|
|
||||||
fun ex1 : Text ;
|
fun ex1 : Text ;
|
||||||
|
|||||||
@@ -65,6 +65,13 @@ checkModule ms (name,mod) = checkIn ("checking module" +++ prt name) $ case mod
|
|||||||
where
|
where
|
||||||
gr = MGrammar $ (name,mod):ms
|
gr = MGrammar $ (name,mod):ms
|
||||||
|
|
||||||
|
-- check if a term is typable
|
||||||
|
|
||||||
|
justCheckLTerm :: SourceGrammar -> Term -> Err Term
|
||||||
|
justCheckLTerm src t = do
|
||||||
|
((t',_),_) <- checkStart (inferLType src t)
|
||||||
|
return t'
|
||||||
|
|
||||||
checkAbsInfo :: SourceGrammar -> Ident -> (Ident,Info) -> Check (Ident,Info)
|
checkAbsInfo :: SourceGrammar -> Ident -> (Ident,Info) -> Check (Ident,Info)
|
||||||
checkAbsInfo st m (c,info) = do
|
checkAbsInfo st m (c,info) = do
|
||||||
---- checkReservedId c
|
---- checkReservedId c
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import Str
|
|||||||
import qualified Grammar as G
|
import qualified Grammar as G
|
||||||
import qualified Ident as I
|
import qualified Ident as I
|
||||||
import qualified Compute as Co
|
import qualified Compute as Co
|
||||||
|
import qualified CheckGrammar as Ch
|
||||||
import qualified Lookup as L
|
import qualified Lookup as L
|
||||||
import qualified GFC
|
import qualified GFC
|
||||||
import qualified Look
|
import qualified Look
|
||||||
@@ -169,7 +170,9 @@ execC co@(comm, opts0) sa@((st,(h,_)),a) = checkOptions st co >> case comm of
|
|||||||
maybe (resourceOfShellState st) (return . I.identC) $ -- topmost res
|
maybe (resourceOfShellState st) (return . I.identC) $ -- topmost res
|
||||||
getOptVal opts useResource -- flag -res=m
|
getOptVal opts useResource -- flag -res=m
|
||||||
justOutput (putStrLn (err id (prt . stripTerm) (
|
justOutput (putStrLn (err id (prt . stripTerm) (
|
||||||
string2srcTerm src m t >>= Co.computeConcrete src))) sa
|
string2srcTerm src m t >>=
|
||||||
|
Ch.justCheckLTerm src >>=
|
||||||
|
Co.computeConcrete src))) sa
|
||||||
CShowOpers t -> do
|
CShowOpers t -> do
|
||||||
m <- return $
|
m <- return $
|
||||||
maybe (I.identC "?") id $ -- meaningful if no opers in t
|
maybe (I.identC "?") id $ -- meaningful if no opers in t
|
||||||
|
|||||||
Reference in New Issue
Block a user