diff options
| author | kr.angelov <kr.angelov@gmail.com> | 2007-09-24 08:56:37 +0000 |
|---|---|---|
| committer | kr.angelov <kr.angelov@gmail.com> | 2007-09-24 08:56:37 +0000 |
| commit | b10916944148f409a68f6eac13d9b4db49d6382f (patch) | |
| tree | 8adbc8a081dca5c21f68faa17d2a4a75f773d6e8 /src/GF/Parsing/FCFG/Active.hs | |
| parent | 36e091d0a1339ab363be2ad9d27608020636e569 (diff) | |
move the FCFG lexer to FCFG.Active where it should have been. It was a hack anyway
Diffstat (limited to 'src/GF/Parsing/FCFG/Active.hs')
| -rw-r--r-- | src/GF/Parsing/FCFG/Active.hs | 10 |
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 -- |
