dasmos 2.0.0__tar.gz → 3.0.0__tar.gz

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.
Files changed (107) hide show
  1. {dasmos-2.0.0/src/dasmos.egg-info → dasmos-3.0.0}/PKG-INFO +3 -2
  2. {dasmos-2.0.0 → dasmos-3.0.0}/README.md +2 -1
  3. {dasmos-2.0.0 → dasmos-3.0.0}/pyproject.toml +2 -1
  4. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/__init__.py +1 -1
  5. dasmos-2.0.0/src/dasmos/ext/renderers/beebasm/renderer.py → dasmos-3.0.0/src/dasmos/asm_renderer.py +744 -546
  6. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/core/classification.py +37 -12
  7. dasmos-3.0.0/src/dasmos/core/expr.py +515 -0
  8. dasmos-3.0.0/src/dasmos/core/expr_parse.py +234 -0
  9. dasmos-3.0.0/src/dasmos/core/file_header.py +34 -0
  10. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/core/labels.py +17 -12
  11. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/core/markdown_asm.py +24 -5
  12. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/disassembler.py +118 -88
  13. dasmos-3.0.0/src/dasmos/exceptions.py +14 -0
  14. dasmos-3.0.0/src/dasmos/expr.py +91 -0
  15. dasmos-3.0.0/src/dasmos/ext/renderers/beebasm/renderer.py +508 -0
  16. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/ext/renderers/json/renderer.py +312 -15
  17. dasmos-3.0.0/src/dasmos/ext/renderers/tass64/__init__.py +16 -0
  18. dasmos-3.0.0/src/dasmos/ext/renderers/tass64/renderer.py +251 -0
  19. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/ir.py +11 -0
  20. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/renderer.py +64 -4
  21. {dasmos-2.0.0 → dasmos-3.0.0/src/dasmos.egg-info}/PKG-INFO +3 -2
  22. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos.egg-info/SOURCES.txt +16 -0
  23. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos.egg-info/entry_points.txt +1 -0
  24. {dasmos-2.0.0 → dasmos-3.0.0}/tests/test_disassembler.py +6 -2
  25. {dasmos-2.0.0 → dasmos-3.0.0}/tests/test_driver_roundtrip.py +21 -1
  26. {dasmos-2.0.0 → dasmos-3.0.0}/tests/test_environment.py +5 -4
  27. dasmos-3.0.0/tests/test_expr.py +224 -0
  28. dasmos-3.0.0/tests/test_expr_operators.py +165 -0
  29. dasmos-3.0.0/tests/test_expr_parse.py +139 -0
  30. dasmos-3.0.0/tests/test_file_header.py +193 -0
  31. dasmos-3.0.0/tests/test_golden_asm.py +145 -0
  32. dasmos-3.0.0/tests/test_golden_json.py +105 -0
  33. {dasmos-2.0.0 → dasmos-3.0.0}/tests/test_index_regions.py +4 -4
  34. {dasmos-2.0.0 → dasmos-3.0.0}/tests/test_json_renderer.py +45 -2
  35. dasmos-3.0.0/tests/test_macros.py +373 -0
  36. dasmos-3.0.0/tests/test_mnemonic_hash.py +185 -0
  37. {dasmos-2.0.0 → dasmos-3.0.0}/tests/test_renderer.py +7 -2
  38. dasmos-3.0.0/tests/test_tass64.py +258 -0
  39. dasmos-2.0.0/src/dasmos/exceptions.py +0 -6
  40. {dasmos-2.0.0 → dasmos-3.0.0}/LICENSE +0 -0
  41. {dasmos-2.0.0 → dasmos-3.0.0}/setup.cfg +0 -0
  42. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/_text.py +0 -0
  43. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/cli.py +0 -0
  44. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/core/__init__.py +0 -0
  45. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/core/annotations.py +0 -0
  46. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/core/config.py +0 -0
  47. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/core/cpu_state.py +0 -0
  48. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/core/data_type.py +0 -0
  49. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/core/disassembly.py +0 -0
  50. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/core/format_hint.py +0 -0
  51. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/core/memory.py +0 -0
  52. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/core/move.py +0 -0
  53. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/core/regions.py +0 -0
  54. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/cpu.py +0 -0
  55. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/environment.py +0 -0
  56. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/ext/__init__.py +0 -0
  57. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/ext/cpus/__init__.py +0 -0
  58. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/ext/cpus/cpu6502/__init__.py +0 -0
  59. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/ext/cpus/cpu6502/cpu.py +0 -0
  60. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/ext/cpus/cpu65c02/__init__.py +0 -0
  61. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/ext/cpus/cpu65c02/cpu.py +0 -0
  62. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/ext/environments/__init__.py +0 -0
  63. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/ext/environments/_acorn_bbc_common.py +0 -0
  64. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/ext/environments/acorn_fdc_1770/__init__.py +0 -0
  65. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/ext/environments/acorn_fdc_1770/environment.py +0 -0
  66. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/ext/environments/acorn_fdc_8271/__init__.py +0 -0
  67. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/ext/environments/acorn_fdc_8271/environment.py +0 -0
  68. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/ext/environments/acorn_master_hardware/__init__.py +0 -0
  69. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/ext/environments/acorn_master_hardware/environment.py +0 -0
  70. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/ext/environments/acorn_model_b_hardware/__init__.py +0 -0
  71. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/ext/environments/acorn_model_b_hardware/environment.py +0 -0
  72. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/ext/environments/acorn_mos/__init__.py +0 -0
  73. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/ext/environments/acorn_mos/enums.py +0 -0
  74. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/ext/environments/acorn_mos/environment.py +0 -0
  75. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/ext/environments/acorn_mos/hooks.py +0 -0
  76. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/ext/environments/acorn_sideways_rom/__init__.py +0 -0
  77. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/ext/environments/acorn_sideways_rom/environment.py +0 -0
  78. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/ext/environments/bbc_basic_6502/__init__.py +0 -0
  79. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/ext/environments/bbc_basic_6502/environment.py +0 -0
  80. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/ext/environments/bbc_basic_6502/floats.py +0 -0
  81. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/ext/renderers/__init__.py +0 -0
  82. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/ext/renderers/beebasm/__init__.py +0 -0
  83. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/ext/renderers/json/__init__.py +0 -0
  84. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/extension.py +0 -0
  85. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/hooks.py +0 -0
  86. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/output.py +0 -0
  87. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos/py.typed +0 -0
  88. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos.egg-info/dependency_links.txt +0 -0
  89. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos.egg-info/requires.txt +0 -0
  90. {dasmos-2.0.0 → dasmos-3.0.0}/src/dasmos.egg-info/top_level.txt +0 -0
  91. {dasmos-2.0.0 → dasmos-3.0.0}/tests/test_adfs_roundtrip.py +0 -0
  92. {dasmos-2.0.0 → dasmos-3.0.0}/tests/test_anfs_418_roundtrip.py +0 -0
  93. {dasmos-2.0.0 → dasmos-3.0.0}/tests/test_anfs_421_roundtrip.py +0 -0
  94. {dasmos-2.0.0 → dasmos-3.0.0}/tests/test_beebasm.py +0 -0
  95. {dasmos-2.0.0 → dasmos-3.0.0}/tests/test_cli.py +0 -0
  96. {dasmos-2.0.0 → dasmos-3.0.0}/tests/test_cpu.py +0 -0
  97. {dasmos-2.0.0 → dasmos-3.0.0}/tests/test_cpu6502.py +0 -0
  98. {dasmos-2.0.0 → dasmos-3.0.0}/tests/test_cpu65c02.py +0 -0
  99. {dasmos-2.0.0 → dasmos-3.0.0}/tests/test_econet_bridge_roundtrip.py +0 -0
  100. {dasmos-2.0.0 → dasmos-3.0.0}/tests/test_nfs_334_roundtrip.py +0 -0
  101. {dasmos-2.0.0 → dasmos-3.0.0}/tests/test_nfs_roundtrip.py +0 -0
  102. {dasmos-2.0.0 → dasmos-3.0.0}/tests/test_output.py +0 -0
  103. {dasmos-2.0.0 → dasmos-3.0.0}/tests/test_py8dis2dasmos.py +0 -0
  104. {dasmos-2.0.0 → dasmos-3.0.0}/tests/test_reference_kinds.py +0 -0
  105. {dasmos-2.0.0 → dasmos-3.0.0}/tests/test_smoke.py +0 -0
  106. {dasmos-2.0.0 → dasmos-3.0.0}/tests/test_trace.py +0 -0
  107. {dasmos-2.0.0 → dasmos-3.0.0}/tests/test_tube_client_roundtrip.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dasmos
