vex-ast 0.2.5__py3-none-any.whl → 0.2.6__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.
- vex_ast/README.md +101 -51
- vex_ast/READMEAPI.md +133 -318
- vex_ast/__init__.py +81 -81
- vex_ast/ast/README.md +87 -87
- vex_ast/ast/__init__.py +74 -74
- vex_ast/ast/core.py +71 -71
- vex_ast/ast/expressions.py +276 -276
- vex_ast/ast/interfaces.py +208 -208
- vex_ast/ast/literals.py +80 -80
- vex_ast/ast/navigator.py +225 -225
- vex_ast/ast/operators.py +135 -135
- vex_ast/ast/statements.py +351 -351
- vex_ast/ast/validators.py +121 -121
- vex_ast/ast/vex_nodes.py +279 -279
- vex_ast/parser/README.md +47 -47
- vex_ast/parser/__init__.py +26 -26
- vex_ast/parser/factory.py +190 -190
- vex_ast/parser/interfaces.py +34 -34
- vex_ast/parser/python_parser.py +831 -831
- vex_ast/registry/README.md +107 -29
- vex_ast/registry/__init__.py +51 -51
- vex_ast/registry/api.py +190 -155
- vex_ast/registry/categories.py +179 -136
- vex_ast/registry/functions/__init__.py +10 -10
- vex_ast/registry/functions/constructors.py +71 -35
- vex_ast/registry/functions/display.py +146 -146
- vex_ast/registry/functions/drivetrain.py +163 -163
- vex_ast/registry/functions/initialize.py +31 -31
- vex_ast/registry/functions/motor.py +140 -140
- vex_ast/registry/functions/sensors.py +194 -194
- vex_ast/registry/functions/timing.py +103 -103
- vex_ast/registry/language_map.py +77 -77
- vex_ast/registry/registry.py +164 -153
- vex_ast/registry/signature.py +269 -191
- vex_ast/registry/simulation_behavior.py +8 -8
- vex_ast/registry/validation.py +43 -43
- vex_ast/serialization/__init__.py +37 -37
- vex_ast/serialization/json_deserializer.py +284 -284
- vex_ast/serialization/json_serializer.py +148 -148
- vex_ast/serialization/schema.py +492 -492
- vex_ast/types/README.md +78 -26
- vex_ast/types/__init__.py +140 -140
- vex_ast/types/base.py +83 -83
- vex_ast/types/enums.py +122 -122
- vex_ast/types/objects.py +64 -64
- vex_ast/types/primitives.py +68 -68
- vex_ast/types/type_checker.py +31 -31
- vex_ast/utils/README.md +39 -39
- vex_ast/utils/__init__.py +37 -37
- vex_ast/utils/errors.py +112 -112
- vex_ast/utils/source_location.py +38 -38
- vex_ast/utils/type_definitions.py +8 -8
- vex_ast/visitors/README.md +49 -49
- vex_ast/visitors/__init__.py +27 -27
- vex_ast/visitors/analyzer.py +102 -102
- vex_ast/visitors/base.py +133 -133
- vex_ast/visitors/printer.py +196 -196
- {vex_ast-0.2.5.dist-info → vex_ast-0.2.6.dist-info}/METADATA +206 -174
- vex_ast-0.2.6.dist-info/RECORD +64 -0
- vex_ast-0.2.5.dist-info/RECORD +0 -64
- {vex_ast-0.2.5.dist-info → vex_ast-0.2.6.dist-info}/WHEEL +0 -0
- {vex_ast-0.2.5.dist-info → vex_ast-0.2.6.dist-info}/licenses/LICENSE +0 -0
- {vex_ast-0.2.5.dist-info → vex_ast-0.2.6.dist-info}/top_level.txt +0 -0
@@ -1,174 +1,206 @@
|
|
1
|
-
Metadata-Version: 2.4
|
2
|
-
Name: vex_ast
|
3
|
-
Version: 0.2.
|
4
|
-
Summary: A Python package for generating Abstract Syntax Trees for VEX V5 code.
|
5
|
-
Home-page: https://github.com/heartx2/vex_ast
|
6
|
-
Author: Chaze
|
7
|
-
Author-email: Chaze <chazelexander@gmail.com>
|
8
|
-
License: HX2's Vex AST © 2025 by charkwayteowy is licensed under CC BY-NC 4.0
|
9
|
-
Project-URL: Repository, https://github.com/heartx2/vex_ast
|
10
|
-
Classifier: Development Status :: 3 - Alpha
|
11
|
-
Classifier: Intended Audience :: Developers
|
12
|
-
Classifier: Programming Language :: Python :: 3
|
13
|
-
Classifier: Programming Language :: Python :: 3.8
|
14
|
-
Classifier: Programming Language :: Python :: 3.9
|
15
|
-
Classifier: Programming Language :: Python :: 3.10
|
16
|
-
Classifier: Programming Language :: Python :: 3.11
|
17
|
-
Classifier: Topic :: Software Development :: Compilers
|
18
|
-
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
19
|
-
Requires-Python: >=3.8
|
20
|
-
Description-Content-Type: text/markdown
|
21
|
-
License-File: LICENSE
|
22
|
-
Dynamic: author
|
23
|
-
Dynamic: home-page
|
24
|
-
Dynamic: license-file
|
25
|
-
Dynamic: requires-python
|
26
|
-
|
27
|
-
# VEX AST Generator
|
28
|
-
|
29
|
-
A Python package for generating Abstract Syntax Trees (ASTs) for VEX V5 Robot Python code.
|
30
|
-
|
31
|
-
## Project Goal
|
32
|
-
|
33
|
-
The primary goal of this project is to provide a robust and extensible framework for parsing VEX V5 Python code and representing it as an Abstract Syntax Tree (AST). This AST can then be used for various purposes, such as static analysis, code transformation, simulation, or integration with other development tools specific to the VEX ecosystem.
|
34
|
-
|
35
|
-
##
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
##
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
*
|
53
|
-
*
|
54
|
-
* `vex_ast
|
55
|
-
*
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
#
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
```
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
1
|
+
Metadata-Version: 2.4
|
2
|
+
Name: vex_ast
|
3
|
+
Version: 0.2.6
|
4
|
+
Summary: A Python package for generating Abstract Syntax Trees for VEX V5 code.
|
5
|
+
Home-page: https://github.com/heartx2/vex_ast
|
6
|
+
Author: Chaze
|
7
|
+
Author-email: Chaze <chazelexander@gmail.com>
|
8
|
+
License: HX2's Vex AST © 2025 by charkwayteowy is licensed under CC BY-NC 4.0
|
9
|
+
Project-URL: Repository, https://github.com/heartx2/vex_ast
|
10
|
+
Classifier: Development Status :: 3 - Alpha
|
11
|
+
Classifier: Intended Audience :: Developers
|
12
|
+
Classifier: Programming Language :: Python :: 3
|
13
|
+
Classifier: Programming Language :: Python :: 3.8
|
14
|
+
Classifier: Programming Language :: Python :: 3.9
|
15
|
+
Classifier: Programming Language :: Python :: 3.10
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
17
|
+
Classifier: Topic :: Software Development :: Compilers
|
18
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
19
|
+
Requires-Python: >=3.8
|
20
|
+
Description-Content-Type: text/markdown
|
21
|
+
License-File: LICENSE
|
22
|
+
Dynamic: author
|
23
|
+
Dynamic: home-page
|
24
|
+
Dynamic: license-file
|
25
|
+
Dynamic: requires-python
|
26
|
+
|
27
|
+
# VEX AST Generator
|
28
|
+
|
29
|
+
A Python package for generating Abstract Syntax Trees (ASTs) for VEX V5 Robot Python code.
|
30
|
+
|
31
|
+
## Project Goal
|
32
|
+
|
33
|
+
The primary goal of this project is to provide a robust and extensible framework for parsing VEX V5 Python code and representing it as an Abstract Syntax Tree (AST). This AST can then be used for various purposes, such as static analysis, code transformation, simulation, or integration with other development tools specific to the VEX ecosystem.
|
34
|
+
|
35
|
+
## Recent Updates (v0.2.6)
|
36
|
+
|
37
|
+
### Major Registry Overhaul
|
38
|
+
- Introduced a modern category system with `VexCategory` and `BehaviorType` enums
|
39
|
+
- Improved function organization and querying capabilities
|
40
|
+
- Added missing Brain and Controller constructors
|
41
|
+
- Maintained full backward compatibility
|
42
|
+
|
43
|
+
### Enhanced API
|
44
|
+
- New methods for behavior-based function queries
|
45
|
+
- Combined category and behavior search functionality
|
46
|
+
- Improved validation mechanisms
|
47
|
+
|
48
|
+
## Features (Implemented)
|
49
|
+
|
50
|
+
* Parsing of standard Python syntax relevant to VEX programming.
|
51
|
+
* Generation of a well-defined AST structure using custom node types.
|
52
|
+
* Representation of core Python constructs (variables, functions, loops, conditionals, expressions).
|
53
|
+
* Specific AST nodes for common VEX API patterns (e.g., `MotorControl`, `SensorReading`).
|
54
|
+
* Visitor pattern implementation (`vex_ast.visitors`) for easy AST traversal and manipulation.
|
55
|
+
* Basic analysis visitors (`NodeCounter`, `VariableCollector`).
|
56
|
+
* AST pretty-printing visitor (`PrintVisitor`).
|
57
|
+
* Error handling and reporting with source location information (`vex_ast.utils`).
|
58
|
+
* JSON serialization and deserialization of AST nodes (`vex_ast.serialization`).
|
59
|
+
* JSON Schema generation for AST structure validation and documentation.
|
60
|
+
* Modern registry system with dual-axis categorization.
|
61
|
+
|
62
|
+
## Library Structure
|
63
|
+
|
64
|
+
The core library is within the `vex_ast` directory:
|
65
|
+
|
66
|
+
* `vex_ast/ast/`: Defines the structure and node types of the Abstract Syntax Tree.
|
67
|
+
* `vex_ast/parser/`: Contains the logic for parsing Python source code into the AST.
|
68
|
+
* `vex_ast/visitors/`: Provides tools for traversing and analyzing the generated AST.
|
69
|
+
* `vex_ast/utils/`: Includes helper modules for error handling and source location tracking.
|
70
|
+
* `vex_ast/registry/`: Modern function registry with category/behavior classification.
|
71
|
+
* `vex_ast/types/`: Type system for VEX components and values.
|
72
|
+
|
73
|
+
## Setup
|
74
|
+
|
75
|
+
1. **Clone the repository:**
|
76
|
+
```bash
|
77
|
+
git clone https://github.com/heartx2/vex_ast # Replace with actual URL
|
78
|
+
cd vex_ast
|
79
|
+
```
|
80
|
+
|
81
|
+
2. **Create and activate a virtual environment:**
|
82
|
+
```bash
|
83
|
+
python3 -m venv .venv
|
84
|
+
source .venv/bin/activate # On Windows use `.venv\Scripts\activate`
|
85
|
+
```
|
86
|
+
|
87
|
+
3. **Install dependencies:**
|
88
|
+
```bash
|
89
|
+
pip install -r requirements.txt
|
90
|
+
```
|
91
|
+
|
92
|
+
4. **(Optional) Install for development:**
|
93
|
+
If you plan to contribute to the project, install it in editable mode along with development dependencies:
|
94
|
+
```bash
|
95
|
+
pip install -e .[dev]
|
96
|
+
```
|
97
|
+
|
98
|
+
## Usage Example
|
99
|
+
|
100
|
+
### Basic Parsing and Printing
|
101
|
+
|
102
|
+
```python
|
103
|
+
from vex_ast import parse_string
|
104
|
+
from vex_ast.visitors.printer import PrintVisitor
|
105
|
+
|
106
|
+
# VEX-like Python code
|
107
|
+
code = """
|
108
|
+
left_motor = Motor("port1")
|
109
|
+
right_motor = Motor("port10")
|
110
|
+
|
111
|
+
def drive_forward(speed_percent):
|
112
|
+
left_motor.spin(FORWARD, speed_percent, PERCENT)
|
113
|
+
right_motor.spin(FORWARD, speed_percent, PERCENT)
|
114
|
+
wait(1, SECONDS)
|
115
|
+
left_motor.stop()
|
116
|
+
right_motor.stop()
|
117
|
+
|
118
|
+
drive_forward(50)
|
119
|
+
print("Movement complete!")
|
120
|
+
"""
|
121
|
+
|
122
|
+
try:
|
123
|
+
# Parse the code string into an AST
|
124
|
+
ast_tree = parse_string(code)
|
125
|
+
|
126
|
+
# Use the PrintVisitor to get a textual representation of the AST
|
127
|
+
printer = PrintVisitor()
|
128
|
+
ast_representation = printer.visit(ast_tree)
|
129
|
+
|
130
|
+
print("--- AST Representation ---")
|
131
|
+
print(ast_representation)
|
132
|
+
|
133
|
+
except Exception as e:
|
134
|
+
print(f"An error occurred: {e}")
|
135
|
+
```
|
136
|
+
|
137
|
+
### Registry Access
|
138
|
+
|
139
|
+
```python
|
140
|
+
from vex_ast.registry.api import registry_api
|
141
|
+
from vex_ast.registry.categories import VexCategory, BehaviorType
|
142
|
+
|
143
|
+
# Find motor control functions
|
144
|
+
motor_control = registry_api.get_functions_by_category_and_behavior(
|
145
|
+
VexCategory.MOTOR,
|
146
|
+
BehaviorType.CONTROL
|
147
|
+
)
|
148
|
+
|
149
|
+
# Validate function calls
|
150
|
+
valid, error = registry_api.validate_call("motor.spin", [FORWARD, 50, "RPM"], {})
|
151
|
+
```
|
152
|
+
|
153
|
+
### Serialization and Deserialization
|
154
|
+
|
155
|
+
```python
|
156
|
+
from vex_ast import (
|
157
|
+
parse_string,
|
158
|
+
serialize_ast_to_json,
|
159
|
+
deserialize_ast_from_json,
|
160
|
+
export_schema_to_file
|
161
|
+
)
|
162
|
+
|
163
|
+
# Parse code into an AST
|
164
|
+
code = "x = 10 + 20"
|
165
|
+
ast = parse_string(code)
|
166
|
+
|
167
|
+
# Serialize the AST to JSON
|
168
|
+
json_str = serialize_ast_to_json(ast, indent=2)
|
169
|
+
print(json_str)
|
170
|
+
|
171
|
+
# Save the AST to a file
|
172
|
+
with open("ast.json", "w") as f:
|
173
|
+
f.write(json_str)
|
174
|
+
|
175
|
+
# Later, load the AST from JSON
|
176
|
+
with open("ast.json", "r") as f:
|
177
|
+
loaded_json = f.read()
|
178
|
+
|
179
|
+
# Deserialize back to an AST object
|
180
|
+
loaded_ast = deserialize_ast_from_json(loaded_json)
|
181
|
+
|
182
|
+
# Generate and export a JSON schema
|
183
|
+
export_schema_to_file("ast_schema.json")
|
184
|
+
```
|
185
|
+
|
186
|
+
## Development
|
187
|
+
|
188
|
+
```bash
|
189
|
+
# Running Tests
|
190
|
+
pytest
|
191
|
+
|
192
|
+
# Type Checking
|
193
|
+
mypy vex_ast
|
194
|
+
|
195
|
+
# Formatting and Linting
|
196
|
+
black vex_ast tests
|
197
|
+
flake8 vex_ast tests
|
198
|
+
```
|
199
|
+
|
200
|
+
## Contributing
|
201
|
+
|
202
|
+
Contributions are welcome! Please follow the established coding standards and ensure tests pass before submitting a pull request.
|
203
|
+
|
204
|
+
## License
|
205
|
+
|
206
|
+
HX2's Vex AST © 2025 by charkwayteowy is licensed under CC BY-NC 4.0
|
@@ -0,0 +1,64 @@
|
|
1
|
+
vex_ast/README.md,sha256=Ug8m53-HuUl7t5CBJvqmaaKWGZcFD7G1pioFDm2rBWQ,2639
|
2
|
+
vex_ast/READMEAPI.md,sha256=xkq263kzQw2lqc1HYFtxUwTowCA5HmT5QtH5YT3YUjY,3746
|
3
|
+
vex_ast/__init__.py,sha256=O7paH62gBkKo3OrUVEoAHHAzynMffaruwQC6bLJ3rnw,2271
|
4
|
+
vex_ast/ast/README.md,sha256=jCmoS2vcQ6_WFeKZV3DaBybaNkjELPcNd-ao2-DLpTg,3292
|
5
|
+
vex_ast/ast/__init__.py,sha256=yzm4PdjF6nZ0z5nI0vYkcKA3ITCUpdcYo1h4bwyj9Sg,2508
|
6
|
+
vex_ast/ast/core.py,sha256=Q7Rqww_88XnaNcMdKSqfOD7i8v5bzoBzpv-wcbvTbS4,2741
|
7
|
+
vex_ast/ast/expressions.py,sha256=XY5oI_nW0STSUt36V5x8-I7QIgHH9iqINBIs8RAqF8I,9680
|
8
|
+
vex_ast/ast/interfaces.py,sha256=mRGu4yOFdRUul21Ixvs8cvhdQwQEeMYzFuALYo8LHQE,6656
|
9
|
+
vex_ast/ast/literals.py,sha256=lE56-57hLXShXSKaX16hA6tY_zahKZz9d_uoiFAMWV4,2698
|
10
|
+
vex_ast/ast/navigator.py,sha256=6-KYVizv2czxENAkbp14VzHHlQ47puZq1Z9hr7n0S5A,7754
|
11
|
+
vex_ast/ast/operators.py,sha256=2X0XftjPcW3V8_0yR-0_-Diej-uo-DYAOSFKyZ0rdB4,3295
|
12
|
+
vex_ast/ast/statements.py,sha256=IygLbbPFrApacbCBTBg0OFU4DRMtoL2mvkKQ4aLKHNw,12192
|
13
|
+
vex_ast/ast/validators.py,sha256=gTude4HH5sBr4hl8sAp_eV6PI331uYIwpPlQTS7ChTU,4795
|
14
|
+
vex_ast/ast/vex_nodes.py,sha256=1_t2t7fOgT_aghkbhise7UCfXzyj6Xf5rodo62OCbgc,12260
|
15
|
+
vex_ast/parser/README.md,sha256=CIuj-w5L6-sM6ZsYK5_g_bw6fzrBmrcieFLwq9umnOk,2612
|
16
|
+
vex_ast/parser/__init__.py,sha256=7lVQfDC57QVGoyu0hDwq9AfNtUHE3q7F1gLo1Kr6qeI,530
|
17
|
+
vex_ast/parser/factory.py,sha256=bMxBW0iT_MuXDq2bDxmzBSMPKCnyQpZ43EN5km_1tMI,9688
|
18
|
+
vex_ast/parser/interfaces.py,sha256=JoPGY8Z_vfUvwfpqUvAw0smphrbDOrbi4CdnP72qm84,990
|
19
|
+
vex_ast/parser/python_parser.py,sha256=jDTaTHxZnNnlK4CXU_tjuYdMzMLp7sOchbmq9T44YZ4,35532
|
20
|
+
vex_ast/parser/strategies.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
21
|
+
vex_ast/registry/README.md,sha256=oQ1QpU6uElyZcElgoHrtGv_rHkgH4uSh9I81JPSqoss,3567
|
22
|
+
vex_ast/registry/__init__.py,sha256=aw7j3-LBcXPeLqO0B5f6K8JLPOjCd8yZBOABAYlFvk0,1239
|
23
|
+
vex_ast/registry/api.py,sha256=uytN5pguCZfuxVBi-tU-G5UC13SkkbBX_1kbtYc_58g,6956
|
24
|
+
vex_ast/registry/categories.py,sha256=mVkBGxVq_ekhKqO56SQCLKkQMpK2AQHZ1w-AUbOiNoU,7017
|
25
|
+
vex_ast/registry/language_map.py,sha256=Svy17frmKTonOdi6XShLJmUc_QoJeZPm1n2R99Xq7uE,2733
|
26
|
+
vex_ast/registry/registry.py,sha256=HQVUxGO5vnvzf55spypDGg0g-FqY-q-g4oHrV4o4bnM,7451
|
27
|
+
vex_ast/registry/signature.py,sha256=k4YbzSmGVrjTNEhqWHgysoN3ADJLUHN0GJz6D_6-Rwc,12211
|
28
|
+
vex_ast/registry/simulation_behavior.py,sha256=bMzV1MSmpj-TynW_u9lJzZ_M-qYXYFZ0YcnkAtgN2Y0,321
|
29
|
+
vex_ast/registry/validation.py,sha256=cjBWqyuO1MmWXhP-DwQ7OQ9oPaULfydoe6awr95eL7g,2016
|
30
|
+
vex_ast/registry/functions/__init__.py,sha256=czanAPKAqAh6Y62Ts7jP3DJnyu85E3T6JorUhWWeF0M,217
|
31
|
+
vex_ast/registry/functions/constructors.py,sha256=H1puqF5o2gYJvVbejVybT4wqsOt3PkDXxM3deJMS4Yo,2541
|
32
|
+
vex_ast/registry/functions/display.py,sha256=yrExl_RwfIQajeusyvx-xmhR28_151QhTF649iORsAE,5000
|
33
|
+
vex_ast/registry/functions/drivetrain.py,sha256=UHnvLAaaVDQdpPGCnsI3f15-QJ_AjI6Gp8GzlVS39As,6470
|
34
|
+
vex_ast/registry/functions/initialize.py,sha256=NixNJfnNlIN7dF2w3hiaNjzuVuNQLwzVt6wv-6V7N50,916
|
35
|
+
vex_ast/registry/functions/motor.py,sha256=LUU75Jm_DA2dZEdDcYPbAU3LtJvPtf2LFvQ8qrBwx30,5358
|
36
|
+
vex_ast/registry/functions/sensors.py,sha256=ZZOO-OhlGe_RTPBZ1m1fkqAJbhdWIWuM8j4Ap5RzMbg,6604
|
37
|
+
vex_ast/registry/functions/timing.py,sha256=Bze1VGvgbmXbT4ZZSvOmAvUxkcN6lrvWytg-Z_Wm8_g,3307
|
38
|
+
vex_ast/serialization/__init__.py,sha256=7pYoXxrgXbgYqcJ9FbXe9KYXUWMtS08dZ07xhe1e7Mo,872
|
39
|
+
vex_ast/serialization/json_deserializer.py,sha256=1nOHHthYgy9r7A80Y3Dnrq5i69RfCEBHooebufjh7sw,12017
|
40
|
+
vex_ast/serialization/json_serializer.py,sha256=rfnIhTf17h7gLhQK66ED4FeMlyTn5NnLOKEqiAeFRcY,4613
|
41
|
+
vex_ast/serialization/schema.py,sha256=rOyiUJGyoXNS4MkkiLXoW2pglZL3tgVRRhYr8lkqvYg,15835
|
42
|
+
vex_ast/types/README.md,sha256=Z0OWK0Fk4gCl_Du50g7_r5Dg1m3kQimMjy4Bk-c_DS4,2423
|
43
|
+
vex_ast/types/__init__.py,sha256=NmoVlxv3E9sSCJgRKfIoRcDNI3Ey8nM3tgu_NvLmUlo,2303
|
44
|
+
vex_ast/types/base.py,sha256=_l2pR8Di19gvOQwnA1LYC4x5bURh029uLSfXc914ZTo,2341
|
45
|
+
vex_ast/types/enums.py,sha256=cIYr-3DVgDBckk80-nvBHYKEjb5-JItHKOK2c_tBQ-E,3045
|
46
|
+
vex_ast/types/objects.py,sha256=bu41TFjELnaA3OtSqrVOogyDFwU9gxN0_bO_-_8AvOA,2344
|
47
|
+
vex_ast/types/primitives.py,sha256=UTtics3KPNQJGfKCr5tULjBPTLcidTpF-Cu54SMl7CQ,1996
|
48
|
+
vex_ast/types/type_checker.py,sha256=ICPBU3njXW5mvqCq_5yTXswwBmgvNpv5L_ZnMB3bp9Y,1114
|
49
|
+
vex_ast/utils/README.md,sha256=unCWENWK--IVMhgxdpnczfOdLSXf2C1Sp5SxFKTyCjg,1984
|
50
|
+
vex_ast/utils/__init__.py,sha256=h_HT1fuD8fx8yQ-ipEUCm1LOtGzcWCSDNOtHFKGJzTo,658
|
51
|
+
vex_ast/utils/errors.py,sha256=1OjNJUVjPVO55nLyOx0GtYxRa-VOtjsOnzgShzHVkhs,3962
|
52
|
+
vex_ast/utils/source_location.py,sha256=JQ7zt7k_kaWmHAu9Higs35thBuWbsQbQxujLhCuSVP8,1335
|
53
|
+
vex_ast/utils/type_definitions.py,sha256=XLuOAOQyDW4G8is1hA28Rksy7u7lV1Uh4YkaQXKlJQY,321
|
54
|
+
vex_ast/visitors/README.md,sha256=UZlg_AsFGB58xmgRXj6hbiPv0-Pa6QkuhgZVOyiDcOU,2774
|
55
|
+
vex_ast/visitors/__init__.py,sha256=O6Yr4uwc-RSpvaileOsLiMwHp61eJaWnxQrc3Xa5jsY,519
|
56
|
+
vex_ast/visitors/analyzer.py,sha256=8uuJA00h4g6cski7vmcCQfDVfpJF-2DkU_y5dF5mUC8,3770
|
57
|
+
vex_ast/visitors/base.py,sha256=Wgf0wholPhZkV4oN5IWN34A1tKItENZCN96vbBEhD1k,5111
|
58
|
+
vex_ast/visitors/printer.py,sha256=2H9gwGXXRsa6xZyiQE5cNfsGGjn71bBQ-T-gdXiPCOs,7281
|
59
|
+
vex_ast/visitors/transformer.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
60
|
+
vex_ast-0.2.6.dist-info/licenses/LICENSE,sha256=IOSlfCuxGv4OAg421BRDKVi16RZ7-5kCMJ4B16r4kuc,69
|
61
|
+
vex_ast-0.2.6.dist-info/METADATA,sha256=Jgqi8xwYLiAq7W_Ud1C464l_ShVlKZxEHWSlKUTyB0E,6551
|
62
|
+
vex_ast-0.2.6.dist-info/WHEEL,sha256=pxyMxgL8-pra_rKaQ4drOZAegBVuX-G_4nRHjjgWbmo,91
|
63
|
+
vex_ast-0.2.6.dist-info/top_level.txt,sha256=MoZGrpKgNUDiqL9gWp4q3wMw3q93XPEEjmBNPJQcNAs,8
|
64
|
+
vex_ast-0.2.6.dist-info/RECORD,,
|
vex_ast-0.2.5.dist-info/RECORD
DELETED
@@ -1,64 +0,0 @@
|
|
1
|
-
vex_ast/README.md,sha256=tRaq6n2Ab4IahHSo3utW2imVuTrJu_7zaelgF-lGBYo,2007
|
2
|
-
vex_ast/READMEAPI.md,sha256=hGn4IMT9NnI_LW0kd36BdKKXdIhYFLbQcgbVj1EWJps,9107
|
3
|
-
vex_ast/__init__.py,sha256=8ukka9XcnyWiqp7TSOOk4JBbHyj7Jw2oABJMUnF_K8g,2190
|
4
|
-
vex_ast/ast/README.md,sha256=7IQDHEXmKyJ8zfJNwa3pMGTDZKVPMFD0YeHT06ATRyM,3205
|
5
|
-
vex_ast/ast/__init__.py,sha256=_KT8R_WG9_DLvPlDhVCNWz-yw0OtdoKxxWZYbtloCzU,2434
|
6
|
-
vex_ast/ast/core.py,sha256=q-15q5VfGIVPAmFsSiWeFAZ55MPsXfCRa21rrt2hmlM,2670
|
7
|
-
vex_ast/ast/expressions.py,sha256=FGGWyNpJynnXqw0W_M08pGwa8wplF0oucbqk4x2W7SI,9404
|
8
|
-
vex_ast/ast/interfaces.py,sha256=KR_3jM5J97vQb6O5cgDzBi7IIQHjr2uXTobaVCT6RSg,6448
|
9
|
-
vex_ast/ast/literals.py,sha256=PXbOH5Y2fxEngWk_FOiFsx3PC2SEqcx0bcfOGJ3SdbI,2618
|
10
|
-
vex_ast/ast/navigator.py,sha256=9DaVXrknBbBr4omAAMHQnZL9Wpj5wjtoCS6_lni8MYM,7529
|
11
|
-
vex_ast/ast/operators.py,sha256=I-yWvhsrz-OxmBZs5zIss_GTZF5S-nwcSmIzvAVtddM,3160
|
12
|
-
vex_ast/ast/statements.py,sha256=OWRthjYGmTuNozYAHjh_Enp5t-hR1PphtPnFg31FeWw,11841
|
13
|
-
vex_ast/ast/validators.py,sha256=pLiWfbNwkElYwBsf_uFqaGqZf6yjARCkqB5G1DAn2Q4,4674
|
14
|
-
vex_ast/ast/vex_nodes.py,sha256=8Wq9vl8Mp70E3fxEut9tB6WZE1z0Q_i5V0qh_5Zoeag,11981
|
15
|
-
vex_ast/parser/README.md,sha256=P1qq_97skpgluLDpNu9V_pAdkuF9StjkzOEXJJYpEuM,2565
|
16
|
-
vex_ast/parser/__init__.py,sha256=LGHnFm3UzR4Nw7royGH3c_2RqeY66y8O6DdXHbm9yL4,504
|
17
|
-
vex_ast/parser/factory.py,sha256=tcEYSgMNrjqhFDx3tYX22a68Qsxv3fcQpefki_tB8lE,9498
|
18
|
-
vex_ast/parser/interfaces.py,sha256=Ttc0bD_5X420ZCT9MLUf_wE1aZLWLkaJRQqCwBy9wIs,956
|
19
|
-
vex_ast/parser/python_parser.py,sha256=gfrNZUWbxErPoSV0KprQO2eW6LFP4uAViQdML2QnJ4w,34701
|
20
|
-
vex_ast/parser/strategies.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
21
|
-
vex_ast/registry/README.md,sha256=J8xEXEscEZhWa6wmn05kjE395AjrV7p2h7nq4SXI5uE,1535
|
22
|
-
vex_ast/registry/__init__.py,sha256=dXT8OS7uLyBSdQKZDWrtbANzgSWcg9HUQDA1EaLOvjQ,1188
|
23
|
-
vex_ast/registry/api.py,sha256=yyW-TsCIULTzePAoyMvEqD_RNlkFSb4PLpiSkw6ueQk,5460
|
24
|
-
vex_ast/registry/categories.py,sha256=y5tnCzHQ9PPg9hOzOMgyE1ZAhcsjgeFSrgqdJrdqHEg,4885
|
25
|
-
vex_ast/registry/language_map.py,sha256=eekN3k-K9g90GFi4--If3nfJCyarUJxDWDCDvLm7mdU,2656
|
26
|
-
vex_ast/registry/registry.py,sha256=gvsQKyeXWp84T2uDB4O_WQgKCeq8W9udl8TD5MnPZzc,6661
|
27
|
-
vex_ast/registry/signature.py,sha256=xMMay6zycjf4a0XMVJuyjqZxTuK6X2bLeyW4HAS0suQ,8019
|
28
|
-
vex_ast/registry/simulation_behavior.py,sha256=WwkVKae0owtv3WTrfnVH93rpsh9lbqJ_RSAVmpIVA_k,313
|
29
|
-
vex_ast/registry/validation.py,sha256=xq5UjSWYAcRxjxsCGg3WU5RtPN-DB-JAqKqDNGvnJGk,1973
|
30
|
-
vex_ast/registry/functions/__init__.py,sha256=X9aw0-Y9Q6Gcx01zepP8G_20ybfwC-LDPQfkK2RDOrE,207
|
31
|
-
vex_ast/registry/functions/constructors.py,sha256=N_gasPkm-EThqDSWE_CBkuXEc8fHt-K5wGgSd_LTEes,1340
|
32
|
-
vex_ast/registry/functions/display.py,sha256=icXgTL6Y94ddm-Xjuv1dIOY5k0K2FVnAvmKBvUCHvk0,4854
|
33
|
-
vex_ast/registry/functions/drivetrain.py,sha256=F3voRYRfmAKgMiOP77oFTV8VCg-hXCVDUq3D-xGhN7Y,6307
|
34
|
-
vex_ast/registry/functions/initialize.py,sha256=T6Kbx-p56rAdm44Pqb3dgjYDY3L9pcnm3J8I_SfB2x4,885
|
35
|
-
vex_ast/registry/functions/motor.py,sha256=Vby44hV1goNFgFQEFDlv7z_9uGQeuvLMABplOnLqZbo,5218
|
36
|
-
vex_ast/registry/functions/sensors.py,sha256=BdhLV5gSWD5HO-o3JRXhbGQF7s1Ybk3b6VLLqVau1i0,6410
|
37
|
-
vex_ast/registry/functions/timing.py,sha256=DqwMVPk7VKDeZB4S3NI7wOYgM1R52dcdgaVIb9135Jg,3204
|
38
|
-
vex_ast/serialization/__init__.py,sha256=qPTEiMjU8hpVxNH5z4MY7Yj60AxuFurjXZStjhWWf6o,835
|
39
|
-
vex_ast/serialization/json_deserializer.py,sha256=9Htr7r2swKzEBKJQbHhRtuPnvd_9CVsu-2ILJhVIzJE,11733
|
40
|
-
vex_ast/serialization/json_serializer.py,sha256=YvMRUpqXjtbxlIvathEIywUqbH3Ne6GSRODfFB0QCGM,4465
|
41
|
-
vex_ast/serialization/schema.py,sha256=4js5dESX8CdCUupY6rsHGv6nq40-jynTz7vQrri85aI,15343
|
42
|
-
vex_ast/types/README.md,sha256=Wd3jBShiNXNc3iJ69Qps5_0mBq8QVEd_Gz5OachfS34,1029
|
43
|
-
vex_ast/types/__init__.py,sha256=naLOT_-qHWxzYj4nwxjCB5dfL6tcIt7TjMEaRaXMWbU,2163
|
44
|
-
vex_ast/types/base.py,sha256=hCPCeBNnD5p29Mim-ouRTkG6Lfa8NXrsdYLO8xsbFtM,2258
|
45
|
-
vex_ast/types/enums.py,sha256=32-gXU1Wbqk2bZtvebc6F74G704-gSCTJpfRWBzdoGE,2923
|
46
|
-
vex_ast/types/objects.py,sha256=3bmfq-tB4uIghFed2XnisRJjUR2woJX46QIUEN_rHdM,2280
|
47
|
-
vex_ast/types/primitives.py,sha256=t_4kEVyPSmKRHEIRQcp-X5Yq46JbG1SxzlvHb0vL4IA,1928
|
48
|
-
vex_ast/types/type_checker.py,sha256=emzhmc6AlH71w0DrKLlZRMBlJNZAuENihvRXTenqg_Q,1083
|
49
|
-
vex_ast/utils/README.md,sha256=Y9RJMQTqQbpjVkvYJmpeRihD1zfW9PhNL_LgoDJ84ak,1945
|
50
|
-
vex_ast/utils/__init__.py,sha256=azzhhFoMykqOkVVm6X2V7dFW3jGBkOvEgnEP1JTCS3g,621
|
51
|
-
vex_ast/utils/errors.py,sha256=T1sOqWR3-0dYqmXAKDwO7VXIHCGZMnF_gEIGmFWy8Ps,3850
|
52
|
-
vex_ast/utils/source_location.py,sha256=r857ypqUBqex2y_R0RzZo7pz5di9qtEeWFFQ4HwzYQE,1297
|
53
|
-
vex_ast/utils/type_definitions.py,sha256=2rB85B1vZL1GLWItBuJJpyr-vmp3W346EMMX2TPZ99Q,313
|
54
|
-
vex_ast/visitors/README.md,sha256=BKDj8LMuBlCrzgSSLmCkbET7WIqgxe-oCkqQbqXekrE,2725
|
55
|
-
vex_ast/visitors/__init__.py,sha256=cndW3yp0Mu9w5vzwqqS2N5EqS0Ioh0V5UCDDrwCO0_Q,492
|
56
|
-
vex_ast/visitors/analyzer.py,sha256=cBT5PRbtfQ_Dt1qiHN-wdO5KnC2yl-Ul5RasXg9geHY,3668
|
57
|
-
vex_ast/visitors/base.py,sha256=fLeMuIXJEHsag17PDM33he79x7Mp4V0wgtnF_8LuFpc,4978
|
58
|
-
vex_ast/visitors/printer.py,sha256=4Zjgqmgf6Ljn91G7zIuQXBcoVuv3NovOVcT5NeRnptU,7085
|
59
|
-
vex_ast/visitors/transformer.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
60
|
-
vex_ast-0.2.5.dist-info/licenses/LICENSE,sha256=IOSlfCuxGv4OAg421BRDKVi16RZ7-5kCMJ4B16r4kuc,69
|
61
|
-
vex_ast-0.2.5.dist-info/METADATA,sha256=RNOHCzvhl_ptUZb2kM1hNg_MdbbKzwKPyDzl4UP_Gec,5295
|
62
|
-
vex_ast-0.2.5.dist-info/WHEEL,sha256=pxyMxgL8-pra_rKaQ4drOZAegBVuX-G_4nRHjjgWbmo,91
|
63
|
-
vex_ast-0.2.5.dist-info/top_level.txt,sha256=MoZGrpKgNUDiqL9gWp4q3wMw3q93XPEEjmBNPJQcNAs,8
|
64
|
-
vex_ast-0.2.5.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|