forked from GitHub/gf-core
Working with interfaces.
Working with interfaces. Created new place for grammar parsers. Created new script jgf2+.
This commit is contained in:
@@ -409,8 +409,9 @@ displaySStateIn env state = (tree',msg,menu) where
|
||||
linAll = map lin grs
|
||||
separ = singleton . map unlines . intersperse [replicate 72 '*']
|
||||
|
||||
displaySStateJavaX :: CEnv -> SState -> String
|
||||
displaySStateJavaX env state = unlines $ tagXML "gfedit" $ concat [
|
||||
---- the Boolean is a temporary hack to have two parallel GUIs
|
||||
displaySStateJavaX :: Bool -> CEnv -> SState -> String
|
||||
displaySStateJavaX isNew env state = unlines $ tagXML "gfedit" $ concat [
|
||||
tagXML "linearizations" (concat
|
||||
[tagAttrXML "lin" ("lang", prLanguage lang) ss | (lang,ss) <- lins]),
|
||||
tagXML "tree" tree,
|
||||
@@ -431,7 +432,7 @@ displaySStateJavaX env state = unlines $ tagXML "gfedit" $ concat [
|
||||
zipper = stateSState state
|
||||
linAll = map lin lgrs
|
||||
gr = firstStateGrammar env
|
||||
mark = markOptXML -- markOptJava
|
||||
mark = if isNew then markOptXML else markOptJava
|
||||
|
||||
langAbstract = language "Abstract"
|
||||
langXML = language "XML"
|
||||
|
||||
@@ -16,34 +16,34 @@ import UTF8
|
||||
|
||||
-- GF editing session controlled by e.g. a Java program. AR 16/11/2001
|
||||
|
||||
sessionLineJ :: ShellState -> IO ()
|
||||
sessionLineJ env = do
|
||||
---- the Boolean is a temporary hack to have two parallel GUIs
|
||||
sessionLineJ :: Bool -> ShellState -> IO ()
|
||||
sessionLineJ isNew env = do
|
||||
putStrLnFlush $ initEditMsgJavaX env
|
||||
let env' = addGlobalOptions (options [sizeDisplay "short"]) env
|
||||
editLoopJ env' (initSState)
|
||||
|
||||
editLoopJ :: CEnv -> SState -> IO ()
|
||||
editLoopJ = editLoopJnewX
|
||||
editLoopJnewX isNew env' (initSState)
|
||||
|
||||
-- this is the real version, with XML
|
||||
|
||||
editLoopJnewX :: CEnv -> SState -> IO ()
|
||||
editLoopJnewX env state = do
|
||||
---- the Boolean is a temporary hack to have two parallel GUIs
|
||||
editLoopJnewX :: Bool -> CEnv -> SState -> IO ()
|
||||
editLoopJnewX isNew env state = do
|
||||
c <- getCommandUTF
|
||||
case c of
|
||||
CQuit -> return ()
|
||||
|
||||
c -> do
|
||||
(env',state') <- execCommand env c state
|
||||
let inits = initAndEditMsgJavaX isNew env' state'
|
||||
let package = case c of
|
||||
CCEnvImport _ -> initAndEditMsgJavaX env' state'
|
||||
CCEnvEmptyAndImport _ -> initAndEditMsgJavaX env' state'
|
||||
CCEnvOpenTerm _ -> initAndEditMsgJavaX env' state'
|
||||
CCEnvOpenString _ -> initAndEditMsgJavaX env' state'
|
||||
CCEnvImport _ -> inits
|
||||
CCEnvEmptyAndImport _ -> inits
|
||||
CCEnvOpenTerm _ -> inits
|
||||
CCEnvOpenString _ -> inits
|
||||
CCEnvEmpty -> initEditMsgJavaX env'
|
||||
_ -> displaySStateJavaX env' state'
|
||||
_ -> displaySStateJavaX isNew env' state'
|
||||
putStrLnFlush package
|
||||
editLoopJnewX env' state'
|
||||
editLoopJnewX isNew env' state'
|
||||
|
||||
welcome =
|
||||
"An experimental GF Editor for Java." ++
|
||||
@@ -56,5 +56,5 @@ initEditMsgJavaX env = encodeUTF8 $ unlines $ tagXML "gfinit" $
|
||||
concat [tagAttrXML "language" ("file",file) [prLanguage lang] |
|
||||
(file,lang) <- zip (allGrammarFileNames env) (allLanguages env)]
|
||||
|
||||
initAndEditMsgJavaX env state =
|
||||
initEditMsgJavaX env ++++ displaySStateJavaX env state
|
||||
initAndEditMsgJavaX isNew env state =
|
||||
initEditMsgJavaX env ++++ displaySStateJavaX isNew env state
|
||||
|
||||
Reference in New Issue
Block a user