PyReprism 0.0.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. PyReprism/__init__.py +0 -0
  2. PyReprism/languages/__init__.py +147 -0
  3. PyReprism/languages/_base.py +30 -0
  4. PyReprism/languages/abap.py +52 -0
  5. PyReprism/languages/actionscript.py +52 -0
  6. PyReprism/languages/ada.py +53 -0
  7. PyReprism/languages/apacheconf.py +52 -0
  8. PyReprism/languages/apl.py +52 -0
  9. PyReprism/languages/applescript.py +52 -0
  10. PyReprism/languages/arduino.py +52 -0
  11. PyReprism/languages/arff.py +52 -0
  12. PyReprism/languages/asciidoc.py +52 -0
  13. PyReprism/languages/asm6502.py +51 -0
  14. PyReprism/languages/aspnet.py +51 -0
  15. PyReprism/languages/autohotkey.py +51 -0
  16. PyReprism/languages/autoit.py +50 -0
  17. PyReprism/languages/bash.py +52 -0
  18. PyReprism/languages/basic.py +52 -0
  19. PyReprism/languages/batch.py +52 -0
  20. PyReprism/languages/bison.py +52 -0
  21. PyReprism/languages/brainfuck.py +52 -0
  22. PyReprism/languages/bro.py +50 -0
  23. PyReprism/languages/c.py +52 -0
  24. PyReprism/languages/clike.py +52 -0
  25. PyReprism/languages/clojure.py +50 -0
  26. PyReprism/languages/coffeescript.py +50 -0
  27. PyReprism/languages/cpp.py +52 -0
  28. PyReprism/languages/crystal.py +50 -0
  29. PyReprism/languages/csharp.py +53 -0
  30. PyReprism/languages/csp.py +50 -0
  31. PyReprism/languages/css.py +50 -0
  32. PyReprism/languages/css_extras.py +50 -0
  33. PyReprism/languages/d.py +50 -0
  34. PyReprism/languages/dart.py +52 -0
  35. PyReprism/languages/diff.py +49 -0
  36. PyReprism/languages/django.py +55 -0
  37. PyReprism/languages/docker.py +50 -0
  38. PyReprism/languages/eiffel.py +49 -0
  39. PyReprism/languages/elixir.py +50 -0
  40. PyReprism/languages/erb.py +0 -0
  41. PyReprism/languages/erlang.py +50 -0
  42. PyReprism/languages/flow.py +0 -0
  43. PyReprism/languages/fortran.py +49 -0
  44. PyReprism/languages/fsharp.py +49 -0
  45. PyReprism/languages/gedcom.py +0 -0
  46. PyReprism/languages/gherkin.py +0 -0
  47. PyReprism/languages/git.py +0 -0
  48. PyReprism/languages/glsl.py +0 -0
  49. PyReprism/languages/go.py +53 -0
  50. PyReprism/languages/graphql.py +50 -0
  51. PyReprism/languages/groovy.py +53 -0
  52. PyReprism/languages/haml.py +50 -0
  53. PyReprism/languages/handlebars.py +0 -0
  54. PyReprism/languages/haskell.py +53 -0
  55. PyReprism/languages/haxe.py +0 -0
  56. PyReprism/languages/hpkp.py +0 -0
  57. PyReprism/languages/hsts.py +0 -0
  58. PyReprism/languages/html.py +50 -0
  59. PyReprism/languages/ichigojam.py +0 -0
  60. PyReprism/languages/icon.py +0 -0
  61. PyReprism/languages/inform7.py +0 -0
  62. PyReprism/languages/ini.py +41 -0
  63. PyReprism/languages/io.py +0 -0
  64. PyReprism/languages/j.py +50 -0
  65. PyReprism/languages/java.py +53 -0
  66. PyReprism/languages/javascript.py +53 -0
  67. PyReprism/languages/jolie.py +50 -0
  68. PyReprism/languages/json.py +50 -0
  69. PyReprism/languages/jsx.py +53 -0
  70. PyReprism/languages/julia.py +53 -0
  71. PyReprism/languages/keyman.py +0 -0
  72. PyReprism/languages/kotlin.py +53 -0
  73. PyReprism/languages/latex.py +50 -0
  74. PyReprism/languages/less.py +50 -0
  75. PyReprism/languages/liquid.py +49 -0
  76. PyReprism/languages/livescript.py +49 -0
  77. PyReprism/languages/lolcode.py +0 -0
  78. PyReprism/languages/lua.py +0 -0
  79. PyReprism/languages/makefile.py +50 -0
  80. PyReprism/languages/markdown.py +31 -0
  81. PyReprism/languages/markup.py +50 -0
  82. PyReprism/languages/markup_templating.py +0 -0
  83. PyReprism/languages/matlab.py +51 -0
  84. PyReprism/languages/mel.py +0 -0
  85. PyReprism/languages/mizar.py +0 -0
  86. PyReprism/languages/monkey.py +0 -0
  87. PyReprism/languages/n4js.py +50 -0
  88. PyReprism/languages/nasm.py +0 -0
  89. PyReprism/languages/nginx.py +50 -0
  90. PyReprism/languages/nim.py +0 -0
  91. PyReprism/languages/nix.py +0 -0
  92. PyReprism/languages/nsis.py +0 -0
  93. PyReprism/languages/objectivec.py +49 -0
  94. PyReprism/languages/ocaml.py +51 -0
  95. PyReprism/languages/opencl.py +0 -0
  96. PyReprism/languages/oz.py +0 -0
  97. PyReprism/languages/parigp.py +0 -0
  98. PyReprism/languages/parser.py +0 -0
  99. PyReprism/languages/pascal.py +49 -0
  100. PyReprism/languages/perl.py +53 -0
  101. PyReprism/languages/php.py +50 -0
  102. PyReprism/languages/php_extras.py +0 -0
  103. PyReprism/languages/plsql.py +0 -0
  104. PyReprism/languages/powershell.py +0 -0
  105. PyReprism/languages/processing.py +0 -0
  106. PyReprism/languages/prolog.py +51 -0
  107. PyReprism/languages/properties.py +0 -0
  108. PyReprism/languages/protobuf.py +0 -0
  109. PyReprism/languages/pug.py +0 -0
  110. PyReprism/languages/puppet.py +0 -0
  111. PyReprism/languages/pure.py +0 -0
  112. PyReprism/languages/python.py +54 -0
  113. PyReprism/languages/q.py +0 -0
  114. PyReprism/languages/qore.py +0 -0
  115. PyReprism/languages/r.py +0 -0
  116. PyReprism/languages/reason.py +0 -0
  117. PyReprism/languages/renpy.py +0 -0
  118. PyReprism/languages/rest.py +0 -0
  119. PyReprism/languages/rip.py +0 -0
  120. PyReprism/languages/roboconf.py +0 -0
  121. PyReprism/languages/ruby.py +50 -0
  122. PyReprism/languages/rust.py +52 -0
  123. PyReprism/languages/sas.py +0 -0
  124. PyReprism/languages/sass.py +0 -0
  125. PyReprism/languages/scala.py +53 -0
  126. PyReprism/languages/scheme.py +51 -0
  127. PyReprism/languages/scss.py +50 -0
  128. PyReprism/languages/smalltalk.py +51 -0
  129. PyReprism/languages/smarty.py +0 -0
  130. PyReprism/languages/soy.py +0 -0
  131. PyReprism/languages/stylus.py +52 -0
  132. PyReprism/languages/swift.py +52 -0
  133. PyReprism/languages/tcl.py +0 -0
  134. PyReprism/languages/textile.py +0 -0
  135. PyReprism/languages/tsx.py +52 -0
  136. PyReprism/languages/twig.py +0 -0
  137. PyReprism/languages/typescript.py +52 -0
  138. PyReprism/languages/vbnet.py +51 -0
  139. PyReprism/languages/velocity.py +52 -0
  140. PyReprism/languages/verilog.py +0 -0
  141. PyReprism/languages/vhdl.py +0 -0
  142. PyReprism/languages/vim.py +52 -0
  143. PyReprism/languages/visual_basic.py +52 -0
  144. PyReprism/languages/wasam.py +0 -0
  145. PyReprism/languages/xeora.py +0 -0
  146. PyReprism/languages/xojo.py +0 -0
  147. PyReprism/languages/yaml.py +53 -0
  148. PyReprism/utils/__init__.py +0 -0
  149. PyReprism/utils/extension.py +149 -0
  150. PyReprism/utils/normalizer.py +18 -0
  151. pyreprism-0.0.1.dist-info/METADATA +94 -0
  152. pyreprism-0.0.1.dist-info/RECORD +154 -0
  153. pyreprism-0.0.1.dist-info/WHEEL +4 -0
  154. pyreprism-0.0.1.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,50 @@
