summaryrefslogtreecommitdiff
path: root/development/obcpl/README
blob: 4a9996cef2862d8c602c44e6ed6a5804bd23b1c3 (plain)
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
obcpl (BCPL compiler)

This is an x86 (IA-32) port of the "classic" old BCPL compiler (around
1980) from the Tripos Research Group at Cambridge University.

As a real, working computer language implementation, that can be
studied, modified, and played with, this old BCPL compiler has a good
deal to recommend it. The compiler frontend consists of only about
2000 lines of BCPL code, and (as supplied here) compiles to a static
(fully-linked) x86 binary that is less than 36000 bytes in size.

x86_64 note: obcpl doesn't require multilib on Slackware64. It only
generates 32-bit x86 code, but the binaries it creates are 100%
statically linked, and will run fine on Slackware64 without multlib.

The package includes:

- The BCPL compiler itself (/usr/bin/obcpl and the support files in
  /usr/lib(64)?/obcpl)
- The utilities:
  - obcpl-cmpltest: compiler test
  - obcpl-gpm: macro generator
  - obcpl-xref: cross referencer
- The sources for the utilities
- Example code (Hello World and a factorial calculator)
- The obcpl documentation, including manual.txt and standard.txt

See also:

https://en.wikipedia.org/wiki/BCPL
https://www.cl.cam.ac.uk/~mr10/bcplman.pdf