module Language.BASIC(module Language.BASIC.Parser, module Language.BASIC.Types, runBASIC, runBASIC') where
import System.TimeIt
import Language.BASIC.Parser hiding (Expr)
import Language.BASIC.Types(Expr(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,
SIN, COS, TAN, ATN, EXP, LOG, SQR, ABS, RND, INT, SGN))
import Language.BASIC.Interp
import Language.BASIC.Translate
runBASIC :: BASIC -> IO ()
runBASIC x = do
let cmds = getBASIC x
timeIt $ executeBASIC cmds
runBASIC' :: BASIC -> IO ()
runBASIC' x = do
let cmds = getBASIC x
func <- translateBASIC cmds
timeIt func