packages feed

HXQ-0.6: Main.hs

{--------------------------------------------------------------
-
- The main program of the XQuery interpreter
- Programmer: Leonidas Fegaras (fegaras@cse.uta.edu)
- Date: 03/30/2008
-
---------------------------------------------------------------}

{-# OPTIONS_GHC -fth #-}

module Main where

import System.Environment
import XQueryCompiler(functions)
import XQuery


main = do env <- getArgs
          putStrLn "HXQ: XQuery Interpreter version 0.6"
          if (length env) == 1 && (head env) == "-help"
             then putStrLn ("Functions:  "++(foldr (\(f,_,_) r -> f++" "++r) "" functions))
             else do result <- if (length env) == 1
                               then xfile (head env)
                               else do let readl x = do t <- getLine
                                                        if null t then return x else readl (x++" "++t)
                                       putStrLn "Write an XQuery (finish the query with an empty line)"
                                       query <- readl ""
                                       xquery query
                     putStrLn (show result)