1
+ import re
2
+ from PyReprism.utils import extension
3
+
4
+
5
+ class Ruby:
6
+ def __init__(self):
7
+ pass
8
+
9
+ @staticmethod
10
+ def file_extension() -> str:
11
+ return extension.ruby
12
+
13
+ @staticmethod
14
+ def keywords() -> list:
15
+ keyword = 'alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|false|for|if|in|module|new|next|nil|not|or|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|true|undef|unless|until|when|while|yield|Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass'.split('|')
16
+
17
+ return keyword
18
+
19
+ @staticmethod
20
+ def comment_regex():
21
+ pattern = re.compile(r'(?P<comment>#.*?$|=begin[\s\S]*?=end|=begin.*?$|^.*?=end)|(?P<noncomment>\'(\\.|[^\\\'])*\'|"(\\.|[^\\"])*"|.[^#=\'"]*)', re.DOTALL | re.MULTILINE)
22
+ return pattern
23
+
24
+ @staticmethod
25
+ def number_regex():
26
+ pattern = ''
27
+ return pattern
28
+
29
+ @staticmethod
30
+ def operator_regex():
31
+ pattern = ''
32
+ return pattern
33
+
34
+ @staticmethod
35
+ def keywords_regex():
36
+ return re.compile(r'\b(' + '|'.join(Ruby.keywords()) + r')\b', re.IGNORECASE)
37
+
38
+ @staticmethod
39
+ def remove_comments(source_code: str, isList: bool = False) -> str:
40
+ result = []
41
+ for match in Ruby.comment_regex().finditer(source_code):
42
+ if match.group('noncomment'):
43
+ result.append(match.group('noncomment'))
44
+ if isList:
45
+ return result
46
+ return ''.join(result)
47
+
48
+ @staticmethod
49
+ def remove_keywords(source: str):
50
+ return re.sub(re.compile(Ruby.keywords_regex()), '', source)
@@ -0,0 +1,52 @@
1
+ import re
2
+ from PyReprism.utils import extension
3
+
4
+
5
+ class Dart:
6
+ def __init__():
7
+ pass
8
+
9
+ @staticmethod
10
+ def file_extension() -> str:
11
+ return extension.dart
12
+
13
+ @staticmethod
14
+ def keywords() -> list:
15
+ keyword = 'abstract|alignof|as|be|box|break|const|continue|crate|do|else|enum|extern|false|final|fn|for|if|impl|in|let|loop|match|mod|move|mut|offsetof|once|override|priv|pub|pure|ref|return|sizeof|static|self|struct|super|true|trait|type|typeof|unsafe|unsized|use|virtual|where|while|yield'.split('|')
16
+
17
+ return keyword
18
+
19
+ @staticmethod
20
+ def comment_regex():
21
+ pattern = re.compile(r'(?P<comment>//.*?$|///.*?$|/\*[\s\S]*?\*/|/\*.*?$|^.*?\*/)|(?P<noncomment>\'(\\.|[^\\\'])*\'|"(\\.|[^\\"])*"|.[^/\'"]*)', re.DOTALL | re.MULTILINE)
22
+ return pattern
23
+
24
+
25
+ @staticmethod
26
+ def number_regex():
27
+ pattern = re.compile(r'\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:[iu](?:8|16|32|64)?|f32|f64))?\b')
28
+ return pattern
29
+
30
+ @staticmethod
31
+ def operator_regex():
32
+ pattern = re.compile(r'[-+*\/%!^]=?|=[=>]?|@|&[&=]?|\|[|=]?|<<?=?|>>?=?')
33
+ return pattern
34
+
35
+ @staticmethod
36
+ def keywords_regex():
37
+ return re.compile(r'\b(' + '|'.join(Dart.keywords()) + r')\b')
38
+
39
+ @staticmethod
40
+ def remove_comments(source_code: str, isList: bool = False) -> str:
41
+ result = []
42
+ for match in Dart.comment_regex().finditer(source_code):
43
+ if match.group('noncomment'):
44
+ result.append(match.group('noncomment'))
45
+ if isList:
46
+ return result
47
+ return ''.join(result)
48
+
49
+
50
+ @staticmethod
51
+ def remove_keywords(source: str):
52
+ return re.sub(re.compile(Dart.keywords_regex()), '', source)
File without changes
File without changes
@@ -0,0 +1,53 @@
1
+ import re
2
+ from PyReprism.utils import extension
3
+
4
+
5
+ class Scala:
6
+ def __init__():
7
+ pass
8
+
9
+ @staticmethod
10
+ def file_extension() -> str:
11
+ return extension.scala
12
+
13
+ @staticmethod
14
+ def keywords() -> list:
15
+ keyword = 'abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|null|object|override|package|private|protected|return|sealed|self|super|this|throw|trait|try|type|val|var|while|with|yield|String|Int|Long|Short|Byte|Boolean|Double|Float|Char|Any|AnyRef|AnyVal|Unit|Nothing'.split('|')
16
+
17
+ return keyword
18
+
19
+ @staticmethod
20
+ def comment_regex():
21
+ pattern = re.compile(r'(?P<comment>//.*?$|/\*.*?\*/|/\*.*?$|^.*?\*/|[{}]+)|(?P<noncomment>\'(\\.|[^\\\'])*\'|"(\\.|[^\\"])*"|.[^/\'"{}]*)', re.DOTALL | re.MULTILINE)
22
+ return pattern
23
+
24
+
25
+ @staticmethod
26
+ def number_regex():
27
+ pattern = re.compile(r'\b0x[\da-f]*\.?[\da-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:e\d+)?[dfl]?')
28
+ return pattern
29
+
30
+ @staticmethod
31
+ def operator_regex():
32
+ pattern = re.compile(r'(^|[^.])(?:\+[+=]?|-[-=]?|!=?|<<?=?|>>?>?=?|==?|&[&=]?|\|[|=]?|\*=?|\/=?|%=?|\^=?|[?:~])')
33
+ return pattern
34
+
35
+ @staticmethod
36
+ def keywords_regex():
37
+ return re.compile(r'\b(' + '|'.join(Scala.keywords()) + r')\b')
38
+
39
+ @staticmethod
40
+ def remove_comments(source_code: str, isList: bool = False) -> str:
41
+ result = []
42
+ for match in Scala.comment_regex().finditer(source_code):
43
+ if match.group('noncomment'):
44
+ result.append(match.group('noncomment'))
45
+ if isList:
46
+ return result
47
+ return ''.join(result)
48
+
49
+
50
+ @staticmethod
51
+ def remove_keywords(source: str):
52
+ return re.sub(re.compile(Scala.keywords_regex()), '', source)
53
+
@@ -0,0 +1,51 @@
1
+ import re
2
+ from PyReprism.utils import extension
3
+
4
+ class Scheme:
5
+ def __init__():
6
+ pass
7
+
8
+ @staticmethod
9
+ def file_extension() -> str:
10
+ return extension.scheme
11
+
12
+ @staticmethod
13
+ def keywords() -> list:
14
+ keyword = ''.split('|')
15
+
16
+ return keyword
17
+
18
+ @staticmethod
19
+ def comment_regex():
20
+ pattern = re.compile(r'(?P<comment>;.*?$|#\|[\s\S]*?\|#|#\|.*?$|^.*?\|#)|(?P<noncomment>[^;#]*[^\n]*)', re.DOTALL | re.MULTILINE)
21
+ return pattern
22
+
23
+
24
+ @staticmethod
25
+ def number_regex():
26
+ pattern = re.compile(r'')
27
+ return pattern
28
+
29
+ @staticmethod
30
+ def operator_regex():
31
+ pattern = re.compile(r'')
32
+ return pattern
33
+
34
+ @staticmethod
35
+ def keywords_regex():
36
+ return re.compile(r'\b(' + '|'.join(Scheme.keywords()) + r')\b')
37
+
38
+ @staticmethod
39
+ def remove_comments(source_code: str, isList: bool = False) -> str:
40
+ result = []
41
+ for match in Scheme.comment_regex().finditer(source_code):
42
+ if match.group('noncomment'):
43
+ result.append(match.group('noncomment'))
44
+ if isList:
45
+ return result
46
+ return ''.join(result)
47
+
48
+
49
+ @staticmethod
50
+ def remove_keywords(source: str):
51
+ return re.sub(re.compile(Scheme.keywords_regex()), '', source)
@@ -0,0 +1,50 @@
1
+ import re
2
+ from PyReprism.utils import extension
3
+
4
+
5
+ class Scss:
6
+ def __init__():
7
+ pass
8
+
9
+ @staticmethod
10
+ def file_extension() -> str:
11
+ return extension.scss
12
+
13
+ @staticmethod
14
+ def keywords() -> list:
15
+ keyword = ''.split('|')
16
+ return keyword
17
+
18
+ @staticmethod
19
+ def comment_regex():
20
+ pattern = re.compile(r'(?P<comment>/\*[\s\S]*?\*/|/\*.*?$|^.*?\*/)|(?P<noncomment>[^/*]*[^\n]*)',re.DOTALL | re.MULTILINE)
21
+ return pattern
22
+
23
+ @staticmethod
24
+ def number_regex():
25
+ pattern = re.compile(r'')
26
+ return pattern
27
+
28
+ @staticmethod
29
+ def operator_regex():
30
+ pattern = re.compile(r'')
31
+ return pattern
32
+
33
+ @staticmethod
34
+ def keywords_regex():
35
+ return re.compile(r'\b(' + '|'.join(Scss.keywords()) + r')\b')
36
+
37
+ @staticmethod
38
+ def remove_comments(source_code: str, isList: bool = False) -> str:
39
+ result = []
40
+ for match in Scss.comment_regex().finditer(source_code):
41
+ if match.group('noncomment'):
42
+ result.append(match.group('noncomment'))
43
+ if isList:
44
+ return result
45
+ return ''.join(result)
46
+
47
+ @staticmethod
48
+ def remove_keywords(source: str):
49
+ return re.sub(re.compile(Scss.keywords_regex()), '', source)
50
+
@@ -0,0 +1,51 @@
1
+ import re
2
+ from PyReprism.utils import extension
3
+
4
+ class SmallTalk:
5
+ def __init__():
6
+ pass
7
+
8
+ @staticmethod
9
+ def file_extension() -> str:
10
+ return extension.smalltalk
11
+
12
+ @staticmethod
13
+ def keywords() -> list:
14
+ keyword = ''.split('|')
15
+
16
+ return keyword
17
+
18
+ @staticmethod
19
+ def comment_regex():
20
+ pattern = re.compile(r'(?P<comment>\".*?\"|\".*?$|^.*?\")|(?P<noncomment>[^"]*)', re.DOTALL | re.MULTILINE)
21
+ return pattern
22
+
23
+
24
+ @staticmethod
25
+ def number_regex():
26
+ pattern = re.compile(r'')
27
+ return pattern
28
+
29
+ @staticmethod
30
+ def operator_regex():
31
+ pattern = re.compile(r'')
32
+ return pattern
33
+
34
+ @staticmethod
35
+ def keywords_regex():
36
+ return re.compile(r'\b(' + '|'.join(SmallTalk.keywords()) + r')\b')
37
+
38
+ @staticmethod
39
+ def remove_comments(source_code: str, isList: bool = False) -> str:
40
+ result = []
41
+ for match in SmallTalk.comment_regex().finditer(source_code):
42
+ if match.group('noncomment'):
43
+ result.append(match.group('noncomment'))
44
+ if isList:
45
+ return result
46
+ return ''.join(result)
47
+
48
+
49
+ @staticmethod
50
+ def remove_keywords(source: str):
51
+ return re.sub(re.compile(SmallTalk.keywords_regex()), '', source)
File without changes
File without changes
@@ -0,0 +1,52 @@
1
+ import re
2
+ from PyReprism.utils import extension
3
+
4
+
5
+ class Stylus:
6
+ def __init__():
7
+ pass
8
+
9
+ @staticmethod
10
+ def file_extension() -> str:
11
+ return extension.stylus
12
+
13
+ @staticmethod
14
+ def keywords() -> list:
15
+ keyword = ''.split('|')
16
+
17
+ return keyword
18
+
19
+ @staticmethod
20
+ def comment_regex():
21
+ pattern = re.compile(r'(?P<comment>//.*?$|/\*[\s\S]*?\*/|/\*.*?$|^.*?\*/)|(?P<noncomment>[^/]*[^\n]*)', re.DOTALL | re.MULTILINE)
22
+ return pattern
23
+
24
+
25
+ @staticmethod
26
+ def number_regex():
27
+ pattern = re.compile(r'')
28
+ return pattern
29
+
30
+ @staticmethod
31
+ def operator_regex():
32
+ pattern = re.compile(r'')
33
+ return pattern
34
+
35
+ @staticmethod
36
+ def keywords_regex():
37
+ return re.compile(r'\b(' + '|'.join(Stylus.keywords()) + r')\b')
38
+
39
+ @staticmethod
40
+ def remove_comments(source_code: str, isList: bool = False) -> str:
41
+ result = []
42
+ for match in Stylus.comment_regex().finditer(source_code):
43
+ if match.group('noncomment'):
44
+ result.append(match.group('noncomment'))
45
+ if isList:
46
+ return result
47
+ return ''.join(result)
48
+
49
+
50
+ @staticmethod
51
+ def remove_keywords(source: str):
52
+ return re.sub(re.compile(Stylus.keywords_regex()), '', source)
@@ -0,0 +1,52 @@
1
+ import re
2
+ from PyReprism.utils import extension
3
+
4
+
5
+ class Vbnet:
6
+ def __init__():
7
+ pass
8
+
9
+ @staticmethod
10
+ def file_extension() -> str:
11
+ return extension.vbnet
12
+
13
+ @staticmethod
14
+ def keywords() -> list:
15
+ keyword = ''.split('|')
16
+
17
+ return keyword
18
+
19
+ @staticmethod
20
+ def comment_regex():
21
+ pattern = re.compile(r'(?P<comment>//.*?$|/\*[\s\S]*?\*/|/\*.*?$|^.*?\*/)|(?P<noncomment>[^/\n]*[^\n]*)', re.DOTALL | re.MULTILINE)
22
+ return pattern
23
+
24
+
25
+ @staticmethod
26
+ def number_regex():
27
+ pattern = re.compile(r'')
28
+ return pattern
29
+
30
+ @staticmethod
31
+ def operator_regex():
32
+ pattern = re.compile(r'')
33
+ return pattern
34
+
35
+ @staticmethod
36
+ def keywords_regex():
37
+ return re.compile(r'\b(' + '|'.join(Vbnet.keywords()) + r')\b')
38
+
39
+ @staticmethod
40
+ def remove_comments(source_code: str, isList: bool = False) -> str:
41
+ result = []
42
+ for match in Vbnet.comment_regex().finditer(source_code):
43
+ if match.group('noncomment'):
44
+ result.append(match.group('noncomment'))
45
+ if isList:
46
+ return result
47
+ return ''.join(result)
48
+
49
+
50
+ @staticmethod
51
+ def remove_keywords(source: str):
52
+ return re.sub(re.compile(Vbnet.keywords_regex()), '', source)
File without changes
File without changes
@@ -0,0 +1,52 @@
1
+ import re
2
+ from PyReprism.utils import extension
3
+
4
+
5
+ class Tsx:
6
+ def __init__():
7
+ pass
8
+
9
+ @staticmethod
10
+ def file_extension() -> str:
11
+ return extension.tsx
12
+
13
+ @staticmethod
14
+ def keywords() -> list:
15
+ keyword = 'as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield|module|declare|constructor|namespace|abstract|require|type|string|Function|any|number|boolean|Array|symbol|console'.split('|')
16
+
17
+ return keyword
18
+
19
+ @staticmethod
20
+ def comment_regex():
21
+ pattern = re.compile(r'(?P<comment>//.*?$|/\*[\s\S]*?\*/|/\*.*?$|^.*?\*/|/\*\*[\s\S]*?\*/)|(?P<noncomment>\'(\\.|[^\\\'])*\'|"(\\.|[^\\"])*"|.[^/\'"]*)', re.DOTALL | re.MULTILINE)
22
+ return pattern
23
+
24
+ @staticmethod
25
+ def number_regex():
26
+ pattern = re.compile(r'\b0b[01]+\b|\b0x[\da-f]*\.?[\da-fp-]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?[df]?')
27
+ return pattern
28
+
29
+ @staticmethod
30
+ def operator_regex():
31
+ pattern = re.compile(r'(^|[^.])(?:\+[+=]?|-[-=]?|!=?|<<?=?|>>?>?=?|==?|&[&=]?|\|[|=]?|\*=?|\/=?|%=?|\^=?|[?:~])')
32
+ return pattern
33
+
34
+ @staticmethod
35
+ def keywords_regex():
36
+ return re.compile(r'\b(' + '|'.join(Tsx.keywords()) + r')\b')
37
+
38
+ @staticmethod
39
+ def remove_comments(source_code: str, isList: bool = False) -> str:
40
+ result = []
41
+ for match in Tsx.comment_regex().finditer(source_code):
42
+ if match.group('noncomment'):
43
+ result.append(match.group('noncomment'))
44
+ if isList:
45
+ return result
46
+ return ''.join(result)
47
+
48
+
49
+ @staticmethod
50
+ def remove_keywords(source: str):
51
+ return re.sub(re.compile(Tsx.keywords_regex()), '', source)
52
+
File without changes
@@ -0,0 +1,52 @@
1
+ import re
2
+ from PyReprism.utils import extension
3
+
4
+
5
+ class TypeScript:
6
+ def __init__():
7
+ pass
8
+
9
+ @staticmethod
10
+ def file_extension() -> str:
11
+ return extension.typescript
12
+
13
+ @staticmethod
14
+ def keywords() -> list:
15
+ keyword = 'as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield|module|declare|constructor|namespace|abstract|require|type|string|Function|any|number|boolean|Array|symbol|console'.split('|')
16
+
17
+ return keyword
18
+
19
+ @staticmethod
20
+ def comment_regex():
21
+ pattern = re.compile(r'(?P<comment>//.*?$|/\*[\s\S]*?\*/|/\*.*?$|^.*?\*/|/\*\*[\s\S]*?\*/)|(?P<noncomment>\'(\\.|[^\\\'])*\'|"(\\.|[^\\"])*"|.[^/\'"]*)', re.DOTALL | re.MULTILINE)
22
+ return pattern
23
+
24
+ @staticmethod
25
+ def number_regex():
26
+ pattern = re.compile(r'\b0b[01]+\b|\b0x[\da-f]*\.?[\da-fp-]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?[df]?')
27
+ return pattern
28
+
29
+ @staticmethod
30
+ def operator_regex():
31
+ pattern = re.compile(r'(^|[^.])(?:\+[+=]?|-[-=]?|!=?|<<?=?|>>?>?=?|==?|&[&=]?|\|[|=]?|\*=?|\/=?|%=?|\^=?|[?:~])')
32
+ return pattern
33
+
34
+ @staticmethod
35
+ def keywords_regex():
36
+ return re.compile(r'\b(' + '|'.join(TypeScript.keywords()) + r')\b')
37
+
38
+ @staticmethod
39
+ def remove_comments(source_code: str, isList: bool = False) -> str:
40
+ result = []
41
+ for match in TypeScript.comment_regex().finditer(source_code):
42
+ if match.group('noncomment'):
43
+ result.append(match.group('noncomment'))
44
+ if isList:
45
+ return result
46
+ return ''.join(result)
47
+
48
+
49
+ @staticmethod
50
+ def remove_keywords(source: str):
51
+ return re.sub(re.compile(TypeScript.keywords_regex()), '', source)
52
+
@@ -0,0 +1,51 @@
1
+ import re
2
+ from PyReprism.utils import extension
3
+
4
+
5
+ class Vbnet:
6
+ def __init__():
7
+ pass
8
+
9
+ @staticmethod
10
+ def file_extension() -> str:
11
+ return extension.vbnet
12
+
13
+ @staticmethod
14
+ def keywords() -> list:
15
+ keyword = ''.split('|')
16
+
17
+ return keyword
18
+
19
+ @staticmethod
20
+ def comment_regex():
21
+ pattern = re.compile(r'(?P<comment>\'.*?$)|(?P<noncomment>[^\'\n]*[^\n]*)',re.MULTILINE)
22
+ return pattern
23
+
24
+ @staticmethod
25
+ def number_regex():
26
+ pattern = re.compile(r'')
27
+ return pattern
28
+
29
+ @staticmethod
30
+ def operator_regex():
31
+ pattern = re.compile(r'')
32
+ return pattern
33
+
34
+ @staticmethod
35
+ def keywords_regex():
36
+ return re.compile(r'\b(' + '|'.join(Vbnet.keywords()) + r')\b')
37
+
38
+ @staticmethod
39
+ def remove_comments(source_code: str, isList: bool = False) -> str:
40
+ result = []
41
+ for match in Vbnet.comment_regex().finditer(source_code):
42
+ if match.group('noncomment'):
43
+ result.append(match.group('noncomment'))
44
+ if isList:
45
+ return result
46
+ return ''.join(result)
47
+
48
+
49
+ @staticmethod
50
+ def remove_keywords(source: str):
51
+ return re.sub(re.compile(Vbnet.keywords_regex()), '', source)
@@ -0,0 +1,52 @@
1
+ import re
2
+ from PyReprism.utils import extension
3
+
4
+
5
+ class Velocity:
6
+ def __init__():
7
+ pass
8
+
9
+ @staticmethod
10
+ def file_extension() -> str:
11
+ return extension.velocity
12
+
13
+ @staticmethod
14
+ def keywords() -> list:
15
+ keyword = ''.split('|')
16
+
17
+ return keyword
18
+
19
+ @staticmethod
20
+ def comment_regex():
21
+ pattern = re.compile(r'(?P<comment>##.*?$|#\*[\s\S]*?\*#|#\*.*?$|^.*?\*#)|(?P<noncomment>[^#]*[^\n]*)', re.DOTALL | re.MULTILINE)
22
+ return pattern
23
+
24
+
25
+ @staticmethod
26
+ def number_regex():
27
+ pattern = re.compile(r'')
28
+ return pattern
29
+
30
+ @staticmethod
31
+ def operator_regex():
32
+ pattern = re.compile(r'')
33
+ return pattern
34
+
35
+ @staticmethod
36
+ def keywords_regex():
37
+ return re.compile(r'\b(' + '|'.join(Velocity.keywords()) + r')\b')
38
+
39
+ @staticmethod
40
+ def remove_comments(source_code: str, isList: bool = False) -> str:
41
+ result = []
42
+ for match in Velocity.comment_regex().finditer(source_code):
43
+ if match.group('noncomment'):
44
+ result.append(match.group('noncomment'))
45
+ if isList:
46
+ return result
47
+ return ''.join(result)
48
+
49
+
50
+ @staticmethod
51
+ def remove_keywords(source: str):
52
+ return re.sub(re.compile(Velocity.keywords_regex()), '', source)
File without changes
File without changes