summaryrefslogtreecommitdiff
path: root/src/GF/Devel/TestGF3.hs
blob: d8aad44d13b39c23a6ca7b88a4ced351fe97ac5b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
module Main where

import GF.Devel.Grammar.LexGF
import GF.Devel.Grammar.ParGF
---- import GF.Devel.Grammar.PrintGF
import GF.Devel.Grammar.Modules

import GF.Devel.Grammar.SourceToGF

import qualified GF.Devel.Grammar.ErrM as GErr ----
import GF.Data.Operations

import Data.Map
import System (getArgs)

main = do
  f:_ <- getArgs
  s   <- readFile f
  let tt = myLexer s
  case pGrammar tt of
    GErr.Bad s -> putStrLn s
    GErr.Ok g -> compile g

compile g = do
  let eg = transGrammar g
  case eg of
    Ok gr -> print (length (assocs (gfmodules gr))) >> putStrLn "OK"
    Bad s -> putStrLn s
  return ()