hjs-0.2: src/HJS/Parser/Utils.hs
module HJS.Parser.Utils where
processComments str = processComments' str 0
processComments' str flg = case str of
('/':'/':rs) -> let flg' = if flg == 0 then 1 else flg in (' ':' ':processComments' rs flg')
('/':'*':rs) -> (' ':' ':processComments' rs 2)
('*':'/':rs) -> (' ':' ':processComments' rs 0)
('\n':rs) -> let flg' = if flg == 1 then 0 else flg
in ('\n':processComments' rs flg')
(c:cs) -> if flg /= 0 then (' ':processComments' cs flg) else (c:processComments' cs flg)
[] -> []
doit = do
s <- readFile "c:/Mark/MyDevelopments/haskell/HJS/hjs-0.2/testsuite/parsingonly/5_comments.js"
putStrLn $ processComments s