rapydscript-ns 0.8.0
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.
- package/.agignore +1 -0
- package/.gitattributes +4 -0
- package/.github/workflows/ci.yml +38 -0
- package/.github/workflows/web-repl-page-deploy.yml +42 -0
- package/=template.pyj +5 -0
- package/CHANGELOG.md +456 -0
- package/CONTRIBUTORS +13 -0
- package/HACKING.md +103 -0
- package/LICENSE +24 -0
- package/README.md +2512 -0
- package/TODO.md +327 -0
- package/add-toc-to-readme +2 -0
- package/bin/export +75 -0
- package/bin/rapydscript +70 -0
- package/bin/web-repl-export +102 -0
- package/build +3 -0
- package/package.json +46 -0
- package/publish.py +37 -0
- package/release/baselib-plain-pretty.js +4370 -0
- package/release/baselib-plain-ugly.js +3 -0
- package/release/compiler.js +18394 -0
- package/release/signatures.json +31 -0
- package/session.vim +4 -0
- package/setup.cfg +2 -0
- package/src/ast.pyj +1356 -0
- package/src/baselib-builtins.pyj +279 -0
- package/src/baselib-containers.pyj +723 -0
- package/src/baselib-errors.pyj +37 -0
- package/src/baselib-internal.pyj +421 -0
- package/src/baselib-itertools.pyj +97 -0
- package/src/baselib-str.pyj +798 -0
- package/src/compiler.pyj +36 -0
- package/src/errors.pyj +30 -0
- package/src/lib/aes.pyj +646 -0
- package/src/lib/collections.pyj +695 -0
- package/src/lib/elementmaker.pyj +83 -0
- package/src/lib/encodings.pyj +126 -0
- package/src/lib/functools.pyj +148 -0
- package/src/lib/gettext.pyj +569 -0
- package/src/lib/itertools.pyj +580 -0
- package/src/lib/math.pyj +193 -0
- package/src/lib/numpy.pyj +2101 -0
- package/src/lib/operator.pyj +11 -0
- package/src/lib/pythonize.pyj +20 -0
- package/src/lib/random.pyj +118 -0
- package/src/lib/re.pyj +470 -0
- package/src/lib/traceback.pyj +63 -0
- package/src/lib/uuid.pyj +77 -0
- package/src/monaco-language-service/analyzer.js +526 -0
- package/src/monaco-language-service/builtins.js +543 -0
- package/src/monaco-language-service/completions.js +498 -0
- package/src/monaco-language-service/diagnostics.js +643 -0
- package/src/monaco-language-service/dts.js +550 -0
- package/src/monaco-language-service/hover.js +121 -0
- package/src/monaco-language-service/index.js +386 -0
- package/src/monaco-language-service/scope.js +162 -0
- package/src/monaco-language-service/signature.js +144 -0
- package/src/output/__init__.pyj +0 -0
- package/src/output/classes.pyj +296 -0
- package/src/output/codegen.pyj +492 -0
- package/src/output/comments.pyj +45 -0
- package/src/output/exceptions.pyj +105 -0
- package/src/output/functions.pyj +491 -0
- package/src/output/literals.pyj +109 -0
- package/src/output/loops.pyj +444 -0
- package/src/output/modules.pyj +329 -0
- package/src/output/operators.pyj +429 -0
- package/src/output/statements.pyj +463 -0
- package/src/output/stream.pyj +309 -0
- package/src/output/treeshake.pyj +182 -0
- package/src/output/utils.pyj +72 -0
- package/src/parse.pyj +3106 -0
- package/src/string_interpolation.pyj +72 -0
- package/src/tokenizer.pyj +702 -0
- package/src/unicode_aliases.pyj +576 -0
- package/src/utils.pyj +192 -0
- package/test/_import_one.pyj +37 -0
- package/test/_import_two/__init__.pyj +11 -0
- package/test/_import_two/level2/__init__.pyj +0 -0
- package/test/_import_two/level2/deep.pyj +4 -0
- package/test/_import_two/other.pyj +6 -0
- package/test/_import_two/sub.pyj +13 -0
- package/test/aes_vectors.pyj +421 -0
- package/test/annotations.pyj +80 -0
- package/test/baselib.pyj +319 -0
- package/test/classes.pyj +452 -0
- package/test/collections.pyj +152 -0
- package/test/decorators.pyj +77 -0
- package/test/dict_spread.pyj +76 -0
- package/test/docstrings.pyj +39 -0
- package/test/elementmaker_test.pyj +45 -0
- package/test/ellipsis.pyj +49 -0
- package/test/functions.pyj +151 -0
- package/test/generators.pyj +41 -0
- package/test/generic.pyj +370 -0
- package/test/imports.pyj +72 -0
- package/test/internationalization.pyj +73 -0
- package/test/lint.pyj +164 -0
- package/test/loops.pyj +85 -0
- package/test/numpy.pyj +734 -0
- package/test/omit_function_metadata.pyj +20 -0
- package/test/regexp.pyj +55 -0
- package/test/repl.pyj +121 -0
- package/test/scoped_flags.pyj +76 -0
- package/test/starargs.pyj +506 -0
- package/test/starred_assign.pyj +104 -0
- package/test/str.pyj +198 -0
- package/test/subscript_tuple.pyj +53 -0
- package/test/unit/fixtures/fibonacci_expected.js +46 -0
- package/test/unit/index.js +2989 -0
- package/test/unit/language-service-builtins.js +815 -0
- package/test/unit/language-service-completions.js +1067 -0
- package/test/unit/language-service-dts.js +543 -0
- package/test/unit/language-service-hover.js +455 -0
- package/test/unit/language-service-scope.js +833 -0
- package/test/unit/language-service-signature.js +458 -0
- package/test/unit/language-service.js +705 -0
- package/test/unit/run-language-service.js +41 -0
- package/test/unit/web-repl.js +484 -0
- package/tools/build-language-service.js +190 -0
- package/tools/cli.js +547 -0
- package/tools/compile.js +219 -0
- package/tools/compiler.js +108 -0
- package/tools/completer.js +131 -0
- package/tools/embedded_compiler.js +251 -0
- package/tools/export.js +316 -0
- package/tools/gettext.js +185 -0
- package/tools/ini.js +65 -0
- package/tools/lint.js +705 -0
- package/tools/msgfmt.js +187 -0
- package/tools/repl.js +223 -0
- package/tools/self.js +162 -0
- package/tools/test.js +118 -0
- package/tools/utils.js +128 -0
- package/tools/web_repl.js +95 -0
- package/try +41 -0
- package/web-repl/env.js +74 -0
- package/web-repl/index.html +163 -0
- package/web-repl/language-service.js +4084 -0
- package/web-repl/main.js +254 -0
- package/web-repl/prism.css +139 -0
- package/web-repl/prism.js +113 -0
- package/web-repl/rapydscript.js +435 -0
- package/web-repl/sha1.js +25 -0
package/src/compiler.pyj
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# vim:fileencoding=utf-8
|
|
2
|
+
# License: BSD
|
|
3
|
+
# Copyright: 2015, Kovid Goyal <kovid at kovidgoyal.net>
|
|
4
|
+
# globals: console
|
|
5
|
+
|
|
6
|
+
from utils import DefaultsError, string_template
|
|
7
|
+
from errors import ImportError, SyntaxError
|
|
8
|
+
from tokenizer import ALL_KEYWORDS, IDENTIFIER_PAT, tokenizer
|
|
9
|
+
from parse import parse, NATIVE_CLASSES, compile_time_decorators
|
|
10
|
+
from output.stream import OutputStream
|
|
11
|
+
from output.codegen import generate_code
|
|
12
|
+
from output.treeshake import tree_shake
|
|
13
|
+
|
|
14
|
+
generate_code() # create the print methods on the AST nodes
|
|
15
|
+
|
|
16
|
+
# The following allows this module to be used from a pure javascript, require()
|
|
17
|
+
# based environment like Node.js
|
|
18
|
+
if jstype(exports) is 'object':
|
|
19
|
+
exports.DefaultsError = DefaultsError
|
|
20
|
+
exports.parse = parse
|
|
21
|
+
exports.compile_time_decorators = compile_time_decorators
|
|
22
|
+
exports.OutputStream = OutputStream
|
|
23
|
+
exports.string_template = string_template # noqa:undef
|
|
24
|
+
# Needed for REPL and linter
|
|
25
|
+
exports.ALL_KEYWORDS = ALL_KEYWORDS
|
|
26
|
+
exports.IDENTIFIER_PAT = IDENTIFIER_PAT
|
|
27
|
+
exports.NATIVE_CLASSES = NATIVE_CLASSES
|
|
28
|
+
exports.ImportError = ImportError
|
|
29
|
+
exports.SyntaxError = SyntaxError
|
|
30
|
+
exports.tokenizer = tokenizer
|
|
31
|
+
exports.tree_shake = tree_shake
|
|
32
|
+
# Magic! Export all the AST_* nodes
|
|
33
|
+
ast = ρσ_modules['ast']
|
|
34
|
+
for ast_node in ast:
|
|
35
|
+
if ast_node.substr(0, 4) is 'AST_':
|
|
36
|
+
exports[ast_node] = ast[ast_node] # noqa:undef
|
package/src/errors.pyj
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# vim:fileencoding=utf-8
|
|
2
|
+
# License: BSD Copyright: 2016, Kovid Goyal <kovid at kovidgoyal.net>
|
|
3
|
+
from __python__ import hash_literals
|
|
4
|
+
|
|
5
|
+
class SyntaxError(Error):
|
|
6
|
+
|
|
7
|
+
def __init__(self, message, filename, line, col, pos, is_eof):
|
|
8
|
+
self.stack = Error().stack
|
|
9
|
+
self.message = message
|
|
10
|
+
self.line = line
|
|
11
|
+
self.col = col
|
|
12
|
+
self.pos = pos
|
|
13
|
+
self.is_eof = is_eof
|
|
14
|
+
self.filename = filename
|
|
15
|
+
# The "standard" form for these error attributes
|
|
16
|
+
self.lineNumber = line
|
|
17
|
+
self.fileName = filename
|
|
18
|
+
|
|
19
|
+
def toString(self):
|
|
20
|
+
ans = self.message + " (line: " + self.line + ", col: " + self.col + ", pos: " + self.pos + ")"
|
|
21
|
+
if self.filename:
|
|
22
|
+
ans = self.filename + ':' + ans
|
|
23
|
+
if self.stack:
|
|
24
|
+
ans += "\n\n" + self.stack
|
|
25
|
+
return ans
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class ImportError(SyntaxError):
|
|
29
|
+
pass
|
|
30
|
+
|