3
- Version: 2.0.0
3
+ Version: 3.0.0
4
4
  Summary: Extensible tracing disassembler for classic CPUs, with CPU, renderer and environment extension points.
5
5
  Author-email: Robert Smallshire <rob@sixty-north.com>
6
6
  License-Expression: MIT
@@ -32,7 +32,7 @@ Dynamic: license-file
32
32
  <img src="https://raw.githubusercontent.com/acornaeology/dasmos/master/docs/_static/dasmos-banner.svg" alt="Dasmos — an extensible tracing disassembler for classic CPUs">
33
33
  </p>
34
34
 
35
- An extensible tracing disassembler for classic CPUs, version `2.0.0`.
35
+ An extensible tracing disassembler for classic CPUs, version `3.0.0`.
36
36
 
37
37
  <p align="center">
38
38
  <a href="https://pypi.org/project/dasmos/"><img src="https://img.shields.io/pypi/v/dasmos.svg" alt="PyPI"></a>
@@ -178,6 +178,7 @@ $ dasmos list-renderers
178
178
  ┏━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
179
179
  ┃ Name ┃ Description ┃
180
180
  ┡━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
181
+ │ 64tass │ 64tass-syntax renderer. │
181
182
  │ beebasm │ Beebasm-syntax renderer. │
