summaryrefslogtreecommitdiff
path: root/src/GF/Parsing/FCFG/Active.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/GF/Parsing/FCFG/Active.hs')
-rw-r--r--src/GF/Parsing/FCFG/Active.hs10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/GF/Parsing/FCFG/Active.hs b/src/GF/Parsing/FCFG/Active.hs
index fbbf3736d..a7a2e7263 100644
--- a/src/GF/Parsing/FCFG/Active.hs
+++ b/src/GF/Parsing/FCFG/Active.hs
@@ -148,7 +148,15 @@ xchart2syntaxchart (XChart actives finals) pinfo =
literals :: FCFPInfo -> Input FToken -> [(FCat,Item)]
literals pinfo toks =
- [let (c,node) = grammarLexer pinfo t in (c,Final [makeRange i j] node) | Edge i j t <- inputEdges toks, not (t `elem` grammarToks pinfo)]
+ [let (c,node) = lexer t in (c,Final [makeRange i j] node) | Edge i j t <- inputEdges toks, not (t `elem` grammarToks pinfo)]
+ where
+ lexer t =
+ case reads t of
+ [(n,"")] -> (fcatInt, SInt (n::Integer))
+ _ -> case reads t of
+ [(f,"")] -> (fcatFloat, SFloat (f::Double))
+ _ -> (fcatString,SString t)
+
----------------------------------------------------------------------
-- Earley --