From 719fcd09ea0501d864af3afacc843186d24f6c94 Mon Sep 17 00:00:00 2001 From: aarne Date: Fri, 3 Oct 2003 13:03:15 +0000 Subject: Building interface to PL's parser. --- src/GF/Shell/Commands.hs | 43 ++++++++++++++++++++----------------------- 1 file changed, 20 insertions(+), 23 deletions(-) (limited to 'src/GF/Shell') diff --git a/src/GF/Shell/Commands.hs b/src/GF/Shell/Commands.hs index 128029668..3ba783c3b 100644 --- a/src/GF/Shell/Commands.hs +++ b/src/GF/Shell/Commands.hs @@ -3,7 +3,6 @@ module Commands where import Operations import Zipper -----import AccessGrammar (Term (Vr)) ---- import qualified Grammar as G ---- Cat import GFC import qualified AbsGFC ---- Atom @@ -235,21 +234,20 @@ execECommand env c = case c of else id) (refineByTrees der cgr ts) s - CRefineRandom -> \s -> action2commandNext (refineRandom (stdGenCEnv env s) 41 cgr) s CSelectCand i -> selectCand cgr i CTermCommand c -> case c of - "paraphrase" -> \s -> - replaceByTermCommand der gr c (actTree (stateSState s)) s + "paraphrase" -> \s -> + replaceByTermCommand der gr c (actTree (stateSState s)) s ---- "transfer" -> action2commandNext $ ---- transferSubTree (stateTransferFun sgr) gr - _ -> replaceByEditCommand gr c + _ -> replaceByEditCommand gr c ----- CAddOption o -> changeStOptions (addOption o) ----- CRemoveOption o -> changeStOptions (removeOption o) + CAddOption o -> changeStOptions (addOption o) + CRemoveOption o -> changeStOptions (removeOption o) CDelete -> action2commandNext $ deleteSubTree cgr CUndo -> undoCommand CMenu -> \s -> changeMsg (menuState env s) s @@ -342,28 +340,26 @@ allTermCommands = snd $ customInfo customEditCommand stringCommandMenu = [] displayCommandMenu :: CEnv -> [(Command,String)] -displayCommandMenu env = [] -{- ---- +displayCommandMenu env = + [(CAddOption (menuDisplay s), s) | s <- "Abs" : langs] ++ + [(CAddOption (sizeDisplay s), s) | s <- ["short", "long"]] ++ + [(CAddOption (typeDisplay s), s) | s <- ["typed", "untyped"]] + where + langs = map prLanguage $ allLanguages env -termCommandMenu = +{- ---- stringCommandMenu = (CAddOption showStruct, "structured") : (CRemoveOption showStruct, "unstructured") : [(CAddOption (filterString s), s) | s <- allStringCommands] - -displayCommandMenu env = - [(CAddOption (menuDisplay s), s) | s <- "Abs" : langs] ++ - [(CAddOption (sizeDisplay s), s) | s <- ["short", "long"]] ++ - [(CAddOption (typeDisplay s), s) | s <- ["typed", "untyped"]] - where - langs = map prLanguage $ allLanguages env +-} changeMenuLanguage, changeMenuSize, changeMenuTyped :: String -> Command changeMenuLanguage s = CAddOption (menuDisplay s) changeMenuSize s = CAddOption (sizeDisplay s) changeMenuTyped s = CAddOption (typeDisplay s) --} + menuState env = map snd . mkRefineMenu env @@ -417,7 +413,7 @@ langXML = language "XML" linearizeState :: (String -> [String]) -> Options -> GFGrammar -> State -> [String] linearizeState wrap opts gr = wrap . strop . unt . optLinearizeTreeVal opts gr . loc2treeFocus - --- markedLinString br g + where unt = id ---- customOrDefault (stateOptions g) useUntokenizer customUntokenizer g strop = id ---- maybe id ($ g) $ customAsOptVal opts filterString customStringCommand @@ -437,13 +433,14 @@ menuSState env state = [(s,c) | (_,(s,c)) <- mkRefineMenuAll env state] printname :: CEnv -> SState -> G.Fun -> String printname env state f = case getOptVal opts menuDisplay of Just "Abs" -> prQIdent f ----- Just lang -> printn lang f + Just lang -> printn lang _ -> prQIdent f where opts = addOptions (optsSState state) (globalOptions env) - printn lang = linearize gr ---- printOrLinearize (grammarOfLang env (language lang)) - gr = grammarCEnv env - + printn lang = printOrLinearize gr m f where + sgr = stateGrammarOfLang env (language lang) + gr = grammar sgr + m = cncId sgr --- XML printing; does not belong here! -- cgit v1.2.3