module Execute where
import Graphics.UI.Gtk
import System.Process
import System.Exit
-- Compiles the open file
compile :: String -- Input filepath
-> String -- output filepath
-> IO (ExitCode,String,String)
compile input output = readProcessWithExitCode "dist/build/RailCompiler/RailCompiler"
["-c","-i",input,"-o",output] ""
--linkes copmiled railcode with llvm
linkLlvm :: String --Compiled code
-> String -- executable path
-> IO (ExitCode,String,String)
linkLlvm compiledCode exe =
--src/RailCompiler/*.ll dose not work.
readProcessWithExitCode "llvm-link" [compiledCode,"src/RailCompiler/cmp.ll",
"src/RailCompiler/linked_stack.ll","src/RailCompiler/math.ll",
"src/RailCompiler/list.ll","src/RailCompiler/stack.ll",
"src/RailCompiler/string.ll","-o",exe] ""
--executes the executable
executeRail :: String
-> String
-> IO (ExitCode,String,String)
executeRail exeName =
readProcessWithExitCode "lli" [exeName]