X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=contrib%2Ff0%2FMain.lhs;fp=contrib%2Ff0%2FMain.lhs;h=f81a0b97c94a563ab60bec1b3cd2fa34cb23d5e2;hb=aaa63d9cb5260e96688dbd13a8e82ac0e7322321;hp=0000000000000000000000000000000000000000;hpb=6eab8b46994634a075239290216610edbf420bd6;p=fleet.git diff --git a/contrib/f0/Main.lhs b/contrib/f0/Main.lhs new file mode 100644 index 0000000..f81a0b9 --- /dev/null +++ b/contrib/f0/Main.lhs @@ -0,0 +1,36 @@ +\begin{code} + +{- + next step: + + - Transform code involving standing moves into two sequential + blocks: setup and teardown. Then establish proper sequencing + between them. The teardown block consists only of kills. + + - Implement sequencing. +-} + +module Main +where +import SBP +import Types +import Util +import Fleet +import Compile + +main = do t <- parseFile "src/edu/berkeley/fleet/f0/f0.g" "contrib/demo.f0" + putStrLn "" + putStrLn $ show $ coalesceFlatHeadlessNodes t + putStrLn "" + putStrLn $ join "\n\n" $ map show $ ((fromTree $ coalesceFlatHeadlessNodes t) :: [Def]) + putStrLn "" + compiled <- return $ join "\n\n" $ map compileDef $ ((fromTree $ coalesceFlatHeadlessNodes t) :: [Def]) + putStrLn $ compiled + writeFile "compiled.fleet" ("// compiled with f0\n\n"++compiled++"\n") + putStrLn "" + +\end{code} + + + +