Skip to content

Commit

Permalink
Rename from SMite to Mit (fix #149)
Browse files Browse the repository at this point in the history
Note that the URLs of the projects have not yet been changed.
  • Loading branch information
rrthomas committed May 7, 2019
1 parent ed39bf3 commit 64fadcb
Show file tree
Hide file tree
Showing 86 changed files with 668 additions and 667 deletions.
2 changes: 1 addition & 1 deletion .gitignore
@@ -1,6 +1,6 @@
*~
/.gitmodules
/smite*.tar.gz
/mit*.tar.gz
Makefile
Makefile.in
TAGS
Expand Down
2 changes: 1 addition & 1 deletion .travis.yml
Expand Up @@ -54,7 +54,7 @@ matrix:
- ENDISM=1
- WORD_BYTES=8
- env:
- CPPFLAGS="-DSMITE_INSTRUCTION_BIT=6"
- CPPFLAGS="-DMIT_INSTRUCTION_BIT=6"


before_install:
Expand Down
4 changes: 2 additions & 2 deletions AUTHORS
@@ -1,3 +1,3 @@
The authors of SMite:
The authors of Mit:

* Reuben Thomas <rrt@sc3d.org> designed and implemented SMite.
* Reuben Thomas <rrt@sc3d.org> designed and implemented Mit.
2 changes: 1 addition & 1 deletion COPYING
@@ -1,4 +1,4 @@
Copyright (c) 1994-2019 SMite Authors
Copyright (c) 1994-2019 Mit Authors

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
Expand Down
2 changes: 1 addition & 1 deletion HACKING.md
@@ -1,4 +1,4 @@
# SMite: Information for maintainers
# Mit: Information for maintainers

See `README.md` for instructions on building from git.

Expand Down
2 changes: 1 addition & 1 deletion Makefile.am
@@ -1,6 +1,6 @@
# Top-level Makefile.am
#
# (c) SMite authors 2011-2018
# (c) Mit authors 2011-2018
#
# The package is distributed under the MIT/X11 License.
#
Expand Down
50 changes: 25 additions & 25 deletions README.md
@@ -1,31 +1,31 @@
# SMite
# Mit

by Reuben Thomas <rrt@sc3d.org>
https://github.com/rrthomas/smite
https://github.com/rrthomas/mit

SMite is a simple virtual machine designed for study and experiment. It uses
Mit is a simple virtual machine designed for study and experiment. It uses
a byte-stream code designed for efficient execution which is binary portable
between implementations. It has been implemented in C for POSIX systems.
SMite is designed to be embedded in other programs; Python 3 bindings are
Mit is designed to be embedded in other programs; Python 3 bindings are
provided that demonstrate this ability and provide a convenient REPL and
debugger. In the C implementation, all memory references are bounds checked.
An I/O library is implemented; access to native code routines is also
possible, allowing SMite and C programs to call each other.
possible, allowing Mit and C programs to call each other.

This package comprises the definition of the SMite virtual machine and an
This package comprises the definition of the Mit virtual machine and an
implementation in ISO C99 using POSIX APIs.

The package is distributed under the MIT/X11 License (see the file
`COPYING`). Note that some files are in the public domain, notably the
specification of SMite; they are marked as such.
specification of Mit; they are marked as such.

THIS PROGRAM IS PROVIDED AS IS, WITH NO WARRANTY. USE IS AT THE USER’S
RISK.


## Compatibility

SMite should work on any POSIX-1.2001-compatible system. SMite has been
Mit should work on any POSIX-1.2001-compatible system. Mit has been
tested on x86_64 GNU/Linux with GNU C.

Reports on compatibility, whether positive or negative, are welcomed.
Expand All @@ -36,7 +36,7 @@ Reports on compatibility, whether positive or negative, are welcomed.
Perl and help2man are required to build from source. For building from git,
see below.

To build SMite from a release tarball, run
To build Mit from a release tarball, run

`./configure && make && make check`

Expand All @@ -48,7 +48,7 @@ For the bibliographies in the documentation to be built correctly, GNU Make
should be used.


### Building SMite from git
### Building Mit from git

The GNU autotools are required: automake, autoconf and libtool.
[Gnulib](https://www.gnu.org/software/gnulib/) is also used, with a
Expand All @@ -64,51 +64,51 @@ PDFs are supplied in release archives.

## Use

Run `smite OBJECT-FILE` (see `smite --help` for documentation). To run the
shell, `smite-shell`.
Run `mit OBJECT-FILE` (see `mit --help` for documentation). To run the
shell, `mit-shell`.


## C API

Include `smite/smite.h` (see this file for its documentation), and link with
`libsmite`. In addition, `smite/opcodes.h` contains an enumeration type of
SMite’s instruction set.
Include `mit/mit.h` (see this file for its documentation), and link with
`libmit`. In addition, `mit/opcodes.h` contains an enumeration type of
Mit’s instruction set.


## Documentation

The documentation consists of:

* _[The SMite Virtual Machine](doc/smite.pdf)_
The design of the SMite virtual machine is described. Essential reading
* _[The Mit Virtual Machine](doc/mit.pdf)_
The design of the Mit virtual machine is described. Essential reading
for those programming or implementing the VM.
* The comments in `smite.h`.
* The comments in `mit.h`.
* Comments in the Python modules.
* `HACKING.md` contains further information for maintainers.

SMite is based on [Beetle](https://github.com/rrthomas/beetle), which I
Mit is based on [Beetle](https://github.com/rrthomas/beetle), which I
developed for my BA dissertation project.


## pForth

[pForth](https://github.com/rrthomas/pforth) is an ANSI Forth compiler that
targets SMite.
targets Mit.


## Running SMite object files
## Running Mit object files

The C implementation of SMite allows a hash-bang line to be prepended to an
The C implementation of Mit allows a hash-bang line to be prepended to an
object file, so that they can be run directly. A suggested line is:

```
#!/usr/bin/env smite
#!/usr/bin/env mit
```

A magic file for the file(1) command is also provided: smite.magic.
A magic file for the file(1) command is also provided: mit.magic.


## Bugs and comments

Please send bug reports (preferably as [GitHub issues](https://github.com/rrthomas/smite/issues))
Please send bug reports (preferably as [GitHub issues](https://github.com/rrthomas/mit/issues))
and comments. I’m especially interested to know of portability bugs.
2 changes: 1 addition & 1 deletion TODO
@@ -1,4 +1,4 @@
See GitHub issues: https://github.com/rrthomas/smite/issues/
See GitHub issues: https://github.com/rrthomas/mit/issues/

To support object files of the other endism, have a per-memory-area flag that indicates that word loads and stores must be reversed.

Expand Down
12 changes: 6 additions & 6 deletions bootstrap.conf
@@ -1,6 +1,6 @@
# bootstrap.conf (smite) version 2019-05-01
# bootstrap.conf (mit) version 2019-05-01

# (c) SMite authors 1995-2019
# (c) Mit authors 1995-2019
#
# The package is distributed under the MIT/X11 License.
#
Expand Down Expand Up @@ -64,13 +64,13 @@ gnulib_modules='
## Hook functions. ##
## --------------- ##

# smite_ignore_gnulib_ignore
# mit_ignore_gnulib_ignore
# ----------------------------
# gnulib-tool updates m4/.gitignore and lib/.gitignore, and keeping
# generated files under version control does not make sense. Since
# lib is entirely ignored, we only need to prepopulate the m4 ignore
# files with generated files not tracked by gnulib-tool.
smite_ignore_gnulib_ignore ()
mit_ignore_gnulib_ignore ()
{
$debug_cmd

Expand All @@ -88,14 +88,14 @@ smite_ignore_gnulib_ignore ()
EOF
fi
}
func_add_hook func_prep smite_ignore_gnulib_ignore
func_add_hook func_prep mit_ignore_gnulib_ignore


# Local variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-functions 'time-stamp)
# time-stamp-start: "# bootstrap.conf (smite) version "
# time-stamp-start: "# bootstrap.conf (mit) version "
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "$"
# End:
24 changes: 12 additions & 12 deletions configure.ac
@@ -1,14 +1,14 @@
# configure.ac for SMite
# configure.ac for Mit
# Process this file with autoconf to produce a configure script

# (c) SMite authors 2011-2019
# (c) Mit authors 2011-2019
#
# The package is distributed under the MIT/X11 License.
#
# THIS PROGRAM IS PROVIDED AS IS, WITH NO WARRANTY. USE IS AT THE USER’S
# RISK.

AC_INIT(SMite, 0.1, rrt@sc3d.org)
AC_INIT(Mit, 0.1, rrt@sc3d.org)
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects])
package_upper=`echo ${PACKAGE} | tr '[[:lower:]]' '[[:upper:]]'`
Expand Down Expand Up @@ -135,17 +135,17 @@ AC_CONFIG_FILES([
Makefile
lib/Makefile
src/Makefile
src/include/smite/smite.h
src/feature/30-specializer/smite/specializer.h
src/smite-include.man
src/include/mit/mit.h
src/feature/30-specializer/mit/specializer.h
src/mit-include.man
tests/Makefile
python/Makefile
python/smite/binding.py
python/smite-dump.1
python/smite-shell.1
python/mit/binding.py
python/mit-dump.1
python/mit-shell.1
doc/Makefile
doc/smite.tex
doc/mit.tex
])
AC_CONFIG_FILES([python/smite-dump], [chmod +x python/smite-dump])
AC_CONFIG_FILES([python/smite-shell], [chmod +x python/smite-shell])
AC_CONFIG_FILES([python/mit-dump], [chmod +x python/mit-dump])
AC_CONFIG_FILES([python/mit-shell], [chmod +x python/mit-shell])
AC_OUTPUT
4 changes: 2 additions & 2 deletions doc/.gitignore
Expand Up @@ -6,6 +6,6 @@
*.log
*.out
*.synctex.gz
/smite.tex
/csmite.tex
/mit.tex
/cmit.tex
/primes
2 changes: 1 addition & 1 deletion doc/Makefile.am
@@ -1,6 +1,6 @@
# Docs Makefile.am
#
# (c) SMite authors 2011-2019
# (c) Mit authors 2011-2019
#
# The package is distributed under the MIT/X11 License.
#
Expand Down
2 changes: 1 addition & 1 deletion doc/bibtex
Submodule bibtex updated 1 files
+3 −15 bib/rrt.bib
Binary file renamed doc/smite.pdf → doc/mit.pdf
Binary file not shown.
4 changes: 2 additions & 2 deletions doc/smite.tex.in → doc/mit.tex.in
Expand Up @@ -68,7 +68,7 @@ stated. Addresses are written in hexadecimal; hex numbers are prefixed with

\section{Introduction}

@PACKAGE_NAME@ is a simple virtual machine for study and experiment. It is a stack machine, based on the more complex register machine~\cite{mite0}.
@PACKAGE_NAME@ is a simple virtual machine for study and experiment. It is a stack machine, based on the more complex register machine Mite~\cite{mite0}.
This paper gives a full description of @PACKAGE_NAME@.

@PACKAGE_NAME@ is conceptually (and usually in fact) a library, embedded in other programs; it supports a simple object module format.
Expand Down Expand Up @@ -433,7 +433,7 @@ Table~\ref{opcodetable} lists the instruction opcodes in numerical order. Other
\label{object}

The object module starts with the ASCII codes of the letters
``@PACKAGE@'' followed by ASCII NUL (0x00), then the one-byte values of
``@PACKAGE@'', followed by three zero bytes, then the one-byte values of
the {\tt ENDISM} and {\tt WORD\_BYTES} registers of the system which saved the module, then a word (of the given endianness and size) containing the number of bytes the code occupies. Then follows the code.

Object modules have a simple structure, as they are only intended for loading an
Expand Down
10 changes: 10 additions & 0 deletions mit.magic
@@ -0,0 +1,10 @@
#------------------------------------------------------------------------------
# $File: mit,v 1.2 2018/02/05 23:42:17 rrt Exp $
# mit: file(1) magic for Mit VM object files
# https://github.com/rrthomas/mit/
# (c) Reuben Thomas 2019.
# This file is in the public domain.

# Mit object module
0 search/64 MIT\000 Mit VM object file
!:strength + 50
20 changes: 10 additions & 10 deletions python/.gitignore
@@ -1,10 +1,10 @@
/smite/__pycache__
/smite/binding.py
/smite-dump
/smite-[bl]e-[248]-dump
/smite-*dump.1
/smite-[bl]e-[248]-dump.1
/smite-*shell
/smite-[bl]e-[248]-shell
/smite-*shell.1
/smite-[bl]e-[248]-shell.1
/mit/__pycache__
/mit/binding.py
/mit-dump
/mit-[bl]e-[248]-dump
/mit-*dump.1
/mit-[bl]e-[248]-dump.1
/mit-*shell
/mit-[bl]e-[248]-shell
/mit-*shell.1
/mit-[bl]e-[248]-shell.1
8 changes: 4 additions & 4 deletions python/Makefile.am
@@ -1,6 +1,6 @@
# Python bindings Makefile.am
#
# (c) SMite authors 2019
# (c) Mit authors 2019
#
# The package is distributed under the MIT/X11 License.
#
Expand All @@ -9,15 +9,15 @@

bin_SCRIPTS = @PACKAGE@@PACKAGE_SUFFIX@-dump @PACKAGE@@PACKAGE_SUFFIX@-shell
man_MANS = @PACKAGE@@PACKAGE_SUFFIX@-dump.1 @PACKAGE@@PACKAGE_SUFFIX@-shell.1
smite_pkgpythondir = $(pkgpythondir)@PACKAGE_SUFFIX@
smite_pkgpython_PYTHON = \
mit_pkgpythondir = $(pkgpythondir)@PACKAGE_SUFFIX@
mit_pkgpython_PYTHON = \
@PACKAGE@/__init__.py \
@PACKAGE@/__main__.py \
@PACKAGE@/assembler.py \
@PACKAGE@/vm_data.py \
@PACKAGE@/ext.py \
@PACKAGE@/instruction.py
nodist_smite_pkgpython_PYTHON = @PACKAGE@/binding.py
nodist_mit_pkgpython_PYTHON = @PACKAGE@/binding.py

all-local: @PACKAGE@/binding.py

Expand Down
2 changes: 1 addition & 1 deletion python/smite-dump.1.in → python/mit-dump.1.in
Expand Up @@ -11,7 +11,7 @@ Dump the given file, typically \fIfoo.obj\fR, as hex (\fIfoo.hex\fR) and disasse
.SH "REPORTING BUGS"
Report bugs to rrt@sc3d.org.
.SH "COPYRIGHT"
\(co SMite authors 1995\-2019
\(co Mit authors 1995\-2019
.br
@PACKAGE_NAME@ comes with ABSOLUTELY NO WARRANTY.
.br
Expand Down
2 changes: 1 addition & 1 deletion python/smite-dump.in → python/mit-dump.in
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
# Dump @PACKAGE_NAME@ object file as hex and disassembly
# (c) SMite authors 2018-2019
# (c) Mit authors 2018-2019
# This file is in the public domain.

import sys
Expand Down
4 changes: 2 additions & 2 deletions python/smite-shell.1.in → python/mit-shell.1.in
Expand Up @@ -5,13 +5,13 @@
.B @PACKAGE@-shell@PACKAGE_SUFFIX@
.SH DESCRIPTION
Run @PACKAGE_NAME@@PACKAGE_SUFFIX@ in a Python REPL, with debugging facilities and
convenient access to the @PACKAGE_NAME@ SMite.
convenient access to the @PACKAGE_NAME@ Mit.
.SH "SEE ALSO"
.BR @PACKAGE@@PACKAGE_SUFFIX@ (1)
.SH "REPORTING BUGS"
Report bugs to rrt@sc3d.org.
.SH "COPYRIGHT"
\(co SMite authors 2019
\(co Mit authors 2019
.br
@PACKAGE_NAME@ comes with ABSOLUTELY NO WARRANTY.
.br
Expand Down
File renamed without changes.

0 comments on commit 64fadcb

Please sign in to comment.