summaryrefslogtreecommitdiff
path: root/src/GF/UseGrammar/Parsing.hs
diff options
context:
space:
mode:
authorpeb <unknown>2005-04-11 12:57:45 +0000
committerpeb <unknown>2005-04-11 12:57:45 +0000
commitac00f77dadd4d447803dd7cab5a36f47365325d0 (patch)
tree2fd02b19234f8d1fcc20ee67a2367d4d4eebfcd8 /src/GF/UseGrammar/Parsing.hs
parentf6273f7033b85eea9a8d0cc7d31e9697ba95d5b7 (diff)
"Committed_by_peb"
Diffstat (limited to 'src/GF/UseGrammar/Parsing.hs')
-rw-r--r--src/GF/UseGrammar/Parsing.hs22
1 files changed, 16 insertions, 6 deletions
diff --git a/src/GF/UseGrammar/Parsing.hs b/src/GF/UseGrammar/Parsing.hs
index 5c24e4566..ae890b757 100644
--- a/src/GF/UseGrammar/Parsing.hs
+++ b/src/GF/UseGrammar/Parsing.hs
@@ -5,9 +5,9 @@
-- Stability : (stable)
-- Portability : (portable)
--
--- > CVS $Date: 2005/03/21 13:54:45 $
+-- > CVS $Date: 2005/04/11 13:53:39 $
-- > CVS $Author: peb $
--- > CVS $Revision: 1.15 $
+-- > CVS $Revision: 1.16 $
--
-- (Description of the module)
-----------------------------------------------------------------------------
@@ -35,7 +35,8 @@ import Custom
import ShellState
import PPrCF (prCFTree)
-import qualified GF.Parsing.ParseGFC as N
+import qualified GF.OldParsing.ParseGFC as NewOld
+import qualified GF.NewParsing.GFC as New
import Operations
@@ -56,12 +57,20 @@ parseStringC :: Options -> StateGrammar -> CFCat -> String -> Check [Tree]
parseStringC opts0 sg cat s
---- to test peb's new parser 6/10/2003
+---- (to be obsoleted by "newer" below
| oElem newParser opts0 = do
let pm = maybe "" id $ getOptVal opts0 useParser -- -parser=pm
- gr = stateGrammarST sg
ct = cfCat2Cat cat
- ts <- checkErr $ N.newParser pm sg ct s -- peb 27/5-04 (changed gr -> sg)
- mapM (checkErr . (annotate gr)) ts
+ ts <- checkErr $ NewOld.newParser pm sg ct s
+ mapM (checkErr . annotate (stateGrammarST sg)) ts
+
+---- to test peb's newer parser 7/4-05
+ | oElem newerParser opts0 = do
+ let opts = unionOptions opts0 $ stateOptions sg
+ pm = maybe "" id $ getOptVal opts0 useParser -- -parser=pm
+ tok = customOrDefault opts useTokenizer customTokenizer sg
+ ts <- return $ New.parse pm (pInfo sg) (absId sg) cat (tok s)
+ mapM (checkErr . annotate (stateGrammarST sg)) ts
| otherwise = do
let opts = unionOptions opts0 $ stateOptions sg
@@ -72,6 +81,7 @@ parseStringC opts0 sg cat s
parser = customOrDefault opts useParser customParser sg cat
tokens2trms opts sg cn parser (tok s)
+
tokens2trms :: Options ->StateGrammar ->Ident -> CFParser -> [CFTok] -> Check [Tree]
tokens2trms opts sg cn parser toks = trees2trms opts sg cn toks trees info
where result = parser toks