program is runnable again, File doesn't backtrack out of import anymore
This commit is contained in:
parent
6990c3f759
commit
ac0e697622
5 changed files with 78 additions and 14 deletions
26
app/Main.hs
26
app/Main.hs
|
@ -1,10 +1,32 @@
|
|||
module Main (main) where
|
||||
module Main
|
||||
( main
|
||||
) where
|
||||
|
||||
import System.Directory as Directory
|
||||
import qualified Control.Monad.Trans.Reader as Reader
|
||||
|
||||
import qualified Data.Set as Set
|
||||
|
||||
import qualified Text.Parsec as Parsec
|
||||
|
||||
import qualified Path as Path
|
||||
|
||||
import Ubc.Parse.Syntax.Config (Config(..))
|
||||
|
||||
import qualified Ubc.Parse.Syntax.File as File
|
||||
|
||||
minimalConfig :: IO Config
|
||||
minimalConfig = do
|
||||
workingDir <- Directory.getCurrentDirectory >>= Path.parseAbsDir
|
||||
pure $ Config (Set.singleton workingDir)
|
||||
|
||||
main :: IO ()
|
||||
main = do
|
||||
text <- getContents
|
||||
-- fixme: handle errors?
|
||||
|
||||
print $ Parsec.parse (File.parse "<stdin>" <* Parsec.eof) "<stdin>" text
|
||||
parseConfig <- minimalConfig
|
||||
|
||||
result <- Reader.runReaderT (Parsec.runPT (File.parse <* Parsec.eof) () "<stdin>" text) parseConfig
|
||||
print $ result
|
||||
-- print $ Parsec.parse (File.parse <* Parsec.eof) "<stdin>" text
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue