viv-compiler 0.1.0__py3-none-any.whl → 0.1.2__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.
@@ -1,5 +1,6 @@
1
1
  """Utility functions used by various components of the Viv DSL compiler."""
2
2
 
3
+ import viv_compiler.config
3
4
  import viv_compiler.types
4
5
  from viv_compiler.types import ExpressionDiscriminator
5
6
  from typing import Any
@@ -14,55 +15,44 @@ def get_all_role_names(action_definition: viv_compiler.types.ActionDefinition) -
14
15
  Returns:
15
16
  A set containing the names of all roles associated with the given action definition.
16
17
  """
17
- return {'hearer', 'this', 'default'} | set(action_definition['roles'])
18
+ return viv_compiler.config.SPECIAL_ROLE_NAMES | set(action_definition['roles'])
18
19
 
19
20
 
20
21
  def get_all_referenced_roles(
21
22
  ast_chunk: Any,
22
23
  ignore_role_unpackings: bool = False,
23
- ignore: Any = None
24
24
  ) -> list[viv_compiler.types.RoleName]:
25
25
  """Return a list of all roles referenced in the given AST chunk.
26
26
 
27
27
  Args:
28
28
  ast_chunk: The full or partial AST to search for role references.
29
29
  ignore_role_unpackings: Whether to search for role references inside role unpackings.
30
- ignore: Only used internally, via recursive calls to this function.
31
30
 
32
31
  Returns:
33
32
  A list containing the names of all roles referenced in the given AST chunk.
34
33
  """
35
- ignore = ignore or ["this"]
36
- roles_referenced_so_far = []
34
+ roles_referenced_so_far: list[viv_compiler.types.RoleName] = []
37
35
  if isinstance(ast_chunk, list):
38
36
  for element in ast_chunk:
39
37
  roles_referenced_so_far.extend(get_all_referenced_roles(
40
38
  ast_chunk=element,
41
39
  ignore_role_unpackings=ignore_role_unpackings,
42
- ignore=ignore
43
40
  ))
44
41
  elif isinstance(ast_chunk, dict):
45
- if ast_chunk.get('type') == ExpressionDiscriminator.ENTITY_REFERENCE:
46
- referenced_role = ast_chunk['value']['anchor']
47
- roles_referenced_so_far.append(referenced_role)
48
- elif not ignore_role_unpackings and ast_chunk.get('type') == ExpressionDiscriminator.ROLE_UNPACKING:
49
- referenced_role = ast_chunk['value']
50
- roles_referenced_so_far.append(referenced_role)
51
- else:
52
- scoped_ignore = ignore
53
- if ast_chunk.get('type') == ExpressionDiscriminator.LOOP:
54
- scoped_ignore = [*ignore, ast_chunk['value']['variable']]
55
- iterable = ast_chunk['value']['iterable']
56
- if iterable.get('type') == ExpressionDiscriminator.ROLE_UNPACKING:
57
- if not ignore_role_unpackings:
58
- roles_referenced_so_far.append(iterable['value'])
59
- for key, value in ast_chunk.items():
60
- roles_referenced_so_far.extend(get_all_referenced_roles(
61
- ast_chunk=value,
62
- ignore_role_unpackings=ignore_role_unpackings,
63
- ignore=scoped_ignore
64
- ))
65
- return list(set(filter(lambda role: role not in ignore, roles_referenced_so_far)))
42
+ ast_chunk_type = ast_chunk.get('type')
43
+ if ast_chunk_type in (ExpressionDiscriminator.ENTITY_REFERENCE, ExpressionDiscriminator.SYMBOL_REFERENCE):
44
+ if not ast_chunk['value']['local']:
45
+ if ast_chunk['value']['anchor'] != viv_compiler.config.ACTION_SELF_REFERENCE_ROLE_NAME:
46
+ roles_referenced_so_far.append(ast_chunk['value']['anchor'])
47
+ elif ast_chunk_type == ExpressionDiscriminator.ROLE_UNPACKING and not ignore_role_unpackings:
48
+ referenced_role_name = ast_chunk['value']
49
+ roles_referenced_so_far.append(referenced_role_name)
50
+ for value in ast_chunk.values():
51
+ roles_referenced_so_far.extend(get_all_referenced_roles(
52
+ ast_chunk=value,
53
+ ignore_role_unpackings=ignore_role_unpackings,
54
+ ))
55
+ return list(set(roles_referenced_so_far))
66
56
 
67
57
 
68
58
  def get_all_referenced_enum_names(ast_chunk: Any) -> list[viv_compiler.types.EnumName]:
@@ -77,9 +67,12 @@ def get_all_referenced_enum_names(ast_chunk: Any) -> list[viv_compiler.types.Enu
77
67
  Returns:
78
68
  A list containing the names of all the enums referenced in the given AST chunk.
79
69
  """
