-
Notifications
You must be signed in to change notification settings - Fork 138
/
README
88 lines (66 loc) · 2.49 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
DESCRIPTION
-----------
This is a Befunge interpreter written in PIR.
This interpreter should be Befunge-93 compliant. This means the
playfield is limited to 80x25. This should also mean that the torus
can hold *only bytes* (that is, you can't store/fetch numbers greater
than 255 or less than 0), but actually I do not check for over /
underflow - for now.
You should compile and test the files with:
$ make test
Then you can run your Befunge program with:
$ ../../../parrot befunge.pbc [-d] foo.bef
The -d flag enables debugging within the befunge interpreter (not yet
fully implemented, this is a work in progress). Type 'help' in the
debugger to see the commands supported.
FILES
-----
The files are the following:
befunge.pir the main loop
debug.pir routines for the debugger
flow.pir handles the flow-control instructions
io.pir handles the i/o related instructions
load.pir function to load the code from source file
maths.pir handles all the maths instructions
stack.pir handles the stack instructions
Makefile a little Makefile generated by config/makefiles/root.in
Configure.pl regenerate Makefile
test.bef a befunge script that test almost all the
instructions (and is even self-modifying!)
pascserp.bef a befunge script generating variant of Sierpinsky
triangle (by Chris Pressey)
t/harness the test harness script
t/basic.t test test.bef
BUGS
----
* pascserp.bef output is not correct (right bottom part of image is just
noise)
TODO
----
* more error checking
* better rand() methods
* more tests (with Perl and Test::Harness)
* debugging options (work in progress)
* implement Befunge 98
AUTHOR
------
Jerome Quelin, <jquelin@cpan.org>
ACKNOWLEDGEMENTS
----------------
I would like to thank:
* Chris Pressey, creator of Befunge, who gave a whole new dimension to
both coding and obfuscating.
* Leon Brocard and Rafael Garcia-Suarez, for giving me this crazy
idea.
* Leon Brocard (again), because he told me he will help me with the
Befunge-98 version :o)
* Dan Sugalski and all the parrot folks (you know who you are) for
providing such a nice toy to play with.
COPYRIGHT
---------
This program is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
SEE ALSO
--------
* http://www.parrot.org
* http://www.catseye.mb.ca/esoteric/befunge/