diff options
| author | aarne <aarne@cs.chalmers.se> | 2006-03-04 22:14:33 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2006-03-04 22:14:33 +0000 |
| commit | 2657c51e040964d9704f5c69945685ebd546eb6a (patch) | |
| tree | bab26adf8f85c253c50b90ac9cde36d58efa42bd /src/GF/Source | |
| parent | 84e01c303dc161c3a811a045cc0c45f3f13e33d6 (diff) | |
example based also with treebank, with real term parser
Diffstat (limited to 'src/GF/Source')
| -rw-r--r-- | src/GF/Source/GrammarToSource.hs | 5 | ||||
| -rw-r--r-- | src/GF/Source/SourceToGrammar.hs | 1 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/GF/Source/GrammarToSource.hs b/src/GF/Source/GrammarToSource.hs index 526a29f4c..38c658dc4 100644 --- a/src/GF/Source/GrammarToSource.hs +++ b/src/GF/Source/GrammarToSource.hs @@ -35,7 +35,9 @@ trGrammar (MGrammar ms) = P.Gr (map trModule ms) -- no includes trModule :: (Ident,SourceModInfo) -> P.ModDef trModule (i,mo) = case mo of ModMod m -> P.MModule compl typ body where - compl = P.CMCompl -- always complete module + compl = case mstatus m of + MSIncomplete -> P.CMIncompl + _ -> P.CMCompl i' = tri i typ = case typeOfModule mo of MTResource -> P.MTResource i' @@ -140,6 +142,7 @@ trt trm = case trm of Prod x a b | isWildIdent x -> P.EProd (P.DExp (trt a)) (trt b) Prod x a b -> P.EProd (P.DDec [trb x] (trt a)) (trt b) + Example t s -> P.EExample (trt t) s R [] -> P.ETuple [] --- to get correct parsing when read back R r -> P.ERecord $ map trAssign r RecType r -> P.ERecord $ map trLabelling r diff --git a/src/GF/Source/SourceToGrammar.hs b/src/GF/Source/SourceToGrammar.hs index ffba51d6e..4aa5b55a6 100644 --- a/src/GF/Source/SourceToGrammar.hs +++ b/src/GF/Source/SourceToGrammar.hs @@ -437,6 +437,7 @@ transExp x = case x of EExtend exp0 exp -> liftM2 G.ExtR (transExp exp0) (transExp exp) EAbstr binds exp -> liftM2 M.mkAbs (mapM transBind binds) (transExp exp) ETyped exp0 exp -> liftM2 G.Typed (transExp exp0) (transExp exp) + EExample exp str -> liftM2 G.Example (transExp exp) (return str) EProd decl exp -> liftM2 M.mkProdSimple (transDecl decl) (transExp exp) ETType exp0 exp -> liftM2 G.Table (transExp exp0) (transExp exp) |
