Mercurial > repos > rhope
diff compile_old_c.rhope @ 114:25a205094f9b
More performance optimizations
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Wed, 13 Oct 2010 01:15:04 +0000 |
parents | |
children | 18a4403fe576 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/compile_old_c.rhope Wed Oct 13 01:15:04 2010 +0000 @@ -0,0 +1,30 @@ + +Import parser_old_c.rhope + +Main[args] +{ + fname <- [args]Index[1] + { + file <- [File[~]]Open["r"] + text <- String[[file]Read[[file]Length]] + params <- Parser[] + Print[["Parsing "]Append[fname]] + Null[text, params, Parse Program[], 0] + { + Print["Parsing imports"] + Process Imports[~, params] + { + tree <- [~]Workers << [ Map[[~]Workers >>, Check Worker Literals[?, ~]] ] + { Print["Compiling"] } + } + compiled <- [Tree to Program Native[tree]]Compile Program[C Program[]] + { Print["Compiled program to backend"] } + outfile <- [File[ [fname]Append[".c"] ]]Truncate + [[compiled]Text]Write to File[outfile] + { Print[["Wrote output to "]Append[ [fname]Append[".c"] ]] } + } + }{ + Print["You must provide a file name to compile"] + } +} +