jaclang 0.5.6__py3-none-any.whl → 0.5.8__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.
Potentially problematic release.
This version of jaclang might be problematic. Click here for more details.
- jaclang/__init__.py +6 -1
- jaclang/cli/cli.py +63 -20
- jaclang/cli/cmdreg.py +42 -12
- jaclang/compiler/__init__.py +6 -3
- jaclang/compiler/__jac_gen__/jac_parser.py +2 -2
- jaclang/compiler/absyntree.py +1740 -61
- jaclang/compiler/codeloc.py +7 -0
- jaclang/compiler/compile.py +4 -5
- jaclang/compiler/constant.py +52 -6
- jaclang/compiler/parser.py +220 -129
- jaclang/compiler/passes/main/def_impl_match_pass.py +19 -3
- jaclang/compiler/passes/main/def_use_pass.py +1 -1
- jaclang/compiler/passes/main/fuse_typeinfo_pass.py +357 -0
- jaclang/compiler/passes/main/import_pass.py +7 -3
- jaclang/compiler/passes/main/pyast_gen_pass.py +333 -93
- jaclang/compiler/passes/main/pyast_load_pass.py +1779 -206
- jaclang/compiler/passes/main/pyout_pass.py +2 -2
- jaclang/compiler/passes/main/schedules.py +2 -1
- jaclang/compiler/passes/main/sym_tab_build_pass.py +20 -28
- jaclang/compiler/passes/main/tests/test_decl_def_match_pass.py +4 -4
- jaclang/compiler/passes/main/tests/test_pyast_build_pass.py +14 -5
- jaclang/compiler/passes/main/tests/test_sym_tab_build_pass.py +8 -8
- jaclang/compiler/passes/main/tests/test_typeinfo_pass.py +7 -0
- jaclang/compiler/passes/main/type_check_pass.py +0 -1
- jaclang/compiler/passes/tool/jac_formatter_pass.py +8 -17
- jaclang/compiler/passes/tool/tests/test_unparse_validate.py +43 -0
- jaclang/compiler/passes/utils/mypy_ast_build.py +28 -14
- jaclang/compiler/symtable.py +23 -2
- jaclang/compiler/tests/test_parser.py +53 -0
- jaclang/compiler/workspace.py +52 -26
- jaclang/core/aott.py +68 -0
- jaclang/core/construct.py +58 -6
- jaclang/core/importer.py +9 -10
- jaclang/core/utils.py +65 -3
- jaclang/plugin/builtin.py +42 -0
- jaclang/plugin/default.py +163 -18
- jaclang/plugin/feature.py +38 -10
- jaclang/plugin/spec.py +33 -6
- jaclang/utils/helpers.py +25 -0
- jaclang/utils/lang_tools.py +4 -1
- jaclang/utils/test.py +1 -0
- jaclang/utils/tests/test_lang_tools.py +12 -15
- jaclang/utils/treeprinter.py +10 -2
- {jaclang-0.5.6.dist-info → jaclang-0.5.8.dist-info}/METADATA +1 -1
- {jaclang-0.5.6.dist-info → jaclang-0.5.8.dist-info}/RECORD +48 -46
- {jaclang-0.5.6.dist-info → jaclang-0.5.8.dist-info}/WHEEL +1 -1
- jaclang/compiler/tests/fixtures/__jac_gen__/__init__.py +0 -0
- jaclang/compiler/tests/fixtures/__jac_gen__/hello_world.py +0 -5
- jaclang/core/jacbuiltins.py +0 -10
- {jaclang-0.5.6.dist-info → jaclang-0.5.8.dist-info}/entry_points.txt +0 -0
- {jaclang-0.5.6.dist-info → jaclang-0.5.8.dist-info}/top_level.txt +0 -0
jaclang/plugin/feature.py
CHANGED
|
@@ -13,13 +13,15 @@ from jaclang.core.construct import (
|
|
|
13
13
|
Root,
|
|
14
14
|
WalkerArchitype,
|
|
15
15
|
)
|
|
16
|
-
from jaclang.plugin.spec import JacCmdSpec, JacFeatureSpec, T
|
|
16
|
+
from jaclang.plugin.spec import JacBuiltin, JacCmdSpec, JacFeatureSpec, T
|
|
17
|
+
|
|
17
18
|
|
|
18
19
|
import pluggy
|
|
19
20
|
|
|
20
21
|
pm = pluggy.PluginManager("jac")
|
|
21
22
|
pm.add_hookspecs(JacFeatureSpec)
|
|
22
23
|
pm.add_hookspecs(JacCmdSpec)
|
|
24
|
+
pm.add_hookspecs(JacBuiltin)
|
|
23
25
|
|
|
24
26
|
|
|
25
27
|
class JacFeature:
|
|
@@ -94,9 +96,23 @@ class JacFeature:
|
|
|
94
96
|
return pm.hook.create_test(test_fun=test_fun)
|
|
95
97
|
|
|
96
98
|
@staticmethod
|
|
97
|
-
def run_test(
|
|
99
|
+
def run_test(
|
|
100
|
+
filepath: str,
|
|
101
|
+
filter: Optional[str] = None,
|
|
102
|
+
xit: bool = False,
|
|
103
|
+
maxfail: Optional[int] = None,
|
|
104
|
+
directory: Optional[str] = None,
|
|
105
|
+
verbose: bool = False,
|
|
106
|
+
) -> bool:
|
|
98
107
|
"""Run the test suite in the specified .jac file."""
|
|
99
|
-
return pm.hook.run_test(
|
|
108
|
+
return pm.hook.run_test(
|
|
109
|
+
filepath=filepath,
|
|
110
|
+
filter=filter,
|
|
111
|
+
xit=xit,
|
|
112
|
+
maxfail=maxfail,
|
|
113
|
+
directory=directory,
|
|
114
|
+
verbose=verbose,
|
|
115
|
+
)
|
|
100
116
|
|
|
101
117
|
@staticmethod
|
|
102
118
|
def elvis(op1: Optional[T], op2: T) -> T:
|
|
@@ -209,14 +225,26 @@ class JacFeature:
|
|
|
209
225
|
is_undirected=is_undirected, conn_type=conn_type, conn_assign=conn_assign
|
|
210
226
|
)
|
|
211
227
|
|
|
212
|
-
|
|
213
|
-
class JacBuiltin:
|
|
214
|
-
"""Jac Builtins."""
|
|
215
|
-
|
|
216
228
|
@staticmethod
|
|
217
|
-
def
|
|
218
|
-
|
|
219
|
-
|
|
229
|
+
def with_llm(
|
|
230
|
+
model: Any, # noqa: ANN401
|
|
231
|
+
model_params: dict[str, Any],
|
|
232
|
+
incl_info: tuple,
|
|
233
|
+
excl_info: tuple,
|
|
234
|
+
inputs: tuple,
|
|
235
|
+
outputs: tuple,
|
|
236
|
+
action: str,
|
|
237
|
+
) -> Any: # noqa: ANN401
|
|
238
|
+
"""Jac's with_llm feature."""
|
|
239
|
+
return pm.hook.with_llm(
|
|
240
|
+
model=model,
|
|
241
|
+
model_params=model_params,
|
|
242
|
+
incl_info=incl_info,
|
|
243
|
+
excl_info=excl_info,
|
|
244
|
+
inputs=inputs,
|
|
245
|
+
outputs=outputs,
|
|
246
|
+
action=action,
|
|
247
|
+
)
|
|
220
248
|
|
|
221
249
|
|
|
222
250
|
class JacCmd:
|
jaclang/plugin/spec.py
CHANGED
|
@@ -88,11 +88,15 @@ class JacFeatureSpec:
|
|
|
88
88
|
|
|
89
89
|
@staticmethod
|
|
90
90
|
@hookspec(firstresult=True)
|
|
91
|
-
def run_test(
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
:
|
|
95
|
-
|
|
91
|
+
def run_test(
|
|
92
|
+
filepath: str,
|
|
93
|
+
filter: Optional[str],
|
|
94
|
+
xit: bool,
|
|
95
|
+
maxfail: Optional[int],
|
|
96
|
+
directory: Optional[str],
|
|
97
|
+
verbose: bool,
|
|
98
|
+
) -> bool:
|
|
99
|
+
"""Run the test suite in the specified .jac file."""
|
|
96
100
|
raise NotImplementedError
|
|
97
101
|
|
|
98
102
|
@staticmethod
|
|
@@ -204,13 +208,36 @@ class JacFeatureSpec:
|
|
|
204
208
|
"""Jac's root getter."""
|
|
205
209
|
raise NotImplementedError
|
|
206
210
|
|
|
211
|
+
@staticmethod
|
|
212
|
+
@hookspec(firstresult=True)
|
|
213
|
+
def with_llm(
|
|
214
|
+
model: Any, # noqa: ANN401
|
|
215
|
+
model_params: dict[str, Any],
|
|
216
|
+
incl_info: tuple,
|
|
217
|
+
excl_info: tuple,
|
|
218
|
+
inputs: tuple,
|
|
219
|
+
outputs: tuple,
|
|
220
|
+
action: str,
|
|
221
|
+
) -> Any: # noqa: ANN401
|
|
222
|
+
"""Jac's with_llm stmt feature."""
|
|
223
|
+
raise NotImplementedError
|
|
224
|
+
|
|
207
225
|
|
|
208
226
|
class JacBuiltin:
|
|
209
227
|
"""Jac Builtins."""
|
|
210
228
|
|
|
211
229
|
@staticmethod
|
|
212
230
|
@hookspec(firstresult=True)
|
|
213
|
-
def dotgen(
|
|
231
|
+
def dotgen(
|
|
232
|
+
node: NodeArchitype,
|
|
233
|
+
depth: int,
|
|
234
|
+
traverse: bool,
|
|
235
|
+
edge_type: list[str],
|
|
236
|
+
bfs: bool,
|
|
237
|
+
edge_limit: int,
|
|
238
|
+
node_limit: int,
|
|
239
|
+
dot_file: Optional[str],
|
|
240
|
+
) -> str:
|
|
214
241
|
"""Print the dot graph."""
|
|
215
242
|
raise NotImplementedError
|
|
216
243
|
|
jaclang/utils/helpers.py
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"""Utility functions and classes for Jac compilation toolchain."""
|
|
2
2
|
|
|
3
|
+
import dis
|
|
4
|
+
import marshal
|
|
3
5
|
import os
|
|
6
|
+
import pdb
|
|
4
7
|
import re
|
|
5
8
|
|
|
6
9
|
|
|
@@ -104,3 +107,25 @@ def import_target_to_relative_path(
|
|
|
104
107
|
base_path = os.path.dirname(base_path)
|
|
105
108
|
relative_path = os.path.join(base_path, *actual_parts) + file_extension
|
|
106
109
|
return relative_path
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
class Jdb(pdb.Pdb):
|
|
113
|
+
"""Jac debugger."""
|
|
114
|
+
|
|
115
|
+
def __init__(self, *args, **kwargs) -> None: # noqa
|
|
116
|
+
"""Initialize the Jac debugger."""
|
|
117
|
+
super().__init__(*args, **kwargs)
|
|
118
|
+
self.prompt = "Jdb > "
|
|
119
|
+
|
|
120
|
+
def has_breakpoint(self, bytecode: bytes) -> bool:
|
|
121
|
+
"""Check for breakpoint."""
|
|
122
|
+
code = marshal.loads(bytecode)
|
|
123
|
+
instructions = dis.get_instructions(code)
|
|
124
|
+
return any(
|
|
125
|
+
instruction.opname in ("LOAD_GLOBAL", "LOAD_NAME", "LOAD_FAST")
|
|
126
|
+
and instruction.argval == "breakpoint"
|
|
127
|
+
for instruction in instructions
|
|
128
|
+
)
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
debugger = Jdb()
|
jaclang/utils/lang_tools.py
CHANGED
|
@@ -8,6 +8,7 @@ from typing import List, Optional, Type
|
|
|
8
8
|
|
|
9
9
|
import jaclang.compiler.absyntree as ast
|
|
10
10
|
from jaclang.compiler.compile import jac_file_to_pass
|
|
11
|
+
from jaclang.compiler.passes.main.schedules import py_code_gen_typed
|
|
11
12
|
from jaclang.compiler.symtable import SymbolTable
|
|
12
13
|
from jaclang.utils.helpers import extract_headings, heading_to_snake, pascal_to_snake
|
|
13
14
|
|
|
@@ -209,7 +210,7 @@ class AstTool:
|
|
|
209
210
|
[base, mod] = os.path.split(file_name)
|
|
210
211
|
base = base if base else "./"
|
|
211
212
|
ir = jac_file_to_pass(
|
|
212
|
-
file_name
|
|
213
|
+
file_name, schedule=py_code_gen_typed
|
|
213
214
|
).ir # Assuming jac_file_to_pass is defined elsewhere
|
|
214
215
|
|
|
215
216
|
match output:
|
|
@@ -229,6 +230,8 @@ class AstTool:
|
|
|
229
230
|
return ir.pp()
|
|
230
231
|
case "ast.":
|
|
231
232
|
return ir.dotgen()
|
|
233
|
+
case "unparse":
|
|
234
|
+
return ir.unparse()
|
|
232
235
|
case "pyast":
|
|
233
236
|
return (
|
|
234
237
|
f"\n{py_ast.dump(ir.gen.py_ast[0], indent=2)}"
|
jaclang/utils/test.py
CHANGED
|
@@ -31,26 +31,20 @@ class JacFormatPassTests(TestCase):
|
|
|
31
31
|
os.path.dirname(jaclang.__file__), "../examples/reference/edges_walk.jac"
|
|
32
32
|
)
|
|
33
33
|
out = AstTool().ir(["ast.", jac_file_path])
|
|
34
|
-
forbidden_strings = ["<<", ">>", "
|
|
34
|
+
forbidden_strings = ["<<", ">>", "init", "super"]
|
|
35
35
|
for i in forbidden_strings:
|
|
36
36
|
self.assertNotIn(i, out)
|
|
37
37
|
|
|
38
38
|
def test_print(self) -> None:
|
|
39
39
|
"""Testing for print AstTool."""
|
|
40
|
-
|
|
41
|
-
os.path.dirname(jaclang.__file__),
|
|
40
|
+
jac_file = os.path.join(
|
|
41
|
+
os.path.dirname(jaclang.__file__),
|
|
42
|
+
"../examples/reference/names_and_references.jac",
|
|
42
43
|
)
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
out = AstTool().ir(["ast", jac_directory + jac_file])
|
|
48
|
-
if out == "0:0 - 0:0\tModule\n0:0 - 0:0\t+-- EmptyToken - \n":
|
|
49
|
-
continue
|
|
50
|
-
self.assertIn("+-- Token", out, msg)
|
|
51
|
-
self.assertIsNotNone(out, msg=msg)
|
|
52
|
-
passed += 1
|
|
53
|
-
self.assertGreater(passed, 10)
|
|
44
|
+
msg = "error in " + jac_file
|
|
45
|
+
out = AstTool().ir(["ast", jac_file])
|
|
46
|
+
self.assertIn("+-- Token", out, msg)
|
|
47
|
+
self.assertIsNotNone(out, msg=msg)
|
|
54
48
|
|
|
55
49
|
def test_print_py(self) -> None:
|
|
56
50
|
"""Testing for print_py AstTool."""
|
|
@@ -58,8 +52,11 @@ class JacFormatPassTests(TestCase):
|
|
|
58
52
|
os.path.dirname(jaclang.__file__), "../examples/reference/"
|
|
59
53
|
)
|
|
60
54
|
jac_py_files = [
|
|
61
|
-
f
|
|
55
|
+
f
|
|
56
|
+
for f in os.listdir(jac_py_directory)
|
|
57
|
+
if f.endswith(("names_and_references.jac", "names_and_references.py"))
|
|
62
58
|
]
|
|
59
|
+
|
|
63
60
|
for file in jac_py_files:
|
|
64
61
|
msg = "error in " + file
|
|
65
62
|
out = AstTool().ir(["pyast", jac_py_directory + file])
|
jaclang/utils/treeprinter.py
CHANGED
|
@@ -88,10 +88,14 @@ def print_ast_tree(
|
|
|
88
88
|
from jaclang.compiler.absyntree import AstSymbolNode, Token
|
|
89
89
|
|
|
90
90
|
def __node_repr_in_tree(node: AstNode) -> str:
|
|
91
|
-
if isinstance(node, Token):
|
|
91
|
+
if isinstance(node, Token) and isinstance(node, AstSymbolNode):
|
|
92
|
+
return (
|
|
93
|
+
f"{node.__class__.__name__} - {node.value} - Type: {node.sym_info.typ}"
|
|
94
|
+
)
|
|
95
|
+
elif isinstance(node, Token):
|
|
92
96
|
return f"{node.__class__.__name__} - {node.value}"
|
|
93
97
|
elif isinstance(node, AstSymbolNode):
|
|
94
|
-
return f"{node.__class__.__name__} - {node.sym_name}"
|
|
98
|
+
return f"{node.__class__.__name__} - {node.sym_name} - Type: {node.sym_info.typ}"
|
|
95
99
|
else:
|
|
96
100
|
return f"{node.__class__.__name__}"
|
|
97
101
|
|
|
@@ -211,6 +215,10 @@ def _build_symbol_tree_common(
|
|
|
211
215
|
symbol_node = SymbolTree(node_name=f"{sym.sym_name}", parent=symbols)
|
|
212
216
|
SymbolTree(node_name=f"{sym.access} {sym.sym_type}", parent=symbol_node)
|
|
213
217
|
|
|
218
|
+
# if isinstance(node.owner, ast.AstSymbolNode) and node.owner.sym_info:
|
|
219
|
+
# print("From tree printer", id(node.owner))
|
|
220
|
+
# SymbolTree(node_name=f"Datatype: {node.owner.sym_info.typ}", parent=symbol_node)
|
|
221
|
+
|
|
214
222
|
if sym.decl and sym.decl.loc.first_line > 0:
|
|
215
223
|
SymbolTree(
|
|
216
224
|
node_name=f"decl: line {sym.decl.loc.first_line}, col {sym.decl.loc.col_start}",
|
|
@@ -1,78 +1,80 @@
|
|
|
1
|
-
jaclang/__init__.py,sha256=
|
|
1
|
+
jaclang/__init__.py,sha256=8y03wUXOs-_OI-SQfXzmQBUPHkwKyEM2zGDQvnWMS_k,693
|
|
2
2
|
jaclang/cli/__init__.py,sha256=7aaPgYddIAHBvkdv36ngbfwsimMnfGaTDcaHYMg_vf4,23
|
|
3
|
-
jaclang/cli/cli.py,sha256=
|
|
4
|
-
jaclang/cli/cmdreg.py,sha256=
|
|
5
|
-
jaclang/compiler/__init__.py,sha256=
|
|
6
|
-
jaclang/compiler/absyntree.py,sha256=
|
|
7
|
-
jaclang/compiler/codeloc.py,sha256=
|
|
8
|
-
jaclang/compiler/compile.py,sha256=
|
|
9
|
-
jaclang/compiler/constant.py,sha256=
|
|
10
|
-
jaclang/compiler/parser.py,sha256=
|
|
11
|
-
jaclang/compiler/symtable.py,sha256=
|
|
12
|
-
jaclang/compiler/workspace.py,sha256=
|
|
3
|
+
jaclang/cli/cli.py,sha256=kE7ZR0ZgKuhlFGfszMcNu239uhSO6rt7PIP6UtsHyko,7822
|
|
4
|
+
jaclang/cli/cmdreg.py,sha256=bn2UdOkNbE-4zfbomO2j8rTtkXhsltH4jE5rKqA5HbY,7862
|
|
5
|
+
jaclang/compiler/__init__.py,sha256=Ulx-OBWcdr6Uh9m7vmDUNjA2zy-rx9uKJ59kb63tFGY,955
|
|
6
|
+
jaclang/compiler/absyntree.py,sha256=K58UU0VO3oAjmza6gbyYnm4J1U_YFQ7Nh4J9p4XW_rk,124652
|
|
7
|
+
jaclang/compiler/codeloc.py,sha256=KMwf5OMQu3_uDjIdH7ta2piacUtXNPgUV1t8OuLjpzE,2828
|
|
8
|
+
jaclang/compiler/compile.py,sha256=fS6Uvor93EavESKrwadqp7bstcpMRRACvBkqbr4En04,2682
|
|
9
|
+
jaclang/compiler/constant.py,sha256=C8nOgWLAg-fRg8Qax_jRcYp6jGyWSSA1gwzk9Zdy7HE,6534
|
|
10
|
+
jaclang/compiler/parser.py,sha256=nARBmZhrtBNN140pY1e8z0773GGtK7C95dShjOXJ484,135292
|
|
11
|
+
jaclang/compiler/symtable.py,sha256=SRYSwZtLHXLIOkE9CfdWDkkwx0vDLXvMeYiFfh6-wP4,5769
|
|
12
|
+
jaclang/compiler/workspace.py,sha256=auTT5VDJzwz1w8_WYlt65U6wAYxGtTl1u1v0lofOfo4,7521
|
|
13
13
|
jaclang/compiler/__jac_gen__/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
|
-
jaclang/compiler/__jac_gen__/jac_parser.py,sha256=
|
|
14
|
+
jaclang/compiler/__jac_gen__/jac_parser.py,sha256=jP8ZLmt-q4X-MTzDGX4IDKmVsDCfnY7KTIcFByhuwmU,334046
|
|
15
15
|
jaclang/compiler/passes/__init__.py,sha256=0Tw0d130ZjzA05jVcny9cf5NfLjlaM70PKqFnY4zqn4,69
|
|
16
16
|
jaclang/compiler/passes/ir_pass.py,sha256=ZCcERZZfcOxRurJjOlW5UFj-C1mlp44qpDMsUCH2dUQ,4893
|
|
17
17
|
jaclang/compiler/passes/transform.py,sha256=6t-bbX_s615i7_naOIBjT4wvAkvLFM4niRHYyF4my8A,2086
|
|
18
18
|
jaclang/compiler/passes/main/__init__.py,sha256=93aNqSyI2GyRBrzIkxVc7N8JENKPdwtVWpR3XmZ6wG8,831
|
|
19
|
-
jaclang/compiler/passes/main/def_impl_match_pass.py,sha256=
|
|
20
|
-
jaclang/compiler/passes/main/def_use_pass.py,sha256=
|
|
21
|
-
jaclang/compiler/passes/main/
|
|
22
|
-
jaclang/compiler/passes/main/
|
|
23
|
-
jaclang/compiler/passes/main/
|
|
19
|
+
jaclang/compiler/passes/main/def_impl_match_pass.py,sha256=_KgAVVzMAatigKDp1vAnhyY2GcWf0rRoD8MkfYg-POU,3297
|
|
20
|
+
jaclang/compiler/passes/main/def_use_pass.py,sha256=d2REmfme2HjUj8avDcXUuPbv3yKfvYHqpL49sxniLhQ,8576
|
|
21
|
+
jaclang/compiler/passes/main/fuse_typeinfo_pass.py,sha256=QY-0Cxpb3rYDU4JlO4_WILo9ppsv9GJLlR65YqG32sw,13809
|
|
22
|
+
jaclang/compiler/passes/main/import_pass.py,sha256=d2vguYz7z-aNtVnJUfBoSmbYVdGeKmZbnSnrRnE4cg4,6198
|
|
23
|
+
jaclang/compiler/passes/main/pyast_gen_pass.py,sha256=MqDl2QrO3ECjKSjM-l6nNerm2qo9oweEG87p7mcL9Zo,124064
|
|
24
|
+
jaclang/compiler/passes/main/pyast_load_pass.py,sha256=S2U2rjHGbVIP6oYezW1YCUBvxNGC0c_5OdTpfUpuXZ0,79234
|
|
24
25
|
jaclang/compiler/passes/main/pybc_gen_pass.py,sha256=CjA9AqyMO3Pv_b5Hh0YI6JmCqIru2ASonO6rhrkau-M,1336
|
|
25
|
-
jaclang/compiler/passes/main/pyout_pass.py,sha256=
|
|
26
|
-
jaclang/compiler/passes/main/schedules.py,sha256=
|
|
26
|
+
jaclang/compiler/passes/main/pyout_pass.py,sha256=jw-ApCvVyAqynBFCArPQ20wq2ou0s7lTCGqcUyxrJWI,3018
|
|
27
|
+
jaclang/compiler/passes/main/schedules.py,sha256=H8KIzdTq1Iwj7vkk3J2ek6Sd5fgLzmwPwNu0BJkM-l0,976
|
|
27
28
|
jaclang/compiler/passes/main/sub_node_tab_pass.py,sha256=fGgK0CBWsuD6BS4BsLwXPl1b5UC2N2YEOGa6jNMu8N8,1332
|
|
28
|
-
jaclang/compiler/passes/main/sym_tab_build_pass.py,sha256=
|
|
29
|
-
jaclang/compiler/passes/main/type_check_pass.py,sha256=
|
|
29
|
+
jaclang/compiler/passes/main/sym_tab_build_pass.py,sha256=_NPfmSnDioQb80rVmOJWO_38KCtE238jnImFNlhuYsA,40986
|
|
30
|
+
jaclang/compiler/passes/main/type_check_pass.py,sha256=BT5gUxlBEPYACLyZyoMNPjh4WJY8-wDKRmOIxMRRoMo,3231
|
|
30
31
|
jaclang/compiler/passes/main/tests/__init__.py,sha256=UBAATLUEH3yuBN4LYKnXXV79kokRc4XB-rX12qfu0ds,28
|
|
31
|
-
jaclang/compiler/passes/main/tests/test_decl_def_match_pass.py,sha256=
|
|
32
|
+
jaclang/compiler/passes/main/tests/test_decl_def_match_pass.py,sha256=QDsvTEpJt3AuS3GRwfq-1mezRCpx7rwEEyg1AbusaBs,1374
|
|
32
33
|
jaclang/compiler/passes/main/tests/test_def_use_pass.py,sha256=dmyZgXugOCN-_YY7dxkNHgt8vqey8qzNJf8sWyLLZ5w,1013
|
|
33
34
|
jaclang/compiler/passes/main/tests/test_import_pass.py,sha256=KDTIhUnAVyp0iQ64lC6RQvOkdS7CNVtVbfPbG1aX1L8,580
|
|
34
|
-
jaclang/compiler/passes/main/tests/test_pyast_build_pass.py,sha256=
|
|
35
|
+
jaclang/compiler/passes/main/tests/test_pyast_build_pass.py,sha256=LIT4TP-nhtftRtY5rNySRQlim-dWMSlkfUvkhZTk4pc,1383
|
|
35
36
|
jaclang/compiler/passes/main/tests/test_pyast_gen_pass.py,sha256=QAw3kPE58pQYjVmuqwsd-G-fzlksbiiqvFWrhbaXkdM,4607
|
|
36
37
|
jaclang/compiler/passes/main/tests/test_pybc_gen_pass.py,sha256=If8PE4exN5g9o1NRElNC0XdfIwJAp7M7f69rzmYRYUQ,655
|
|
37
38
|
jaclang/compiler/passes/main/tests/test_sub_node_pass.py,sha256=I8m2SM2Z-OJkRG3CfpzhZkxh4lrKNtFmcu6UuYzZpY0,877
|
|
38
|
-
jaclang/compiler/passes/main/tests/test_sym_tab_build_pass.py,sha256=
|
|
39
|
+
jaclang/compiler/passes/main/tests/test_sym_tab_build_pass.py,sha256=85mUM6mYYLCrQ9AivBIbreG7CgdsJH2zrNOqdcpnwBo,730
|
|
39
40
|
jaclang/compiler/passes/main/tests/test_type_check_pass.py,sha256=bzrVcsBZra2HkQH2_qLdX0CY9wbx9gVxs-mSIeWGvqc,1553
|
|
41
|
+
jaclang/compiler/passes/main/tests/test_typeinfo_pass.py,sha256=ehC0_giLg7NwB7fR10nW5Te8mZ76qmUFxkK1bEjtmrw,129
|
|
40
42
|
jaclang/compiler/passes/tool/__init__.py,sha256=xekCOXysHIcthWm8NRmQoA1Ah1XV8vFbkfeHphJtUdc,223
|
|
41
43
|
jaclang/compiler/passes/tool/fuse_comments_pass.py,sha256=N9a84qArNuTXX1iaXsBzqcufx6A3zYq2p-1ieH6FmHc,3133
|
|
42
|
-
jaclang/compiler/passes/tool/jac_formatter_pass.py,sha256=
|
|
44
|
+
jaclang/compiler/passes/tool/jac_formatter_pass.py,sha256=8VXwe7Ffh89tMGGmmdK28FRUyC5vKOyXiVm38EItxjI,77537
|
|
43
45
|
jaclang/compiler/passes/tool/schedules.py,sha256=kmbsCazAMizGAdQuZpFky5BPlYlMXqNw7wOUzdi_wBo,432
|
|
44
46
|
jaclang/compiler/passes/tool/tests/__init__.py,sha256=AeOaZjA1rf6VAr0JqIit6jlcmOzW7pxGr4U1fOwgK_Y,24
|
|
45
47
|
jaclang/compiler/passes/tool/tests/test_fuse_comments_pass.py,sha256=ZeWHsm7VIyyS8KKpoB2SdlHM4jF22fMfSrfTfxt2MQw,398
|
|
46
48
|
jaclang/compiler/passes/tool/tests/test_jac_format_pass.py,sha256=5RrRgd8WFB_5qk9mBlEgWD0GdoQu8DsG2rgRCsfoObw,4829
|
|
49
|
+
jaclang/compiler/passes/tool/tests/test_unparse_validate.py,sha256=vKcI3jMSDphBt9Arr8THe7CdDVNZZ6hsHl6XwCIR_Rk,1546
|
|
47
50
|
jaclang/compiler/passes/utils/__init__.py,sha256=UsI5rUopTUiStAzup4kbPwIwrnC5ofCrqWBCBbM2-k4,35
|
|
48
|
-
jaclang/compiler/passes/utils/mypy_ast_build.py,sha256=
|
|
51
|
+
jaclang/compiler/passes/utils/mypy_ast_build.py,sha256=qY_QO7rxMOCoPppph0OrCXJD-RJlPQekkDYYfGgfox0,22659
|
|
49
52
|
jaclang/compiler/tests/__init__.py,sha256=qiXa5UNRBanGOcplFKTT9a_9GEyiv7goq1OzuCjDCFE,27
|
|
50
53
|
jaclang/compiler/tests/test_importer.py,sha256=uaiUZVTf_zP5mRZhYZKrRS-vq9RZ7qLrWVhgnqjCd5s,769
|
|
51
|
-
jaclang/compiler/tests/test_parser.py,sha256=
|
|
54
|
+
jaclang/compiler/tests/test_parser.py,sha256=C81mUo8EGwypPTTLRVS9BglP0Dyye9xaPSQtw7cwnnI,4814
|
|
52
55
|
jaclang/compiler/tests/test_workspace.py,sha256=SEBcvz_daTbonrLHK9FbjiH86TUbOtVGH-iZ3xkJSMk,3184
|
|
53
56
|
jaclang/compiler/tests/fixtures/__init__.py,sha256=udQ0T6rajpW_nMiYKJNckqP8izZ-pH3P4PNTJEln2NU,36
|
|
54
57
|
jaclang/compiler/tests/fixtures/activity.py,sha256=fSvxYDKufsPeQIrbuh031zHw_hdbRv5iK9mS7dD8E54,263
|
|
55
|
-
jaclang/compiler/tests/fixtures/__jac_gen__/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
56
|
-
jaclang/compiler/tests/fixtures/__jac_gen__/hello_world.py,sha256=KTrjDZb7nsRdlxY3Poc_ShDi_SfIfOQqaqG9SYU_6UA,117
|
|
57
58
|
jaclang/core/__init__.py,sha256=jDDYBCV82qPhmcDVk3NIvHbhng0ebSrXD3xrojg0-eo,34
|
|
58
|
-
jaclang/core/
|
|
59
|
-
jaclang/core/
|
|
60
|
-
jaclang/core/
|
|
61
|
-
jaclang/core/utils.py,sha256=
|
|
59
|
+
jaclang/core/aott.py,sha256=DYk_jFdcTY5AMXpHePeHONquaPcq9UgIGk_sUrtwsbQ,1741
|
|
60
|
+
jaclang/core/construct.py,sha256=jZLere0irH-z2hjfc3Enuq9FmvWSiMjmDpDc5x4WkV0,13436
|
|
61
|
+
jaclang/core/importer.py,sha256=_ahfUAg8egcLkBxkh-2xzOPEa4gz1a0-6zrxeQDxkRg,3370
|
|
62
|
+
jaclang/core/utils.py,sha256=n400FVGmps2mLvXXoyhN5Ovr78YMD7a8f5yrSwSO4cY,3173
|
|
62
63
|
jaclang/plugin/__init__.py,sha256=qLbQ2KjwyTvlV50Q7JTIznyIzuGDPjuwM_ZJjdk-avo,182
|
|
63
|
-
jaclang/plugin/
|
|
64
|
-
jaclang/plugin/
|
|
65
|
-
jaclang/plugin/
|
|
64
|
+
jaclang/plugin/builtin.py,sha256=D1R4GGNHX96P-wZnGm9OI4dMeCJvuXuHkCw2Cl5vaAU,1201
|
|
65
|
+
jaclang/plugin/default.py,sha256=Nl_yxjr7g5jZ1atblCfDs6oWZBFF99dZCzzsdTBXvAk,17573
|
|
66
|
+
jaclang/plugin/feature.py,sha256=p7kVaoX7JZvxde5Ms9tSiRWCZ8nOBANPZ_NwwN5uWas,7643
|
|
67
|
+
jaclang/plugin/spec.py,sha256=0oL0eJP-gWHyvGI4zpRz5OhK-wMq9kWyYAsV-okgJxk,6949
|
|
66
68
|
jaclang/plugin/tests/__init__.py,sha256=rn_tNG8jCHWwBc_rx4yFkGc4N1GISb7aPuTFVRTvrTk,38
|
|
67
69
|
jaclang/plugin/tests/test_features.py,sha256=uNQ52HHc0GiOGg5xUZk-ddafdtud0IHN4H_EUAs4er4,3547
|
|
68
70
|
jaclang/utils/__init__.py,sha256=86LQ_LDyWV-JFkYBpeVHpLaVxkqwFDP60XpWXOFZIQk,46
|
|
69
|
-
jaclang/utils/helpers.py,sha256=
|
|
70
|
-
jaclang/utils/lang_tools.py,sha256=
|
|
71
|
+
jaclang/utils/helpers.py,sha256=V4mMBGP6cVp5lN9Dq99HQTZLMLyg8EVxuMR1I0ABV5I,4093
|
|
72
|
+
jaclang/utils/lang_tools.py,sha256=4GAeTTITQhzR2nUzSt16WXRjctMM0BEpW93JBvGXOaU,10905
|
|
71
73
|
jaclang/utils/log.py,sha256=G8Y_DnETgTh9xzvlW5gh9zqJ1ap4YY_MDTwIMu5Uc0Y,262
|
|
72
|
-
jaclang/utils/test.py,sha256=
|
|
73
|
-
jaclang/utils/treeprinter.py,sha256=
|
|
74
|
+
jaclang/utils/test.py,sha256=LQKtY_DnWXUBbGVnpp05oMeGn24bTxawqrz5ZqZK0dQ,5444
|
|
75
|
+
jaclang/utils/treeprinter.py,sha256=RV7mmnlUdla_dYxIrwxsV2F32ncgEnB9PdA3ZnKLxPE,10934
|
|
74
76
|
jaclang/utils/tests/__init__.py,sha256=8uwVqMsc6cxBAM1DuHLuNuTnzLXqOqM-WRa4ixOMF6w,23
|
|
75
|
-
jaclang/utils/tests/test_lang_tools.py,sha256=
|
|
77
|
+
jaclang/utils/tests/test_lang_tools.py,sha256=F95RBtFlk04z4me90yq-1p-p8QZzadjJ8mOLm7CblMc,3874
|
|
76
78
|
jaclang/vendor/__init__.py,sha256=pbflH5hBfDiKfTJEjIXId44Eof8CVmXQlZwFYDG6_4E,35
|
|
77
79
|
jaclang/vendor/mypy_extensions.py,sha256=iOL3eH2aQfacxQHcut7VgXt69Fh0BUTVW6D0TYjeV7U,6903
|
|
78
80
|
jaclang/vendor/typing_extensions.py,sha256=46svwxMQkcZjZuJyb-kYHy_FgpXPZQY4vjGJmUcVLJ0,104792
|
|
@@ -398,8 +400,8 @@ jaclang/vendor/pluggy/_manager.py,sha256=fcYU7VER0CplRym4jAJ7RCFYl6cfDSeVM589YHH
|
|
|
398
400
|
jaclang/vendor/pluggy/_result.py,sha256=wXDoVy68bOaOrBzQ0bWFb3HTbpqhvdQMgYwaZvfzxfA,3239
|
|
399
401
|
jaclang/vendor/pluggy/_tracing.py,sha256=kSBr25F_rNklV2QhLD6h1jx6Z1kcKDRbuYvF5jv35pU,2089
|
|
400
402
|
jaclang/vendor/pluggy/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
401
|
-
jaclang-0.5.
|
|
402
|
-
jaclang-0.5.
|
|
403
|
-
jaclang-0.5.
|
|
404
|
-
jaclang-0.5.
|
|
405
|
-
jaclang-0.5.
|
|
403
|
+
jaclang-0.5.8.dist-info/METADATA,sha256=UTKjkxxbfs09CnrqWJw5acY-YqYIzV8YnhVgTgthcwQ,152
|
|
404
|
+
jaclang-0.5.8.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
|
405
|
+
jaclang-0.5.8.dist-info/entry_points.txt,sha256=Z-snS3MDBdV1Z4znXDZTenyyndovaNjqRkDW1t2kYSs,50
|
|
406
|
+
jaclang-0.5.8.dist-info/top_level.txt,sha256=ZOAoLpE67ozkUJd-v3C59wBNXiteRD8IWPbsYB3M08g,8
|
|
407
|
+
jaclang-0.5.8.dist-info/RECORD,,
|
|
File without changes
|
jaclang/core/jacbuiltins.py
DELETED
|
File without changes
|
|
File without changes
|