mirror of
https://github.com/michaelcmartin/Ophis.git
synced 2025-01-01 23:29:49 +00:00
Rework code structure and metadata to be setuptools-friendly
This commit is contained in:
parent
c0307c7ea4
commit
94d0b9d0c4
19
LICENSE
Normal file
19
LICENSE
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
Ophis, Copyright (C) 2002-2024 Michael Martin and contributors
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.
|
7
MANIFEST.in
Normal file
7
MANIFEST.in
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
include tests/*.oph
|
||||||
|
include tests/*.bin
|
||||||
|
include tests/*.py
|
||||||
|
include tests/sub/*.oph
|
||||||
|
include tests/sub/sub/*.oph
|
||||||
|
graft examples
|
||||||
|
graft platform
|
2
README
2
README
@ -11,7 +11,7 @@ It is provided under the MIT license, reproduced below:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
Ophis, Copyright (C) 2002-2014 Michael Martin and contributors
|
Ophis, Copyright (C) 2002-2024 Michael Martin and contributors
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
29
pyproject.toml
Normal file
29
pyproject.toml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
[build-system]
|
||||||
|
requires = ["setuptools"]
|
||||||
|
build-backend = "setuptools.build_meta"
|
||||||
|
|
||||||
|
[project]
|
||||||
|
name = "ophis-asm"
|
||||||
|
version = "2.2.0"
|
||||||
|
authors = [
|
||||||
|
{ name="Michael Martin", email="mcmartin@gmail.com" },
|
||||||
|
]
|
||||||
|
description = "A cross-assembler for the 6502 series of chips"
|
||||||
|
readme = "README"
|
||||||
|
requires-python = ">=3.6"
|
||||||
|
classifiers = [
|
||||||
|
"Programming Language :: Python :: 3",
|
||||||
|
"License :: OSI Approved :: MIT License",
|
||||||
|
"Operating System :: OS Independent",
|
||||||
|
"Development Status :: 5 - Production/Stable",
|
||||||
|
"Environment :: Console",
|
||||||
|
"Intended Audience :: Developers",
|
||||||
|
"Topic :: Software Development :: Assemblers"
|
||||||
|
]
|
||||||
|
dependencies = []
|
||||||
|
|
||||||
|
[project.scripts]
|
||||||
|
ophis = "Ophis:ophis_argv"
|
||||||
|
|
||||||
|
[tool.setuptools.package-dir]
|
||||||
|
Ophis = "src/Ophis"
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
import optparse
|
import optparse
|
||||||
|
|
||||||
# Copyright 2002-2014 Michael C. Martin and additional contributors.
|
# Copyright 2002-2024 Michael C. Martin and additional contributors.
|
||||||
# You may use, modify, and distribute this file under the MIT
|
# You may use, modify, and distribute this file under the MIT
|
||||||
# license: See README for details.
|
# license: See README for details.
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
Provides the core assembler directives."""
|
Provides the core assembler directives."""
|
||||||
|
|
||||||
# Copyright 2002-2014 Michael C. Martin and additional contributors.
|
# Copyright 2002-2024 Michael C. Martin and additional contributors.
|
||||||
# You may use, modify, and distribute this file under the MIT
|
# You may use, modify, and distribute this file under the MIT
|
||||||
# license: See README for details.
|
# license: See README for details.
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
Implements the symbol lookup, through nested environments -
|
Implements the symbol lookup, through nested environments -
|
||||||
any non-temporary variable is stored at the top level."""
|
any non-temporary variable is stored at the top level."""
|
||||||
|
|
||||||
# Copyright 2002-2014 Michael C. Martin and additional contributors.
|
# Copyright 2002-2024 Michael C. Martin and additional contributors.
|
||||||
# You may use, modify, and distribute this file under the MIT
|
# You may use, modify, and distribute this file under the MIT
|
||||||
# license: See README for details.
|
# license: See README for details.
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
Keeps track of the number of errors inflicted so far, and
|
Keeps track of the number of errors inflicted so far, and
|
||||||
where in the assembly the errors are occurring."""
|
where in the assembly the errors are occurring."""
|
||||||
|
|
||||||
# Copyright 2002-2014 Michael C. Martin and additional contributors.
|
# Copyright 2002-2024 Michael C. Martin and additional contributors.
|
||||||
# You may use, modify, and distribute this file under the MIT
|
# You may use, modify, and distribute this file under the MIT
|
||||||
# license: See README for details.
|
# license: See README for details.
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ import sys
|
|||||||
import os
|
import os
|
||||||
import os.path
|
import os.path
|
||||||
|
|
||||||
# Copyright 2002-2014 Michael C. Martin and additional contributors.
|
# Copyright 2002-2024 Michael C. Martin and additional contributors.
|
||||||
# You may use, modify, and distribute this file under the MIT
|
# You may use, modify, and distribute this file under the MIT
|
||||||
# license: See README for details.
|
# license: See README for details.
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
Classes for representing the Intermediate nodes upon which the
|
Classes for representing the Intermediate nodes upon which the
|
||||||
assembler passes operate."""
|
assembler passes operate."""
|
||||||
|
|
||||||
# Copyright 2002-2014 Michael C. Martin and additional contributors.
|
# Copyright 2002-2024 Michael C. Martin and additional contributors.
|
||||||
# You may use, modify, and distribute this file under the MIT
|
# You may use, modify, and distribute this file under the MIT
|
||||||
# license: See README for details.
|
# license: See README for details.
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
traditional to mix binary with reconstructed instructions that
|
traditional to mix binary with reconstructed instructions that
|
||||||
have all arguments precomputed. This class manages that."""
|
have all arguments precomputed. This class manages that."""
|
||||||
|
|
||||||
# Copyright 2002-2014 Michael C. Martin and additional contributors.
|
# Copyright 2002-2024 Michael C. Martin and additional contributors.
|
||||||
# You may use, modify, and distribute this file under the MIT
|
# You may use, modify, and distribute this file under the MIT
|
||||||
# license: See README for details.
|
# license: See README for details.
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
set via .alias commands and prevented from escaping
|
set via .alias commands and prevented from escaping
|
||||||
with .scope and .scend commands."""
|
with .scope and .scend commands."""
|
||||||
|
|
||||||
# Copyright 2002-2014 Michael C. Martin and additional contributors.
|
# Copyright 2002-2024 Michael C. Martin and additional contributors.
|
||||||
# You may use, modify, and distribute this file under the MIT
|
# You may use, modify, and distribute this file under the MIT
|
||||||
# license: See README for details.
|
# license: See README for details.
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
When invoked as main, interprets its command line and goes from there.
|
When invoked as main, interprets its command line and goes from there.
|
||||||
Otherwise, use run_ophis(cmdline-list) to use it inside a script."""
|
Otherwise, use run_ophis(cmdline-list) to use it inside a script."""
|
||||||
|
|
||||||
# Copyright 2002-2014 Michael C. Martin and additional contributors.
|
# Copyright 2002-2024 Michael C. Martin and additional contributors.
|
||||||
# You may use, modify, and distribute this file under the MIT
|
# You may use, modify, and distribute this file under the MIT
|
||||||
# license: See README for details.
|
# license: See README for details.
|
||||||
|
|
||||||
@ -109,7 +109,3 @@ def run_ophis(args):
|
|||||||
|
|
||||||
Ophis.CorePragmas.reset()
|
Ophis.CorePragmas.reset()
|
||||||
return run_all()
|
return run_all()
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
sys.exit(run_ophis(sys.argv[1:]))
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
Tables for the assembly of 6502-family instructions, mapping
|
Tables for the assembly of 6502-family instructions, mapping
|
||||||
opcodes and addressing modes to binary instructions."""
|
opcodes and addressing modes to binary instructions."""
|
||||||
|
|
||||||
# Copyright 2002-2014 Michael C. Martin and additional contributors.
|
# Copyright 2002-2024 Michael C. Martin and additional contributors.
|
||||||
# You may use, modify, and distribute this file under the MIT
|
# You may use, modify, and distribute this file under the MIT
|
||||||
# license: See README for details.
|
# license: See README for details.
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
very extensible; additional analyses or optimizations may be
|
very extensible; additional analyses or optimizations may be
|
||||||
added as new subclasses of Pass."""
|
added as new subclasses of Pass."""
|
||||||
|
|
||||||
# Copyright 2002-2014 Michael C. Martin and additional contributors.
|
# Copyright 2002-2024 Michael C. Martin and additional contributors.
|
||||||
# You may use, modify, and distribute this file under the MIT
|
# You may use, modify, and distribute this file under the MIT
|
||||||
# license: See README for details.
|
# license: See README for details.
|
||||||
|
|
||||||
|
@ -1,5 +1,11 @@
|
|||||||
"Ophis - a cross-assembler for the 6502 series of chips"
|
"Ophis - a cross-assembler for the 6502 series of chips"
|
||||||
|
|
||||||
# Copyright 2002-2014 Michael C. Martin and additional contributors.
|
# Copyright 2002-2024 Michael C. Martin and additional contributors.
|
||||||
# You may use, modify, and distribute this file under the MIT
|
# You may use, modify, and distribute this file under the MIT
|
||||||
# license: See README for details.
|
# license: See README for details.
|
||||||
|
|
||||||
|
import sys
|
||||||
|
import Ophis.Main
|
||||||
|
|
||||||
|
def ophis_argv():
|
||||||
|
sys.exit(Ophis.Main.run_ophis(sys.argv[1:]))
|
||||||
|
16
src/setup.py
16
src/setup.py
@ -1,16 +0,0 @@
|
|||||||
from distutils.core import setup
|
|
||||||
setup(name='Ophis',
|
|
||||||
version='2.1',
|
|
||||||
description='A cross-assembler for the 6502 series of processors',
|
|
||||||
url='https://github.com/michaelcmartin/Ophis',
|
|
||||||
author="Michael Martin",
|
|
||||||
author_email="mcmartin@gmail.com",
|
|
||||||
license="MIT",
|
|
||||||
long_description="Ophis is a cross-assembler for the 65xx series of "
|
|
||||||
"chips. It supports the stock 6502 opcodes, the 65c02 "
|
|
||||||
"extensions, and syntax for the \"undocumented "
|
|
||||||
"opcodes\" in the 6510 chip used on the Commodore 64. "
|
|
||||||
"(Syntax for these opcodes matches those given in the "
|
|
||||||
"VICE team's documentation.)",
|
|
||||||
packages=['Ophis'],
|
|
||||||
scripts=['scripts/ophis'])
|
|
@ -8,7 +8,7 @@ prologue = '"""' + """Opcodes file.
|
|||||||
Tables for the assembly of 6502-family instructions, mapping
|
Tables for the assembly of 6502-family instructions, mapping
|
||||||
opcodes and addressing modes to binary instructions.""" + '"""' + """
|
opcodes and addressing modes to binary instructions.""" + '"""' + """
|
||||||
|
|
||||||
# Copyright 2002-2014 Michael C. Martin and additional contributors.
|
# Copyright 2002-2024 Michael C. Martin and additional contributors.
|
||||||
# You may use, modify, and distribute this file under the MIT
|
# You may use, modify, and distribute this file under the MIT
|
||||||
# license: See README for details.
|
# license: See README for details.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user