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.
- PyReprism/__init__.py +0 -0
- PyReprism/languages/__init__.py +147 -0
- PyReprism/languages/_base.py +30 -0
- PyReprism/languages/abap.py +52 -0
- PyReprism/languages/actionscript.py +52 -0
- PyReprism/languages/ada.py +53 -0
- PyReprism/languages/apacheconf.py +52 -0
- PyReprism/languages/apl.py +52 -0
- PyReprism/languages/applescript.py +52 -0
- PyReprism/languages/arduino.py +52 -0
- PyReprism/languages/arff.py +52 -0
- PyReprism/languages/asciidoc.py +52 -0
- PyReprism/languages/asm6502.py +51 -0
- PyReprism/languages/aspnet.py +51 -0
- PyReprism/languages/autohotkey.py +51 -0
- PyReprism/languages/autoit.py +50 -0
- PyReprism/languages/bash.py +52 -0
- PyReprism/languages/basic.py +52 -0
- PyReprism/languages/batch.py +52 -0
- PyReprism/languages/bison.py +52 -0
- PyReprism/languages/brainfuck.py +52 -0
- PyReprism/languages/bro.py +50 -0
- PyReprism/languages/c.py +52 -0
- PyReprism/languages/clike.py +52 -0
- PyReprism/languages/clojure.py +50 -0
- PyReprism/languages/coffeescript.py +50 -0
- PyReprism/languages/cpp.py +52 -0
- PyReprism/languages/crystal.py +50 -0
- PyReprism/languages/csharp.py +53 -0
- PyReprism/languages/csp.py +50 -0
- PyReprism/languages/css.py +50 -0
- PyReprism/languages/css_extras.py +50 -0
- PyReprism/languages/d.py +50 -0
- PyReprism/languages/dart.py +52 -0
- PyReprism/languages/diff.py +49 -0
- PyReprism/languages/django.py +55 -0
- PyReprism/languages/docker.py +50 -0
- PyReprism/languages/eiffel.py +49 -0
- PyReprism/languages/elixir.py +50 -0
- PyReprism/languages/erb.py +0 -0
- PyReprism/languages/erlang.py +50 -0
- PyReprism/languages/flow.py +0 -0
- PyReprism/languages/fortran.py +49 -0
- PyReprism/languages/fsharp.py +49 -0
- PyReprism/languages/gedcom.py +0 -0
- PyReprism/languages/gherkin.py +0 -0
- PyReprism/languages/git.py +0 -0
- PyReprism/languages/glsl.py +0 -0
- PyReprism/languages/go.py +53 -0
- PyReprism/languages/graphql.py +50 -0
- PyReprism/languages/groovy.py +53 -0
- PyReprism/languages/haml.py +50 -0
- PyReprism/languages/handlebars.py +0 -0
- PyReprism/languages/haskell.py +53 -0
- PyReprism/languages/haxe.py +0 -0
- PyReprism/languages/hpkp.py +0 -0
- PyReprism/languages/hsts.py +0 -0
- PyReprism/languages/html.py +50 -0
- PyReprism/languages/ichigojam.py +0 -0
- PyReprism/languages/icon.py +0 -0
- PyReprism/languages/inform7.py +0 -0
- PyReprism/languages/ini.py +41 -0
- PyReprism/languages/io.py +0 -0
- PyReprism/languages/j.py +50 -0
- PyReprism/languages/java.py +53 -0
- PyReprism/languages/javascript.py +53 -0
- PyReprism/languages/jolie.py +50 -0
- PyReprism/languages/json.py +50 -0
- PyReprism/languages/jsx.py +53 -0
- PyReprism/languages/julia.py +53 -0
- PyReprism/languages/keyman.py +0 -0
- PyReprism/languages/kotlin.py +53 -0
- PyReprism/languages/latex.py +50 -0
- PyReprism/languages/less.py +50 -0
- PyReprism/languages/liquid.py +49 -0
- PyReprism/languages/livescript.py +49 -0
- PyReprism/languages/lolcode.py +0 -0
- PyReprism/languages/lua.py +0 -0
- PyReprism/languages/makefile.py +50 -0
- PyReprism/languages/markdown.py +31 -0
- PyReprism/languages/markup.py +50 -0
- PyReprism/languages/markup_templating.py +0 -0
- PyReprism/languages/matlab.py +51 -0
- PyReprism/languages/mel.py +0 -0
- PyReprism/languages/mizar.py +0 -0
- PyReprism/languages/monkey.py +0 -0
- PyReprism/languages/n4js.py +50 -0
- PyReprism/languages/nasm.py +0 -0
- PyReprism/languages/nginx.py +50 -0
- PyReprism/languages/nim.py +0 -0
- PyReprism/languages/nix.py +0 -0
- PyReprism/languages/nsis.py +0 -0
- PyReprism/languages/objectivec.py +49 -0
- PyReprism/languages/ocaml.py +51 -0
- PyReprism/languages/opencl.py +0 -0
- PyReprism/languages/oz.py +0 -0
- PyReprism/languages/parigp.py +0 -0
- PyReprism/languages/parser.py +0 -0
- PyReprism/languages/pascal.py +49 -0
- PyReprism/languages/perl.py +53 -0
- PyReprism/languages/php.py +50 -0
- PyReprism/languages/php_extras.py +0 -0
- PyReprism/languages/plsql.py +0 -0
- PyReprism/languages/powershell.py +0 -0
- PyReprism/languages/processing.py +0 -0
- PyReprism/languages/prolog.py +51 -0
- PyReprism/languages/properties.py +0 -0
- PyReprism/languages/protobuf.py +0 -0
- PyReprism/languages/pug.py +0 -0
- PyReprism/languages/puppet.py +0 -0
- PyReprism/languages/pure.py +0 -0
- PyReprism/languages/python.py +54 -0
- PyReprism/languages/q.py +0 -0
- PyReprism/languages/qore.py +0 -0
- PyReprism/languages/r.py +0 -0
- PyReprism/languages/reason.py +0 -0
- PyReprism/languages/renpy.py +0 -0
- PyReprism/languages/rest.py +0 -0
- PyReprism/languages/rip.py +0 -0
- PyReprism/languages/roboconf.py +0 -0
- PyReprism/languages/ruby.py +50 -0
- PyReprism/languages/rust.py +52 -0
- PyReprism/languages/sas.py +0 -0
- PyReprism/languages/sass.py +0 -0
- PyReprism/languages/scala.py +53 -0
- PyReprism/languages/scheme.py +51 -0
- PyReprism/languages/scss.py +50 -0
- PyReprism/languages/smalltalk.py +51 -0
- PyReprism/languages/smarty.py +0 -0
- PyReprism/languages/soy.py +0 -0
- PyReprism/languages/stylus.py +52 -0
- PyReprism/languages/swift.py +52 -0
- PyReprism/languages/tcl.py +0 -0
- PyReprism/languages/textile.py +0 -0
- PyReprism/languages/tsx.py +52 -0
- PyReprism/languages/twig.py +0 -0
- PyReprism/languages/typescript.py +52 -0
- PyReprism/languages/vbnet.py +51 -0
- PyReprism/languages/velocity.py +52 -0
- PyReprism/languages/verilog.py +0 -0
- PyReprism/languages/vhdl.py +0 -0
- PyReprism/languages/vim.py +52 -0
- PyReprism/languages/visual_basic.py +52 -0
- PyReprism/languages/wasam.py +0 -0
- PyReprism/languages/xeora.py +0 -0
- PyReprism/languages/xojo.py +0 -0
- PyReprism/languages/yaml.py +53 -0
- PyReprism/utils/__init__.py +0 -0
- PyReprism/utils/extension.py +149 -0
- PyReprism/utils/normalizer.py +18 -0
- pyreprism-0.0.1.dist-info/METADATA +94 -0
- pyreprism-0.0.1.dist-info/RECORD +154 -0
- pyreprism-0.0.1.dist-info/WHEEL +4 -0
- 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
|