Skip to content

Commit 50b7071

Browse files
authored
Fixes and improvements in module_to_kore (#4704)
* Enable checking of non-rule axioms in the test * Fix assoc, no-junk and no-confusion axiom generation * Fix sort generation * Fix a bug in collection attribute generation * Add support for the `impure` attribute * Filter out some internal attributes
1 parent c2f9346 commit 50b7071

File tree

5 files changed

+274
-100
lines changed

5 files changed

+274
-100
lines changed

pyk/src/pyk/kast/att.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,7 @@ class Atts:
290290
ALIAS_REC: Final = AttKey('alias-rec', type=_NONE)
291291
ANYWHERE: Final = AttKey('anywhere', type=_NONE)
292292
ASSOC: Final = AttKey('assoc', type=_NONE)
293+
AVOID: Final = AttKey('avoid', type=_NONE)
293294
BRACKET: Final = AttKey('bracket', type=_NONE)
294295
BRACKET_LABEL: Final = AttKey('bracketLabel', type=_ANY)
295296
CIRCULARITY: Final = AttKey('circularity', type=_NONE)
@@ -307,6 +308,7 @@ class Atts:
307308
DEPENDS: Final = AttKey('depends', type=_ANY)
308309
DIGEST: Final = AttKey('digest', type=_ANY)
309310
ELEMENT: Final = AttKey('element', type=_ANY)
311+
EXIT: Final = AttKey('exit', type=_ANY)
310312
FORMAT: Final = AttKey('format', type=FormatType())
311313
FRESH_GENERATOR: Final = AttKey('freshGenerator', type=_NONE)
312314
FUNCTION: Final = AttKey('function', type=_NONE)
@@ -325,6 +327,8 @@ class Atts:
325327
MACRO: Final = AttKey('macro', type=_NONE)
326328
MACRO_REC: Final = AttKey('macro-rec', type=_NONE)
327329
MAINCELL: Final = AttKey('maincell', type=_NONE)
330+
MULTIPLICITY: Final = AttKey('multiplicity', type=_ANY)
331+
NO_EVALUATORS: Final = AttKey('no-evaluators', type=_NONE)
328332
OVERLOAD: Final = AttKey('overload', type=_STR)
329333
OWISE: Final = AttKey('owise', type=_NONE)
330334
PREDICATE: Final = AttKey('predicate', type=_ANY)
@@ -335,6 +339,7 @@ class Atts:
335339
PRODUCTION: Final = AttKey('org.kframework.definition.Production', type=_ANY)
336340
PROJECTION: Final = AttKey('projection', type=_NONE)
337341
RIGHT: Final = AttKey('right', type=_ANY) # RIGHT and RIGHT_INTERNAL on the Frontend
342+
RETURNS_UNIT: Final = AttKey('returnsUnit', type=_NONE)
338343
SIMPLIFICATION: Final = AttKey('simplification', type=_ANY)
339344
SEQSTRICT: Final = AttKey('seqstrict', type=_ANY)
340345
SORT: Final = AttKey('org.kframework.kore.Sort', type=_ANY)
@@ -345,9 +350,11 @@ class Atts:
345350
SYNTAX_MODULE: Final = AttKey('syntaxModule', type=_STR)
346351
SYMBOLIC: Final = AttKey('symbolic', type=OptionalType(_STR))
347352
TERMINALS: Final = AttKey('terminals', type=_STR)
353+
TERMINATOR_SYMBOL: Final = AttKey('terminator-symbol', type=_ANY)
348354
TOKEN: Final = AttKey('token', type=_NONE)
349355
TOTAL: Final = AttKey('total', type=_NONE)
350356
TRUSTED: Final = AttKey('trusted', type=_NONE)
357+
TYPE: Final = AttKey('type', type=_ANY)
351358
UNIT: Final = AttKey('unit', type=_STR)
352359
UNIQUE_ID: Final = AttKey('UNIQUE_ID', type=_ANY)
353360
UNPARSE_AVOID: Final = AttKey('unparseAvoid', type=_NONE)

0 commit comments

Comments
 (0)