80
- all_enum_expressions = get_all_expressions_of_type(expression_type="enum", ast_chunk=ast_chunk)
81
- all_referenced_enum_names = [expression['name'] for expression in all_enum_expressions]
82
- return all_referenced_enum_names
70
+ all_enum_expressions = get_all_expressions_of_type(
71
+ expression_type=ExpressionDiscriminator.ENUM,
72
+ ast_chunk=ast_chunk
73
+ )
74
+ all_referenced_enum_names = {expression['name'] for expression in all_enum_expressions}
75
+ return sorted(all_referenced_enum_names)
83
76
 
84
77
 
85
78
  def get_all_referenced_adapter_function_names(ast_chunk: Any) -> list[viv_compiler.types.AdapterFunctionName]:
@@ -95,11 +88,78 @@ def get_all_referenced_adapter_function_names(ast_chunk: Any) -> list[viv_compil
95
88
  A list containing the names of all the adapter functions referenced in the given AST chunk.
96
89
  """
97
90
  all_adapter_function_references = get_all_expressions_of_type(
98
- expression_type="adapterFunctionCall",
91
+ expression_type=ExpressionDiscriminator.ADAPTER_FUNCTION_CALL,
92
+ ast_chunk=ast_chunk
93
+ )
94
+ all_referenced_adapter_function_names = {expression['name'] for expression in all_adapter_function_references}
95
+ return sorted(all_referenced_adapter_function_names)
96
+
97
+
98
+ def get_all_assigned_scratch_variable_names(ast_chunk: Any) -> list[viv_compiler.types.VariableName]:
99
+ """Return a list of the names of all scratch variables that are assigned anywhere in the given AST chunk.
100
+
101
+ Args:
102
+ ast_chunk: The full or partial AST to search for scratch variables being assigned.
103
+
104
+ Returns:
105
+ A list containing the names of all scratch variables that are assigned anywhere in the given AST chunk.
106
+ """
107
+ all_assigned_scratch_variable_names = set()
108
+ all_assignments = get_all_expressions_of_type(
109
+ expression_type=ExpressionDiscriminator.ASSIGNMENT,
110
+ ast_chunk=ast_chunk
111
+ )
112
+ for assignment in all_assignments:
113
+ # Move on if the effective prefix is not `@this.scratch.`
114
+ lhs = assignment['left']
115
+ if lhs['type'] != ExpressionDiscriminator.ENTITY_REFERENCE:
116
+ continue
117
+ if lhs['value']['local']:
118
+ continue
119
+ if lhs['value']['anchor'] != viv_compiler.config.SCRATCH_VARIABLE_REFERENCE_ANCHOR:
120
+ continue
121
+ if lhs['value']['path'][0] != viv_compiler.config.SCRATCH_VARIABLE_REFERENCE_PATH_PREFIX[0]:
122
+ continue
123
+ # Now determine if the LHS of the assignment is a bare scratch variable, i.e., an effective `@this.scratch.var`
124
+ head, *tail = lhs['value']['path'][1:]
125
+ if tail:
126
+ continue
127
+ if 'name' not in head:
128
+ # Move on if we somehow have a pointer or lookup after an effective `@this.scratch` (not idiomatic)
129
+ continue
130
+ all_assigned_scratch_variable_names.add(head['name'])
131
+ return sorted(all_assigned_scratch_variable_names)
132
+
133
+
134
+ def get_all_referenced_scratch_variable_names(ast_chunk: Any) -> list[viv_compiler.types.VariableName]:
135
+ """Return a list of the names of all scratch variables that are referenced anywhere in the given AST chunk.
136
+
137
+ Args:
138
+ ast_chunk: The full or partial AST to search for scratch variables being referenced.
139
+
140
+ Returns:
141
+ A list containing the names of all scratch variables that are referenced anywhere in the given AST chunk.
142
+ """
143
+ all_referenced_scratch_variable_names = set()
144
+ all_entity_references = get_all_expressions_of_type(
145
+ expression_type=ExpressionDiscriminator.ENTITY_REFERENCE,
99
146
  ast_chunk=ast_chunk
100
147
  )
101
- all_referenced_adapter_function_names = [expression['name'] for expression in all_adapter_function_references]
102
- return all_referenced_adapter_function_names
148
+ for entity_reference in all_entity_references:
149
+ # Move on if the effective prefix is not `@this.scratch.`
150
+ if entity_reference['local']:
151
+ continue
152
+ if entity_reference['anchor'] != viv_compiler.config.SCRATCH_VARIABLE_REFERENCE_ANCHOR:
153
+ continue
154
+ if entity_reference['path'][0] != viv_compiler.config.SCRATCH_VARIABLE_REFERENCE_PATH_PREFIX[0]:
155
+ continue
156
+ # Now determine if the LHS of the assignment is a bare scratch variable, i.e., an effective `@this.scratch.var`
157
+ head, *_ = entity_reference['path'][1:]
158
+ if 'name' not in head:
159
+ # Move on if we somehow have a pointer or lookup after an effective `@this.scratch` (not idiomatic)
160
+ continue
161
+ all_referenced_scratch_variable_names.add(head['name'])
162
+ return sorted(all_referenced_scratch_variable_names)
103
163
 
104
164
 
105
165
  def get_all_expressions_of_type(expression_type: str, ast_chunk: Any) -> list[Any]:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: viv-compiler
3
- Version: 0.1.0
3
+ Version: 0.1.2
4
4
  Summary: Compiler for the DSL of Viv, an action system for emergent narrative.
5
5
  Author-email: James Ryan <mail@jamesryan.ai>
6
6
  License: MIT License
@@ -45,7 +45,7 @@ Dynamic: license-file
45
45
 
46
46
  This package contains the reference compiler for the domain-specific language (DSL) at the heart of [Viv](https://github.com/james-owen-ryan/viv), an action system for emergent narrative.
47
47
 
48
- The Viv compiler accepts a *Viv source file* (`.viv`) and produces a *Viv content bundle* in a JSON-serializable format conforming to the `CompiledContentBundle` schema defined [here](https://github.com/james-owen-ryan/viv/blob/main/compiler/src/viv_compiler/types/dsl_public_schemas.py), making it ready for usage in any Viv runtime.
48
+ The Viv compiler accepts a **Viv source file** (`.viv`) and produces a **Viv content bundle** in a JSON-serializable format conforming to the `CompiledContentBundle` schema defined [here](https://github.com/james-owen-ryan/viv/blob/main/compiler/src/viv_compiler/types/dsl_public_schemas.py), making it ready for usage in any Viv runtime with the same version number as the compiler.
49
49
 
50
50
  Once you've installed this package, you'll have access to the two compiler interfaces that are documented below:
51
51
 
@@ -65,19 +65,17 @@ Once you've installed this package, you'll have access to the two compiler inter
65
65
 
66
66
  ## Installation
67
67
 
68
- Install from PyPI:
68
+ * Install from PyPI:
69
69
 
70
- ```
71
- pip install viv-compiler
72
- ```
73
-
74
- This installs both the `viv_compiler` Python package and the `vivc` command-line interface.
70
+ ```
71
+ pip install viv-compiler
72
+ ```
75
73
 
76
- Smoke test to confirm your installation looks good:
74
+ * Run a smoke test to confirm your installation looks good:
77
75
 
78
- ```
79
- vivc --test
80
- ```
76
+ ```
77
+ vivc --test
78
+ ```
81
79
 
82
80
 
83
81
  ## Command-Line Interface (CLI)
@@ -156,127 +154,167 @@ vivc --input path/to/source.viv [options]
156
154
 
157
155
  ### Examples
158
156
 
159
- Compile a source file and write the resulting content bundle to file:
157
+ * Compile a source file and write the resulting content bundle to file:
160
158
 
161
- ```
162
- vivc --input /path/to/my-actions.viv --output /path/to/myContentBundle.json
163
- ```
159
+ ```
160
+ vivc --input /path/to/my-actions.viv --output /path/to/myContentBundle.json
161
+ ```
164
162
 
165
- Compile a source file and log the output in the console:
163
+ * Compile a source file and log the output in the console:
166
164
 
167
- ```
168
- vivc --input /path/to/my-actions.viv --print
169
- ```
165
+ ```
166
+ vivc --input /path/to/my-actions.viv --print
167
+ ```
170
168
 
171
- Log the version number for the installed Viv compiler:
169
+ * Log the version number for the installed Viv compiler:
172
170
 
173
- ```
174
- vivc -v
175
- ```
171
+ ```
172
+ vivc -v
173
+ ```
176
174
 
177
175
 
178
176
  ## Python API
179
177
 
180
- The API is intended for programmatic invocation of the compiler.
181
-
178
+ Once you've installed `viv-compiler`, the Viv compiler Python API can be invoked by importing `viv_compiler` into your project.
182
179
 
183
- ### `compile_from_path()`
184
180
 
185
- This function invokes the compiler for a specified Viv source file.
181
+ ### API Reference
186
182
 
187
- **Arguments**
183
+ #### `compile_from_path()`
188
184
 
189
- * `source_file_path` (`Path`)
185
+ * **Purpose**
190
186
 
191
- * Absolute path to a `.viv` source file.
187
+ * Invokes the compiler for a specified Viv source file.
192
188
 
193
- * `default_salience` (`float`)
189
+ * **Arguments**
194
190
 
195
- * Default salience for actions (if unspecified).
191
+ * `source_file_path` (`Path`)
192
+
193
+ * Absolute path to a `.viv` source file.
196
194
 
197
- * `default_associations` `(list[str])`
195
+ * `default_salience` (`float`)
198
196
 
199
- * Default associations for actions (if unspecified).
197
+ * Default salience for actions (if unspecified).
200
198
 
201
- * `default_reaction_priority` (`float`)
199
+ * `default_associations` `(list[str])`
202
200
 
203
- * Default reaction priority for actions (if unspecified).
204
-
205
- * `use_memoization` (`bool`)
201
+ * Default associations for actions (if unspecified).
206
202
 
207
- * Whether to enable memoization in the underlying PEG parser (faster but uses more memory).
203
+ * `default_reaction_priority` (`float`)
204
+
205
+ * Default reaction priority for actions (if unspecified).
206
+
207
+ * `use_memoization` (`bool`)
208
+
209
+ * Whether to enable memoization in the underlying PEG parser (faster but uses more memory).
210
+
211
+ * `debug` (`bool`)
212
+
213
+ * Whether to enable verbose debugging for the underlying PEG parser.
208
214
 
209
- * `debug` (`bool`)
215
+ * **Returns**
210
216
 
211
- * Whether to enable verbose debugging for the underlying PEG parser.
217
+ * The compiled Viv bundle, in a JSON-serializable format conforming to the `CompiledContentBundle` schema defined in the project code.
212
218
 
213
- **Returns**
219
+ * **Raises**
214
220
 
215
- * The compiled Viv bundle, in a JSON-serializable format conforming to the `CompiledContentBundle` schema defined in the project code.
221
+ * `VivCompileError`
222
+
223
+ * Raised when compilation fails.
216
224
 
217
- **Raises**
225
+ * **Example**
218
226
 
219
- * `VivCompileError`
227
+ ```python
228
+ from pathlib import Path
229
+ from viv_compiler import compile_from_path, VivCompileError
230
+
231
+ try:
232
+ content_bundle = compile_from_path(source_file_path=Path("my-actions.viv"))
233
+ print("Compilation succeeded:", content_bundle)
234
+ except VivCompileError as e:
235
+ print("Compilation failed:", e)
236
+ ```
220
237
 
221
- * Raised when compilation fails.
222
238
 
239
+ #### `get_version()`
223
240
 
224
- ### `get_version()`
241
+ * **Purpose**
225
242
 
226
- Returns the version string for the currently installed compiler.
243
+ * Returns the version string for the currently installed compiler. All content bundles produced by the compiler will be stamped with the same version number, making them compatible with any Viv runtime with the same version number.
227
244
 
245
+ * **Arguments**
228
246
 
229
- ### `VivCompileError`
247
+ * None.
230
248
 
231
- Custom exception type raised by the API when compilation fails. Inherits from `Exception`.
249
+ * **Returns**
232
250
 
251
+ * A string constituting the version number of the installed Viv compiler.
233
252
 
234
- ### Examples
253
+ * **Example**
235
254
 
236
- Compile a source file:
255
+ ```python
256
+ from viv_compiler import get_version
257
+
258
+ version = get_version()
259
+ print("Viv compiler version:", version)
260
+ ```
237
261
 
238
- ```python
239
- from pathlib import Path
240
- from viv_compiler import compile_from_path, VivCompileError
241
262
 
242
- try:
243
- content_bundle = compile_from_path(source_file_path=Path("my-actions.viv"))
244
- print("Compilation succeeded:", content_bundle)
245
- except VivCompileError as e:
246
- print("Compilation failed:", e)
247
- ```
263
+ #### `VivCompileError`
248
264
 
249
- Print the version number for the installed Viv compiler:
265
+ * **Purpose**
250
266
 
251
- ```python
252
- from viv_compiler import get_version
253
- print(get_version())
254
- ```
267
+ * Custom exception type (inherits from `Exception`) raised by the API when compilation fails.
255
268
 
256
269
 
257
270
  ## Running from Source
258
271
 
259
272
  For contributors or developers working directly from a repo checkout:
260
273
 
261
- ```
262
- # Clone the Viv monorepo
263
- git clone https://github.com/james-owen-ryan/viv
264
- cd viv/compiler
274
+ * Clone the Viv monorepo:
265
275
 
266
- # Create a virtual environment
267
- python -m venv .venv-viv-compiler
268
- source .venv-viv-compiler/bin/activate # macOS/Linux
269
- # Windows PowerShell: .\.venv-viv-compiler\Scripts\Activate.ps1
276
+ ```
277
+ git clone https://github.com/james-owen-ryan/viv
278
+ cd viv/compiler
279
+ ```
270
280
 
271
- # Install the compiler package from source (editable)
272
- python -m pip install -e .
281
+ * Create a virtual environment:
273
282
 
274
- # Invoke the CLI directly
275
- python -m viv_compiler --test
283
+ ```
284
+ python -m venv .venv-viv-compiler
285
+ ```
276
286
 
277
- # Or use the installed console script
278
- vivc --test
279
- ```
287
+ * Activate the virtual environment...
288
+
289
+ * macOS/Linux:
290
+
291
+ ```
292
+ source .venv-viv-compiler/bin/activate
293
+ ```
294
+
295
+ * Windows PowerShell:
296
+
297
+ ```
298
+ .\.venv-viv-compiler\Scripts\Activate.ps1
299
+ ```
300
+
301
+ * Install the compiler package from source (editable):
302
+
303
+ ```
304
+ python -m pip install -e .
305
+ ```
306
+
307
+ * Invoke the CLI directly:
308
+
309
+ ```
310
+ python -m viv_compiler --test
311
+ ```
312
+
313
+ * Or use the installed console script:
314
+
315
+ ```
316
+ vivc --test
317
+ ```
280
318
 
281
319
 
282
320
  ## License
@@ -0,0 +1,33 @@
1
+ viv_compiler/__init__.py,sha256=qYCGYC46CCguVk7LybHbWlV1b4dPY7K0UOfrEF8k0E8,592
2
+ viv_compiler/__main__.py,sha256=dyCH7r86O9Nw516E38Gm0gQjcSYDd57dhLGRBPoCi7s,60
3
+ viv_compiler/_version.py,sha256=VZZTZ-YxtTb-5y0wP8QpegYjFIf2mRkpqDjOGa99DAM,88
4
+ viv_compiler/api.py,sha256=8vr_WoLEzPSOMRNmovewE2f4b8_-r5xp5PdYc7S2rgc,2164
5
+ viv_compiler/cli.py,sha256=RLyeQFKts85vLVcVy2dzcsG8U4efRhB_CBIotko50H8,8481
6
+ viv_compiler/py.typed,sha256=qrkHrYJvGoZpU2BpVLNxJB44LlhqVSKyYOwD_L_1m3s,10
7
+ viv_compiler/_samples/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
+ viv_compiler/_samples/smoke-test.viv,sha256=hBgnuOvO7A78iDZPTM6Z6xlkaLAA9zgmkuxPVwCLUGQ,152
9
+ viv_compiler/backports/__init__.py,sha256=OozGI7C0wkn6Xjn19DPE_SSdSKX-gRiOQu8yooJ382E,25
10
+ viv_compiler/backports/backports.py,sha256=NkZcknH0-iuZczNfGSlL-3yy9FpL9-Y9j_H65TQs_FA,243
11
+ viv_compiler/config/__init__.py,sha256=A00lpnUKg-q3y_b-cN3jKF9urkGTGjb2Yz_gGc9WCLs,22
12
+ viv_compiler/config/config.py,sha256=mS9QHlpB1mw_PDADp7utOuaGE0a2cBEyzUPDHQXAjFI,3802
13
+ viv_compiler/core/__init__.py,sha256=ZAU-F0_tXtRWRmw-anqCdZZDabN42nCrIfm_74RdBpE,123
14
+ viv_compiler/core/core.py,sha256=mkaroUrEyN9MFucvB5GOS-8E5gKAApPdyRp8U0yfAjQ,7747
15
+ viv_compiler/core/includes.py,sha256=Peth-YttHzbyTB9NXoyBKSDKBJ_NX6MEwOTGEUcHvIg,4879
16
+ viv_compiler/core/metadata.py,sha256=8Oa3PtGDk94pBYr_f6CkqlebHvfYXxgtIluaoGGiluA,2988
17
+ viv_compiler/core/postprocessing.py,sha256=fgogeBR4U92_dH-GBNDFrZqv9CuzCI1nlx7xHs3j6Iw,39073
18
+ viv_compiler/core/validation.py,sha256=EqTRDJ8TKSElDCTzDgKGDmlXHrdN_jzteF0_XYPfcRM,48380
19
+ viv_compiler/core/visitor.py,sha256=tzJzk_t8qDqaWjioEqSraz8r4nl34KtDqx3KUmr9qek,48257
20
+ viv_compiler/grammar/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
+ viv_compiler/grammar/viv.peg,sha256=QTROPPHWj9h7kVD91ozZo-OHxzno0Q9PsIx1sHU9nx0,11161
22
+ viv_compiler/types/__init__.py,sha256=FLwJ0wV_vdR95waeHfZ4YnUIvkK7v8RqR139lpnP1RE,102
23
+ viv_compiler/types/content_public_schemas.py,sha256=mDM4iDQdBeqhN38r6wK58jXBzSej3pspkpNjPOiG8b8,23768
24
+ viv_compiler/types/dsl_public_schemas.py,sha256=8J243Pball02p0CmAYey_ikFsSOXFWTxc0oqLdGQCwA,22566
25
+ viv_compiler/types/internal_types.py,sha256=LOU4kT_tjxjU0CXqnqfluV-EBgX2KkhmUOa07B0i1xo,7816
26
+ viv_compiler/utils/__init__.py,sha256=alIDGBnxWH4JvP-UW-7N99seBBi0r1GV1h8f1ERFBec,21
27
+ viv_compiler/utils/utils.py,sha256=FWIFPFR8Xgub1nXc179qsvpfOW8JnGkpYywVf93PkSg,10070
28
+ viv_compiler-0.1.2.dist-info/licenses/LICENSE,sha256=_N1SL7eyeeqRS4HHgl_n85kuwUSw22qWP6IpQZ9F_M4,1066
29
+ viv_compiler-0.1.2.dist-info/METADATA,sha256=LjOlZXzAm-8-6IpgmL-hFE7xRpyDfE2w4oracAAshas,8500
30
+ viv_compiler-0.1.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
31
+ viv_compiler-0.1.2.dist-info/entry_points.txt,sha256=YluMB1bLcPmnfaeAaMAtxXsKCkIEvyhb2dVgkVp55Ko,84
32
+ viv_compiler-0.1.2.dist-info/top_level.txt,sha256=fd_4ocrOmLnp5oEnwxv2_Yt_JkluHdKD-Jr5eN__iaE,13
33
+ viv_compiler-0.1.2.dist-info/RECORD,,
@@ -1,32 +0,0 @@
1
- viv_compiler/__init__.py,sha256=qYCGYC46CCguVk7LybHbWlV1b4dPY7K0UOfrEF8k0E8,592
2
- viv_compiler/__main__.py,sha256=dyCH7r86O9Nw516E38Gm0gQjcSYDd57dhLGRBPoCi7s,60
3
- viv_compiler/api.py,sha256=8vr_WoLEzPSOMRNmovewE2f4b8_-r5xp5PdYc7S2rgc,2164
4
- viv_compiler/cli.py,sha256=6ZMj0TnDNXS99NpOV2Y3CiOVAh-cpknmOACrR_bBmh0,8350
5
- viv_compiler/py.typed,sha256=qrkHrYJvGoZpU2BpVLNxJB44LlhqVSKyYOwD_L_1m3s,10
6
- viv_compiler/_samples/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- viv_compiler/_samples/smoke-test.viv,sha256=hBgnuOvO7A78iDZPTM6Z6xlkaLAA9zgmkuxPVwCLUGQ,152
8
- viv_compiler/backports/__init__.py,sha256=OozGI7C0wkn6Xjn19DPE_SSdSKX-gRiOQu8yooJ382E,25
9
- viv_compiler/backports/backports.py,sha256=NkZcknH0-iuZczNfGSlL-3yy9FpL9-Y9j_H65TQs_FA,243
10
- viv_compiler/config/__init__.py,sha256=A00lpnUKg-q3y_b-cN3jKF9urkGTGjb2Yz_gGc9WCLs,22
11
- viv_compiler/config/config.py,sha256=y8R2W2mctP6lbyB_aqIAmJINDIqAAXtzPJrA6lYv-bk,3981
12
- viv_compiler/core/__init__.py,sha256=QHyfqFCifNLT5ZTmLFUMWCURN4BuN2_uY4Z-7wTAeQo,121
13
- viv_compiler/core/core.py,sha256=1ViI19Qa6F_mQbiqbEC7sYyJGH3VbuABI4mqF9xwFik,7828
14
- viv_compiler/core/importer.py,sha256=XRv9wum_V4ll_vHU0pyerwmJW1Nr1IVlA_-ALtmzGxo,4877
15
- viv_compiler/core/postprocessor.py,sha256=EBW8GAJa7Pikln5FzHQEpJ2QfPC66-HOmfAjGIA_HEY,40160
16
- viv_compiler/core/validator.py,sha256=punxJ-2iPBFhyyR0ZePcyQAjMTma3ENr4gIiRKckWzU,42314
17
- viv_compiler/core/visitor.py,sha256=t70j4e6CK363h7ey3W-v2_FbGeu80r4fOTK7npgxRmk,46864
18
- viv_compiler/grammar/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
- viv_compiler/grammar/viv.peg,sha256=otsDwXAAE14XmdzgjL4oPYgY651RgVVHVFQmmyde4TE,10538
20
- viv_compiler/types/__init__.py,sha256=FLwJ0wV_vdR95waeHfZ4YnUIvkK7v8RqR139lpnP1RE,102
21
- viv_compiler/types/content_public_schemas.py,sha256=4yPq3rEUzvKp6WOBoCERZuifUVtl-bXsSen_eQjithw,22019
22
- viv_compiler/types/dsl_public_schemas.py,sha256=UMRoL197O0U-UAnpGHE_XXGzdg1I8S2jyXtV71ekoGI,22318
23
- viv_compiler/types/internal_types.py,sha256=LOU4kT_tjxjU0CXqnqfluV-EBgX2KkhmUOa07B0i1xo,7816
24
- viv_compiler/utils/__init__.py,sha256=alIDGBnxWH4JvP-UW-7N99seBBi0r1GV1h8f1ERFBec,21
25
- viv_compiler/utils/_version.py,sha256=B40VyT6r1P2PNwgWWItzAYhh25_deCqUcl4EaXq0Beg,88
26
- viv_compiler/utils/utils.py,sha256=TwT9VKV1fXVFLToSXO-Cu046Gu2siA_Y7xGog_Zx9pA,7257
27
- viv_compiler-0.1.0.dist-info/licenses/LICENSE,sha256=_N1SL7eyeeqRS4HHgl_n85kuwUSw22qWP6IpQZ9F_M4,1066
28
- viv_compiler-0.1.0.dist-info/METADATA,sha256=GH9QH_XkSBoMYrmmqyTz-hP4EXIdejMDgWzimmgmVFI,7955
29
- viv_compiler-0.1.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
30
- viv_compiler-0.1.0.dist-info/entry_points.txt,sha256=YluMB1bLcPmnfaeAaMAtxXsKCkIEvyhb2dVgkVp55Ko,84
31
- viv_compiler-0.1.0.dist-info/top_level.txt,sha256=fd_4ocrOmLnp5oEnwxv2_Yt_JkluHdKD-Jr5eN__iaE,13
32
- viv_compiler-0.1.0.dist-info/RECORD,,