182
183
  │ json │ JSON structured-output renderer. │
183
184
  └─────────┴──────────────────────────────────┘
@@ -2,7 +2,7 @@
2
2
  <img src="https://raw.githubusercontent.com/acornaeology/dasmos/master/docs/_static/dasmos-banner.svg" alt="Dasmos — an extensible tracing disassembler for classic CPUs">
3
3
  </p>
4
4
 
5
- An extensible tracing disassembler for classic CPUs, version `2.0.0`.
5
+ An extensible tracing disassembler for classic CPUs, version `3.0.0`.
6
6
 
7
7
  <p align="center">
8
8
  <a href="https://pypi.org/project/dasmos/"><img src="https://img.shields.io/pypi/v/dasmos.svg" alt="PyPI"></a>
@@ -148,6 +148,7 @@ $ dasmos list-renderers
148
148
  ┏━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
149
149
  ┃ Name ┃ Description ┃
150
150
  ┡━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
151
+ │ 64tass │ 64tass-syntax renderer. │
151
152
  │ beebasm │ Beebasm-syntax renderer. │
152
153
  │ json │ JSON structured-output renderer. │
153
154
  └─────────┴──────────────────────────────────┘
@@ -64,6 +64,7 @@ Issues = "https://github.com/acornaeology/dasmos/issues"
64
64
 
65
65
  [project.entry-points."dasmos.renderer"]
66
66
  beebasm = "dasmos.ext.renderers.beebasm:Renderer"
67
+ 64tass = "dasmos.ext.renderers.tass64:Renderer"
67
68
  json = "dasmos.ext.renderers.json:Renderer"
68
69
 
69
70
  [project.entry-points."dasmos.environment"]
@@ -107,7 +108,7 @@ dev = [
107
108
  ]
108
109
 
109
110
  [tool.bumpversion]
110
- current_version = "2.0.0"
111
+ current_version = "3.0.0"
111
112
  parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)"
112
113
  serialize = ["{major}.{minor}.{patch}"]
113
114
  tag = true
@@ -4,7 +4,7 @@ The top-level package re-exports the public API. Consumers should import
4
4
  from :mod:`dasmos` rather than reaching into sub-modules.
5
5
  """
6
6
 
7
- __version__ = "2.0.0"
7
+ __version__ = "3.0.0"
8
8
 
9
9
  from dasmos.core.annotations import Align, Annotation, AnnotationStore, Banner, Comment
10
10
  from dasmos.core.format_hint import FormatHint