1
0
forked from GitHub/gf-core

new option pg -funs

This commit is contained in:
aarne
2010-04-28 19:09:59 +00:00
parent f3bee9fd36
commit 3074c38b9a

View File

@@ -510,8 +510,12 @@ allCommands env@(pgf, mos) = Map.fromList [
options = [
("cats", "show just the names of abstract syntax categories"),
("fullform", "print the fullform lexicon"),
("funs", "show just the names and types of abstract syntax functions"),
("missing","show just the names of functions that have no linearization"),
("words", "print the list of words")
],
examples = [
("pg -funs | ? grep \" S ;\" -- show functions with value cat S")
]
}),
("ph", emptyCommandInfo {
@@ -998,6 +1002,7 @@ allCommands env@(pgf, mos) = Map.fromList [
prGrammar opts
| isOpt "cats" opts = return $ fromString $ unwords $ map showCId $ categories pgf
| isOpt "funs" opts = return $ fromString $ unlines $ map showFun $ funsigs pgf
| isOpt "fullform" opts = return $ fromString $ concatMap (morpho "" prFullFormLexicon) $ optLangs opts
| isOpt "missing" opts = return $ fromString $ unlines $ [unwords (showCId la:":": map showCId cs) |
la <- optLangs opts, let cs = missingLins pgf la]
@@ -1005,6 +1010,9 @@ allCommands env@(pgf, mos) = Map.fromList [
| otherwise = do fmt <- readOutputFormat (valStrOpts "printer" "pgf_pretty" opts)
return $ fromString $ concatMap snd $ exportPGF noOptions fmt pgf
funsigs pgf = [(f,ty) | (f,(ty,_,_)) <- Map.assocs (funs (abstract pgf))]
showFun (f,ty) = showCId f ++ " : " ++ showType [] ty ++ " ;"
morphos opts s =
[(s,morpho [] (\mo -> lookupMorpho mo s) la) | la <- optLangs opts]