diff options
Diffstat (limited to 'formal/promela/src/src/modules/comment_filter/comment_filter/language.py')
-rw-r--r-- | formal/promela/src/src/modules/comment_filter/comment_filter/language.py | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/formal/promela/src/src/modules/comment_filter/comment_filter/language.py b/formal/promela/src/src/modules/comment_filter/comment_filter/language.py new file mode 100644 index 00000000..a934810e --- /dev/null +++ b/formal/promela/src/src/modules/comment_filter/comment_filter/language.py @@ -0,0 +1,60 @@ +class Lang: + def __init__(self, line_comment, comment_bookends, nested_comments): + self.line_comment = line_comment + self.comment_bookends = comment_bookends + self.nested_comments = nested_comments + self.string_literal_start = '"' + self.string_literal2_start = "'" + +c = Lang( + line_comment='//', + comment_bookends=[('/*', '*/'), (';;', ';;')], + nested_comments=False) + +haskell = Lang( + line_comment='--', + comment_bookends=[('{-', '-}')], + nested_comments=True) + +python = Lang( + line_comment='#', + comment_bookends=[('"""', '"""'), ("'''", "'''")], + nested_comments=False) + +ruby = Lang( + line_comment='#', + comment_bookends=[("=begin", "=end")], + nested_comments=False) + +lua = Lang( + line_comment='--', + comment_bookends=[("--[[", "--]]")], + nested_comments=False) + +perl = Lang( + line_comment='#', + comment_bookends=[("=pod", "=cut")], + nested_comments=False) + +java = Lang( + line_comment='//', + comment_bookends=[('/*', '*/')], + nested_comments=True) + +go = c + +extension_to_lang_map = { + '.c': c, + '.cc': c, + '.cxx': c, + '.cpp': c, + '.h': c, + '.S': c, + '.java': java, + '.go': go, + '.hs': haskell, + '.py': python, + '.rb': ruby, + '.lua': lua, + '.pl': perl, +} |