Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jwodder/psych
Brainf*ck interpreter
https://github.com/jwodder/psych
Last synced: 20 days ago
JSON representation
Brainf*ck interpreter
- Host: GitHub
- URL: https://github.com/jwodder/psych
- Owner: jwodder
- License: gpl-3.0
- Created: 2009-09-28T21:25:58.000Z (about 15 years ago)
- Default Branch: master
- Last Pushed: 2015-12-18T21:55:47.000Z (almost 9 years ago)
- Last Synced: 2023-04-09T18:38:19.676Z (over 1 year ago)
- Language: Groff
- Homepage:
- Size: 55.7 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.txt
- License: COPYING
Awesome Lists containing this project
README
=== Psych - v.1.0.1 - README.txt ===
1. ABOUT
Psych is yet another interpreter for Urban Müller's Brainfuck programming
language. Besides the standard features, Psych allows resizing of the data
array at runtime, noncanonical input for `,', output in the form of numbers
rather than characters, output of a portion of the data array on program
termination, and running code passed via the command line. You can even use
the -h switch to print out a short summary of the Brainfuck commands if, say,
you just can't remember which is the input command & which is the output.Psych was written by John T. Wodder II and is
licensed under the GNU GPL, version 3.0 or later. The source repository for
Psych can be found on Github at .2. FILE LIST
COPYING - the GNU GPL v.3, under which Psych is licensed
Makefile - the makefile
README.txt - this file
psych.1 - the Psych manpage
psych.c - the source code for Psych
psych.pod - the Plain Old Documentation source for the manpage3. COMPILING
In order to compile Psych properly, you will need a standard C compiler that is
at least partially C99-compliant (the Makefile assumes gcc) along with some
POSIX features (specifically, the getopt() function and, if you want
noncanonical input, the routines).There are three features of the program that are designed to be easily
reconfigurable at compile time. The default size for the data array can be set
by redefining the ARRAY_SIZE macro on line 20, and the datatype of the array
cells can be set on line 21. Additionally, if your machine does not have the
routines, or if you simply want to disable the option of
noncanonical input, comment out or delete the definition of ALLOW_TERMIOS on
line 19.To build the program, simply run `make' or `make psych' (the only difference is
that the former will also remake the manpage if the POD source has been
updated). Note that, unlike fancier open source projects, there is no `make
install'; you'll have to move the executable & manpage to their destination
directories by hand.4. VERSION HISTORY
2014 Mar 12 - v.1.1:
- Version history started
- Added -n switch
- Eliminated -i switch; its behavior is now always in effect
- The -a and -p switches now support hexadecimal & octal arguments and handle
invalid arguments better.
- If the -p switch is given an argument greater than the size of the data
array, it will be clamped to the size of the array.