@@ -80,10 +80,13 @@ data JS = JSRaw String
80 | JSTernary JS JS JS
80 | JSTernary JS JS JS
81 | JSParens JS
81 | JSParens JS
82 | JSWhile JS JS
82 | JSWhile JS JS
83 deriving Eq
84 deriving Eq
86compileJS :: JS -> String
87compileJS :: JS -> String
87compileJS (JSRaw code) =
90compileJS (JSRaw code) =
@@ -938,6 +941,7 @@ unfoldLookupTable input =
938 | fun == lt = (js, front ++ back)
941 | fun == lt = (js, front ++ back)
940 extractLT' (front, js:back) = extractLT' (front ++ [js], back)
943 extractLT' (front, js:back) = extractLT' (front ++ [js], back)
944+ extractLT' (front, back) = (JSNoop, front ++ back)
943 expandLT :: String -> JS -> [(Int, JS)]
947 expandLT :: String -> JS -> [(Int, JS)]
@@ -951,6 +955,8 @@ unfoldLookupTable input =
952 expandEntry js = Nothing
956 expandEntry js = Nothing
958+ expandLT lt JSNoop = []
955removeInstanceChecks :: JS -> JS
961removeInstanceChecks :: JS -> JS
956removeInstanceChecks (JSCond conds) =
962removeInstanceChecks (JSCond conds) =