mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-08 02:32:50 -06:00
Added support for cf and ebnf formats
This commit is contained in:
29
src/GF/Infra/Comments.hs
Normal file
29
src/GF/Infra/Comments.hs
Normal file
@@ -0,0 +1,29 @@
|
||||
module Comments where
|
||||
|
||||
-- comment removal : line tails prefixed by -- as well as chunks in {- ... -}
|
||||
|
||||
remComments :: String -> String
|
||||
remComments s =
|
||||
case s of
|
||||
'"':s2 -> '"':pass remComments s2 -- comment marks in quotes not removed!
|
||||
'{':'-':cs -> readNested cs
|
||||
'-':'-':cs -> readTail cs
|
||||
c:cs -> c : remComments cs
|
||||
[] -> []
|
||||
where
|
||||
readNested t =
|
||||
case t of
|
||||
'"':s2 -> '"':pass readNested s2
|
||||
'-':'}':cs -> remComments cs
|
||||
_:cs -> readNested cs
|
||||
[] -> []
|
||||
readTail t =
|
||||
case t of
|
||||
'\n':cs -> '\n':remComments cs
|
||||
_:cs -> readTail cs
|
||||
[] -> []
|
||||
pass f t =
|
||||
case t of
|
||||
'"':s2 -> '"': f s2
|
||||
c:s2 -> c:pass f s2
|
||||
_ -> t
|
||||
Reference in New Issue
Block a user